Difference between revisions of "Python tools for use with GEOS-Chem"
(→Core Python packages for Earth Science data) |
|||
(35 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | On this page, we provide information about Python-language tools for visualizing or | + | __FORCETOC__ |
+ | '''''[[GEOS-Chem_diagnostic_output_files|Previous]] | [[GEOS-Chem_coding_and_debugging|Next]] | [[Getting Started with GEOS-Chem]]''''' | ||
+ | #[[Minimum system requirements for GEOS-Chem|Minimum system requirements (and software installation)]] | ||
+ | #[[Configuring your computational environment]] | ||
+ | #[[Downloading GEOS-Chem source code|Downloading source code]] | ||
+ | #[[Downloading GEOS-Chem data directories|Downloading data directories]] | ||
+ | #[[Creating GEOS-Chem run directories|Creating run directories]] | ||
+ | #[[GEOS-Chem input files|Configuring runs]] | ||
+ | #[[Compiling GEOS-Chem|Compiling]] | ||
+ | #[[Running GEOS-Chem|Running]] | ||
+ | #[[GEOS-Chem output files|Output files]] | ||
+ | #<span style="color:blue">'''Python tools for use with GEOS-Chem'''</span> | ||
+ | #[[GEOS-Chem_coding_and_debugging|Coding and debugging]] | ||
+ | #[[GEOS-Chem_overview#Further_reading|Further reading]] | ||
+ | |||
+ | |||
+ | On this page, we provide information about free and open-source Python-language tools for visualizing or analyzing GEOS-Chem data. | ||
== GCPy == | == GCPy == | ||
− | The GEOS-Chem Support Team | + | The GEOS-Chem Support Team develops [https://github.com/geoschem/gcpy '''GCPy'''], which is a Python-based toolkit containing useful functions and routines for working with GEOS-Chem. GCPy builds upon the well-established scientific python technical stack, leveraging tools like cartopy and xarray to simplify the task of working with model output and performing atmospheric chemistry analyses. GCPy features several plotting and tabling functions, and also supports regridding GEOS-Chem NetCDF files between the grid formats used in GEOS-Chem Classic and GCHP. |
− | + | Full GCPy documentation is available at [https://gcpy.readthedocs.io/en/latest/ '''gcpy.readthedocs.io''']. | |
− | == Third-party tools == | + | == Third-party Python tools == |
Several third-party Python packages have been developed for GEOS-Chem. If you are interested in using any of these, we recommend that you follow up with the developers directly. The [[GEOS-Chem Support Team]] is not responsible for maintaining these tools. | Several third-party Python packages have been developed for GEOS-Chem. If you are interested in using any of these, we recommend that you follow up with the developers directly. The [[GEOS-Chem Support Team]] is not responsible for maintaining these tools. | ||
Line 18: | Line 34: | ||
|-valign="top" | |-valign="top" | ||
− | |Jiawei Zhuang | + | |Jiawei Zhuang<br>(since taken over by Pangeo) |
|[https://xesmf.readthedocs.io/en/latest/why.html xESMF]: A universal regridder. Leverages ESMF's regridding capabilities to easily regrid data between lon-lat and cubed-sphere grids. Other grids are supported as well. | |[https://xesmf.readthedocs.io/en/latest/why.html xESMF]: A universal regridder. Leverages ESMF's regridding capabilities to easily regrid data between lon-lat and cubed-sphere grids. Other grids are supported as well. | ||
− | |[https://github.com/JiaweiZhuang/xESMF Available on | + | |[https://github.com/JiaweiZhuang/xESMF Available on Github] |
|-valign="top" | |-valign="top" | ||
|[[User:darothen|Daniel Rothenberg]] | |[[User:darothen|Daniel Rothenberg]] | ||
− | |[ | + | |[https://xbpch.readthedocs.io/en/latest/ xbpch]: Backend for reading bpch output into [http://xarray.pydata.org xarray]/[http://dask.pydata.org dask] |
− | |[https://github.com/darothen/xbpch Available on | + | |[https://github.com/darothen/xbpch Available on Github] |
|-valign="top" | |-valign="top" | ||
Line 32: | Line 48: | ||
#[[#PseudoNetCDF|PseudoNetCDF]]: a NetCDF like system including visualization (maps, profiles, timeseries, etc) | #[[#PseudoNetCDF|PseudoNetCDF]]: a NetCDF like system including visualization (maps, profiles, timeseries, etc) | ||
#[[#Process analysis diagnostics|Process analysis diagnostics]]: A tool for examining the change in each species due to each process and reaction. | #[[#Process analysis diagnostics|Process analysis diagnostics]]: A tool for examining the change in each species due to each process and reaction. | ||
− | |[https://github.com/barronh/pseudonetcdf Available on github] | + | |[https://github.com/barronh/pseudonetcdf Available on Github] |
+ | |||
+ | |-valign="top" | ||
+ | |[https://github.com/frodre Andre Perkins] | ||
+ | |[https://github.com/frodre/pyEnsemble pyEnsemble]: This code is useful for running ensembles of GEOS-Chem adjoint model simulations within an MPI environment. | ||
+ | |[https://github.com/frodre/pyEnsemble Available on Github] | ||
|} | |} | ||
Line 38: | Line 59: | ||
== Core Python packages for Earth Science data == | == Core Python packages for Earth Science data == | ||
− | For the most part, you don't need to use a lot of Python packages to read and plot GEOS-Chem data. For example, GCPy package mostly relies on the following packages, which can be downloaded with either PyPI and/or Conda. | + | For the most part, you don't need to use a lot of Python packages to read and plot GEOS-Chem data. For example, the [[#GCPy|GCPy]] package mostly relies on the following packages, which can be downloaded with either PyPI and/or Conda. |
*[http://xarray.pydata.org/en/stable/ xarray]: For reading netCDF, HDF5, GRIB, etc. data into a common data structure for later manipulation | *[http://xarray.pydata.org/en/stable/ xarray]: For reading netCDF, HDF5, GRIB, etc. data into a common data structure for later manipulation | ||
Line 47: | Line 68: | ||
*[https://pandas.pydata.org/ pandas]: For spreadsheet-like data analysis | *[https://pandas.pydata.org/ pandas]: For spreadsheet-like data analysis | ||
− | + | == Python tutorials and resources == | |
− | + | If you are new to Python, we strongly recommend that you take our [https://github.com/geoschem/GEOSChem-python-tutorial '''GEOS-Chem Python Tutorial''']. It will walk you though the steps of creating sample plots from GEOS-Chem output: | |
− | + | ||
− | If you are new to Python, we strongly recommend that you take our [https://github.com/geoschem/GEOSChem-python-tutorial GEOS-Chem Python Tutorial]. It will walk you though the steps of creating sample plots from GEOS-Chem output: | + | |
You may also find these resources useful: | You may also find these resources useful: | ||
Line 58: | Line 77: | ||
*[https://developers.google.com/edu/python/ Google's Python course] | *[https://developers.google.com/edu/python/ Google's Python course] | ||
*[http://docs.python.org/3/tutorial/ Python 3 tutorial] | *[http://docs.python.org/3/tutorial/ Python 3 tutorial] | ||
+ | *[https://www.geeksforgeeks.org/python-programming-language/ GeeksForGeeks Python page] | ||
*[http://wiki.python.org/moin/BeginnersGuide/Programmers PythonWiki.org: List of tutorials and resources] | *[http://wiki.python.org/moin/BeginnersGuide/Programmers PythonWiki.org: List of tutorials and resources] | ||
*[https://developers.google.com/edu/python/ Google's Python tutorial] | *[https://developers.google.com/edu/python/ Google's Python tutorial] | ||
− | --[[ | + | |
+ | ---- | ||
+ | '''''[[GEOS-Chem_diagnostic_output_files|Previous]] | [[GEOS-Chem_coding_and_debugging|Next]] | [[Getting Started with GEOS-Chem]]''''' |
Latest revision as of 15:27, 4 August 2022
Previous | Next | Getting Started with GEOS-Chem
- Minimum system requirements (and software installation)
- Configuring your computational environment
- Downloading source code
- Downloading data directories
- Creating run directories
- Configuring runs
- Compiling
- Running
- Output files
- Python tools for use with GEOS-Chem
- Coding and debugging
- Further reading
On this page, we provide information about free and open-source Python-language tools for visualizing or analyzing GEOS-Chem data.
Contents
GCPy
The GEOS-Chem Support Team develops GCPy, which is a Python-based toolkit containing useful functions and routines for working with GEOS-Chem. GCPy builds upon the well-established scientific python technical stack, leveraging tools like cartopy and xarray to simplify the task of working with model output and performing atmospheric chemistry analyses. GCPy features several plotting and tabling functions, and also supports regridding GEOS-Chem NetCDF files between the grid formats used in GEOS-Chem Classic and GCHP.
Full GCPy documentation is available at gcpy.readthedocs.io.
Third-party Python tools
Several third-party Python packages have been developed for GEOS-Chem. If you are interested in using any of these, we recommend that you follow up with the developers directly. The GEOS-Chem Support Team is not responsible for maintaining these tools.
Developer | Packages/Description | Status |
---|---|---|
Jiawei Zhuang (since taken over by Pangeo) |
xESMF: A universal regridder. Leverages ESMF's regridding capabilities to easily regrid data between lon-lat and cubed-sphere grids. Other grids are supported as well. | Available on Github |
Daniel Rothenberg | xbpch: Backend for reading bpch output into xarray/dask | Available on Github |
Barron Henderson | Several software packages, including:
|
Available on Github |
Andre Perkins | pyEnsemble: This code is useful for running ensembles of GEOS-Chem adjoint model simulations within an MPI environment. | Available on Github |
Core Python packages for Earth Science data
For the most part, you don't need to use a lot of Python packages to read and plot GEOS-Chem data. For example, the GCPy package mostly relies on the following packages, which can be downloaded with either PyPI and/or Conda.
- xarray: For reading netCDF, HDF5, GRIB, etc. data into a common data structure for later manipulation
- matplotlib: For general plotting operations
- cartopy: For plotting data on world maps
- numpy: For math operations
- xESMF: For regrididdng between cubed-sphere to lat-lon grids
- pandas: For spreadsheet-like data analysis
Python tutorials and resources
If you are new to Python, we strongly recommend that you take our GEOS-Chem Python Tutorial. It will walk you though the steps of creating sample plots from GEOS-Chem output:
You may also find these resources useful:
- Python.org: Main site for all things Python
- Google's Python course
- Python 3 tutorial
- GeeksForGeeks Python page
- PythonWiki.org: List of tutorials and resources
- Google's Python tutorial