-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automatically select a lazy regridding scheme in regrid
preprocessor function for 2D lat/2D lon grids when possible
#2405
Comments
Could you provide some more details on that image, to help me understand the issue?
|
It happens to models that have OceanGridFix applied to them. The generated bounds work fine to regrid with the non-lazy regridders, but for some reason when you call the lazy AreaWeighted scheme, this happens. You can check with the recipe below for instance: documentation:
title: test regrid
description: |
Test regrid
authors:
- loosveldt-tomas_saskia
datasets:
- {dataset: FGOALS-g3, ensemble: r1i1p1f1, exp: historical, project: CMIP6, grid: gn, timerange: 1951/1951}
preprocessors:
pp:
regrid:
target_grid: 1.5x1.5
scheme:
reference: esmf_regrid.schemes:ESMFAreaWeighted
diagnostics:
test_regrid:
variables:
tos:
mip: Omon
preprocessor: pp
scripts: null
|
An overview of regridding a 2D ocean variable (sea surface temperature) for most models in CMIP6 to a 1x1 grid is available here and with xesmf here. Created with the debug-regrid branch which keeps going when a regridding error occurs and adds a bit of info. A first inspection reveals the following issues:
|
@sloosvel I tried the recipe, but am getting poor results with all available regridders. Did I miss something? |
You are right, I don't know why I was under the impression it worked for the non-lazy schemes. |
Through iris-esmf-regrid and the generic regridding schemes, it is possible to regrid grids with 2D latitude and 2D longitude coordinates lazily. However, these regridding schemes are not automatically selected and instead the non-lazy ESMPyLinear/ESMPyNearest/ESMPyAreaWeighted built-in schemes are selected. This results in poor computational performance by default.
@schlunma @sloosvel Do you think it would be possible to improve the default so we prefer lazy schemes and automatically select those when possible?
The text was updated successfully, but these errors were encountered: