This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other:python:jyp_steps [2023/12/15 14:53] jypeter Moved cdms2 below xarray |
other:python:jyp_steps [2023/12/15 15:56] jypeter Reorganized the NetCDF section |
||
---|---|---|---|
Line 165: | Line 165: | ||
===== Using NetCDF files with Python ===== | ===== Using NetCDF files with Python ===== | ||
- | <note tip>People using CMIPn and model data on the IPSL servers can easily search and process NetCDF files using: | ||
- | * the [[https://climaf.readthedocs.io/|Climate Model Assessment Framework (CliMAF)]] environment | ||
- | * and the [[https://github.com/jservonnat/C-ESM-EP/wiki|CliMAF Earth System Evaluation Platform (C-ESM-EP)]] | ||
- | </note> | ||
- | * There is a good chance that your input array data will be stored in a [[other:newppl:starting#netcdf_and_related_conventions|NetCDF]] file. | + | ==== What is NetCDF? ==== |
+ | |||
+ | * If you are working with climate model output data, there is a good chance that your input array data will be stored in a NetCDF file! | ||
+ | |||
+ | * Read the [[other:newppl:starting#netcdf_and_related_conventions|NetCDF and related Conventions]] for more information | ||
* There may be different ways of dealing with NetCDF files, depending on which [[other:python:starting#some_python_distributions|python distribution]] you have access to | * There may be different ways of dealing with NetCDF files, depending on which [[other:python:starting#some_python_distributions|python distribution]] you have access to | ||
+ | |||
+ | |||
+ | ==== CliMAF and C-ESM-EP ==== | ||
+ | |||
+ | People using **//CMIPn// and model data on the IPSL servers** can easily search and process NetCDF files using: | ||
+ | |||
+ | * the [[https://climaf.readthedocs.io/|Climate Model Assessment Framework (CliMAF)]] environment | ||
+ | |||
+ | * and the [[https://github.com/jservonnat/C-ESM-EP/wiki|CliMAF Earth System Evaluation Platform (C-ESM-EP)]] | ||
+ | |||
==== xarray ==== | ==== xarray ==== | ||
- | Summary: [[https://docs.xarray.dev/|xarray]] makes working with labelled multi-dimensional arrays in Python simple, efficient, and fun! [...] It is particularly tailored to working with netCDF files | + | [[https://docs.xarray.dev/|xarray]] makes working with labelled multi-dimensional arrays in Python simple, efficient, and fun! [...] It is particularly tailored to working with netCDF files |
=== Some xarray related resources === | === Some xarray related resources === | ||
Line 189: | Line 199: | ||
* [[https://uxarray.readthedocs.io/|uxarray]]: provide xarray styled functionality for unstructured grid datasets following [[https://ugrid-conventions.github.io/ugrid-conventions/|UGRID Conventions]] | * [[https://uxarray.readthedocs.io/|uxarray]]: provide xarray styled functionality for unstructured grid datasets following [[https://ugrid-conventions.github.io/ugrid-conventions/|UGRID Conventions]] | ||
+ | |||
+ | |||
+ | ==== netCDF4 ==== | ||
+ | |||
+ | [[http://unidata.github.io/netcdf4-python/|netCDF4]] is a Python interface to the netCDF C library | ||
==== cdms2 ==== | ==== cdms2 ==== | ||
- | <note important>''cdms2'' is unfortunately not maintained anymore and is slowly being **phased out in favor of a combination of [[#xarray|xarray]] and [[https://xcdat.readthedocs.io/|xCDAT]]**</note> | + | <note important> |
+ | * ''cdms2'' is unfortunately not maintained anymore and is slowly being **phased out in favor of a combination of [[#xarray|xarray]] and [[https://xcdat.readthedocs.io/|xCDAT]]** | ||
- | Summary: cdms2 can read/write netCDF files (and read //grads// dat+ctl files) and provides a higher level interface than netCDF4. cdms2 is available in the [[other:python:starting#cdat|CDAT distribution]], and can theoretically be installed independently of CDAT (e.g. it will be installed when you install [[https://cmor.llnl.gov/mydoc_cmor3_conda/|CMOR in conda)]]. When you can use cdms2, you also have access to //cdtime//, that is very useful for handling time axis data. | + | * ''cdms2'' will [[https://github.com/CDAT/cdms/issues/449|not be compatible with numpy after numpy 1.23.5]] :-( |
+ | </note> | ||
+ | |||
+ | [[https://cdms.readthedocs.io/en/docstanya/|cdms2]] can read/write netCDF files (and read //grads// dat+ctl files) and provides a higher level interface than netCDF4. ''cdms2'' is available in the [[other:python:starting#cdat|CDAT distribution]], and can theoretically be installed independently of CDAT (e.g. it will be installed when you install [[https://cmor.llnl.gov/mydoc_cmor3_conda/|CMOR in conda)]]. When you can use cdms2, you also have access to //cdtime//, that is very useful for handling time axis data. | ||
How to get started: | How to get started: | ||
Line 203: | Line 222: | ||
- read the [[http://cdms.readthedocs.io/en/docstanya/index.html|official cdms documentation]] (link may change) | - read the [[http://cdms.readthedocs.io/en/docstanya/index.html|official cdms documentation]] (link may change) | ||
- | |||
- | ==== netCDF4 ==== | ||
- | |||
- | Summary: //netCDF4 can read/write netCDF files and is available in most python distributions// | ||
- | |||
- | Where: [[http://unidata.github.io/netcdf4-python/]] | ||
===== CDAT-related resources ===== | ===== CDAT-related resources ===== |