Skip to content

Add mesh fix for CMIP6 ICON-ESM-LR conservative regridding#3090

Open
alioacar wants to merge 1 commit into
ESMValGroup:mainfrom
alioacar:fix-icon-esm
Open

Add mesh fix for CMIP6 ICON-ESM-LR conservative regridding#3090
alioacar wants to merge 1 commit into
ESMValGroup:mainfrom
alioacar:fix-icon-esm

Conversation

@alioacar
Copy link
Copy Markdown

@alioacar alioacar commented May 27, 2026

Description

Closes #3055

This PR fixes conservative regridding for CMIP6 ICON-ESM-LR data on its native unstructured grid. Some ICON-ESM-LR variables provide 1D latitude and longitude auxiliary coordinates with polygon bounds. When these variables are used with an ESMF conservative regridding scheme, esmf_regrid treats the source grid as a rectilinear grid and fails.

This follows the same principle as the native ICON fix: avoid Iris MeshXY.from_coords because it would create duplicate mesh nodes from shared polygon vertices. CMIP6 ICON-ESM-LR data do not provide the ICON vertex_of_cell connectivity, so the connectivity is reconstructed from the latitude and longitude polygon bounds instead.

I tested this with a reduced model only version of ref/recipe_ref_cre.yml

Model only test recipe
documentation:
  title: ICON-ESM-LR cloud radiative effect regrid test
  description: >
    Reduced model-only version of ref/recipe_ref_cre.yml for testing
    conservative regridding of derived ICON-ESM-LR cloud radiative effects.
  authors:
    - bock_lisa
    - lauer_axel
  maintainer:
    - bock_lisa

datasets:
  - project: CMIP6
    activity: CMIP
    dataset: ICON-ESM-LR
    ensemble: r1i1p1f1
    institute: MPI-M
    exp: historical
    grid: gn
    mip: Amon

preprocessors:
  full_climatology:
    climate_statistics:
      period: full
    regrid:
      target_grid: 1x1
      scheme:
        reference: esmf_regrid.schemes:ESMFAreaWeighted
  zonal_mean:
    climate_statistics:
      period: full
    regrid:
      scheme:
        reference: esmf_regrid.schemes:ESMFAreaWeighted
      target_grid: 1x1
    zonal_statistics:
      operator: mean

diagnostics:
  plot_maps:
    description: Plot ICON-ESM-LR lwcre and swcre climatology maps.
    variables:
      lwcre:
        timerange: 1996/1996
        mip: Amon
        preprocessor: full_climatology
        derive: true
      swcre:
        timerange: 1996/1996
        mip: Amon
        preprocessor: full_climatology
        derive: true
    scripts:
      plot:
        script: monitor/multi_datasets.py
        plot_folder: "{plot_dir}"
        plot_filename: "{plot_type}_{real_name}_{dataset}_{mip}"
        plots:
          map:
            common_cbar: true
            x_pos_stats_avg: -0.1
            fontsize: 10

  plot_profiles:
    description: Plot ICON-ESM-LR lwcre and swcre zonal means.
    variables:
      lwcre:
        timerange: 1996/1996
        mip: Amon
        preprocessor: zonal_mean
        derive: true
      swcre:
        timerange: 1996/1996
        mip: Amon
        preprocessor: zonal_mean
        derive: true
    scripts:
      plot:
        script: monitor/multi_datasets.py
        plot_folder: "{plot_dir}"
        plot_filename: "{plot_type}_{real_name}_{dataset}_{mip}"
        plots:
          variable_vs_lat:
            legend_kwargs:
              loc: upper right

Link to documentation:


Before you get started

Checklist

It is the responsibility of the author to make sure the pull request is ready to review. The icons indicate whether the item will be subject to the 🛠 Technical or 🧪 Scientific review.


To help with the number pull requests:

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented May 27, 2026

CLA assistant check
All committers have signed the CLA.

@alioacar alioacar marked this pull request as ready for review May 29, 2026 13:52
@alioacar alioacar marked this pull request as draft May 29, 2026 13:54
@alioacar alioacar marked this pull request as ready for review May 29, 2026 13:55
@schlunma
Copy link
Copy Markdown
Contributor

schlunma commented Jun 1, 2026

Thanks @alioacar for your contribution, this looks really nice! I will take a look at this after my vacation by the end of June. Hope that works for you!

@alioacar
Copy link
Copy Markdown
Author

alioacar commented Jun 1, 2026

Sure @schlunma, enjoy your vacation! 😊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Conservative regridding fails for CMIP6 ICON-ESM-LR data in recipe ref/recipe_ref_cre.yml

3 participants