Comments (7)
Another issue which seems to be there is that xESMF, actually our preferred option, does not have support for unstructured grids so that it can't be used for gaussian reduced grids pangeo-data/xESMF#115
from ecmean4.
New commit 4dd03ca introduces also xr_performance_indices.py
and solves a few issues identified in the past.
Positive aspects:
- Also performance indices code is 3x faster, even without dask.
- Horizontal Interpolation is carried out with xESMF, which supports the NEMO curvilinear grid.
- Vertical interpolation can be done natively with Xarray.
- Metpy handles units also for axis simplifying pressure level conversion
Negative aspects:
- Interpolating the gaussian reduced is a bit of pain, and a two step interpolation expanding the reduced to the regular needs to be carried out.
- Area and vertical averages needs precomputed weights, which has to be done manually.
- Xarray is extremely picky in file formats. This has to be formatted in a common way otherwise it gets mad at mixing grids. The current solution is filled with ad-hoc correction which are not suited for a code generalization.
Overall, a lot of work needs to be done to make it more general. The dictionary used to transfer the mask and remap weights need to be restructured. Also climatology files needs to be fixed in a better way.
from ecmean4.
Commit 4b2ec64:
- automatic adjustment of climatological files
- support for EC22 climatology (missing siconc)
Once fixed the siconc issues (with NaN resulting from variance 0 in EC22) we need to test it against CMIP files. It might be required to write a "cmorizator" of the lon/lat/time/lev names so that we have a common standard for dimensions. so fare it is quite weird, having lon,lat,time_counter and pressure_levels (derived from the names of EC-Earth4).
from ecmean4.
Commit 1924f49:
- fixing issue with 0 variance in EC22
- refactoring of the supporting functions into a single
xr_ecmean.py
file, also duplicating useful functions from older CDO basedecmean.py
.
from ecmean4.
Commit e9a126b and previous:
- Support for CMIP6 data in
xr_global_mean.py
, tested on a set of models. - Fixing a bug in CMIP6 interface file (see #41)
- Extending the options for the
area_cell
function (but still a many possibilities not covered)
It turns out that dask shows some conflict with the multiprocessing package which needs to be investigated. This can lead to weird freeze of the running code, or even abrupt crash. A decent solution is to set no parallelization in open_mfdataset
call via
import dask
dask.config.set(scheduler="synchronous")
from ecmean4.
Commit 862ddff and previous:
- Support for
xr_performance_indices.py
, teste on a few models - Introducing a
xr_preproc()
function to harmonized metadata in cmor-like (lon,lat,plev) structure.
The new version thus ready to create a draft pull request: I will document missing features, especially regarding a necessary harmonization of area weights and interpolation
from ecmean4.
This can be closed following the merge of the pull request
from ecmean4.
Related Issues (20)
- ECmean4 not running with python 3.11 HOT 3
- Including sea ice area in global mean HOT 2
- Refactor of global mean HOT 5
- Correct the parsing of the global_mean() and performance_indices()
- Interpolation with CDO to replace xESMF HOT 3
- Non-cmor variables HOT 2
- Revisiting the file-handling functions HOT 1
- Revisiting the `component` and its files in the interface YAML files HOT 1
- Coherence and alignment of `global_mean` and `performance_indices` HOT 1
- global mean with no standard deviation does not show up in the figure HOT 1
- Coverage is not considering the call to `subprocess.run()`
- variables that cannot be processed HOT 1
- Installing from PyPI causes dependency errors HOT 8
- oceanic mask HOT 1
- Midlat regions are misleading
- Global Mean for `tas`: CRU data does not include Antarctica
- Evaporation has a flipped sign in EC-Earth4 data
- Coverage is changing results and taking foreever
- Matplotlib 3.8.0 and seaborn 1.12.2 does not plot annotations in heatmap HOT 1
- Slow down of the `performance_indices` due to `xesmf>=0.8` version 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 ecmean4.