Comments (7)
@xylar I'm glad to report: your fix conda-forge/cdms2-feedstock#87 works, and thanks for adding a check for testing conda-forge/cdms2-feedstock#89.
With esmfy correctly imported by cdms, the regriding behavior gets back to normal.
from e3sm_diags.
After some troubleshooting, it ruled out change in cartopy
as the cause. Looking at the intermediate files being saved, data already missing half after regridding. It suggests regriding with changes in cdms/esmf
is the cause. I tried to roll back to older version/builds of cdms and esmf, but ran into numpy
, alias deprecation problems. Pinning for old version is not ideal for coordinating with e3sm-unified
. For a immediate solution, it might make sense to convert longitude from [-180, 180) to [0, 360) online or offline for input dateset being impacted to work around this problem.
from e3sm_diags.
Found an old cdms issue pointing out the same behavior.
CDAT/cdms#371
I'm following the approach suggested in this post to wrap the longitude with [0,360), since cdms somehow failed to do it upon open datasets.
from e3sm_diags.
The regriding step also produce warning as follows:
/global/cfs/cdirs/e3sm/zhang40/conda_envs/edv290_numpy/lib/python3.10/site-packages/cdms2/avariable.py:1289: Warning:
avariable.regrid: regridTool = 'esmf' but your version does not
seems to be built with esmf, will switch to regridTool = 'libcf'
warnings.warn(message, Warning)
It seems cdms is not properly built with esmf. Not sure if this is relevant to the regriding issue here.
from e3sm_diags.
@chengzhuzhang, I'm going to see if conda-forge/cdms2-feedstock#87 fixes this. I patched the imports in cdms2 to hopefully bring in esmpy
, since the package has been renamed since v8.4.0 from ESMF
to esmpy
.
from e3sm_diags.
@chengzhuzhang, could you add a test somewhere in E3SM diags where you test for ESMFRegrid
? It could just be as simple as:
from regrid2 import ESMFRegrid
but you might want to have a try/except ImportError
where you give an explanation about this meaning that an incompatible version of cdsm2
is installed that is not able to import ESMPy.
Such an error would tell us right away that there's a problem, rather than noticing it only when plots are half missing.
from e3sm_diags.
Great suggestion. I think it makes sense to add it as one of the CI/CD tests.
from e3sm_diags.
Related Issues (20)
- Add 2m specific humidity and 10m wind speed to lat-lon maps.
- `e3sm_diags.drivers.utils.climo` is not designed for `"SEASONALCYCLE"` or `"ANNUALCYCLE"` HOT 1
- Refine of 4 yaml files in `conda-env` HOT 4
- Replace Anaconda badges on README using conda-forge channel
- [Refactor]: Replace `imp` module references due to planned removal in Python 3.12 HOT 1
- Add GitHub issues and pull request templates
- Unify extents of colorbars in comparison plots HOT 1
- [Bug]: `IndexError` when reversing decreasing `lev` coordinates in `hybrid_to_plevs()` and `pressure_to_plevs()`
- Enhanced aerosol budget tables for AWG HOT 1
- Add mixed phase partition plot based on simulator output and obs
- Feature request: Include reanalysis with Pre-Industrial period coverage
- Explore refactoring of `acme.py` for readability and simplicity
- QBO mvm generation bug? HOT 3
- concurrent.futures.process.BrokenProcessPool testing e3sm_unified rc12 on Perlmutter HOT 29
- [Bug]: Regridding time-series variable's climatology from hybrid to pressure levels breaks due to misaligned axes HOT 2
- Season selector not working for zonal_mean_2d_stratosphere
- Replace climatology implementation to use xCDAT
- QBO diags to interpolate hybrid level data to pressure levels
- Add ability to run on subset of variables with just the Python script HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from e3sm_diags.