Difference between revisions of "Python tools for use with GEOS-Chem"

From Geos-chem
Jump to: navigation, search
(GCPy)
(Third-party Python tools)
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
__FORCETOC__
 
__FORCETOC__
'''''[[Guide to visualization and analysis tools for GEOS-Chem|Previous]] | [[Other tools for visualizing and analyzing GEOS-Chem output|Next]] | [[Getting Started with GEOS-Chem]]'''''
+
'''''[[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]]
 
#[[Minimum system requirements for GEOS-Chem|Minimum system requirements]]
 +
#[[Installing required software]]
 
#[[Configuring your computational environment]]
 
#[[Configuring your computational environment]]
 
#[[Downloading GEOS-Chem source code|Downloading source code]]
 
#[[Downloading GEOS-Chem source code|Downloading source code]]
Line 10: Line 11:
 
#[[Running GEOS-Chem|Running]]
 
#[[Running GEOS-Chem|Running]]
 
#[[GEOS-Chem output files|Output files]]
 
#[[GEOS-Chem output files|Output files]]
#[[Guide to visualization and analysis tools for GEOS-Chem|Visualizing and processing output]]
+
#<span style="color:blue">'''Python tools for use with GEOS-Chem'''</span>
#*<span style="color:blue">'''Python tools'''</span>
+
#*[[Other tools for visualizing and analyzing GEOS-Chem output|Other tools]]
+
#*[[Visualization and analysis examples|Examples]]
+
 
#[[GEOS-Chem_coding_and_debugging|Coding and debugging]]
 
#[[GEOS-Chem_coding_and_debugging|Coding and debugging]]
 
#[[GEOS-Chem_overview#Further_reading|Further reading]]
 
#[[GEOS-Chem_overview#Further_reading|Further reading]]
Line 22: Line 20:
 
== GCPy ==
 
== GCPy ==
  
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 is meant to update and replace the IDL-based GAMAP utilityWhile not a complete re-write of the GAMAP IDL pacakage, GCPy aims to build on 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.
+
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 [https://gcpy.readthedocs.io/en/latest/ on ReadTheDocs].
+
Full GCPy documentation is available at [https://gcpy.readthedocs.io/en/latest/ '''gcpy.readthedocs.io'''].
 
+
The [[GEOS-Chem Support Team]] continues to add new features and functionality to GCPy. Details on contributing to GCPy can be found on the ReadTheDocs site.
+
  
 
== Third-party Python tools ==
 
== Third-party Python tools ==
Line 39: Line 35:
  
 
|-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 Github]
 
|[https://github.com/JiaweiZhuang/xESMF Available on Github]
Line 72: Line 68:
 
*[https://xesmf.readthedocs.io/en/latest/ xESMF]: For regrididdng between cubed-sphere to lat-lon grids
 
*[https://xesmf.readthedocs.io/en/latest/ xESMF]: For regrididdng between cubed-sphere to lat-lon grids
 
*[https://pandas.pydata.org/ pandas]: For spreadsheet-like data analysis
 
*[https://pandas.pydata.org/ pandas]: For spreadsheet-like data analysis
 
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 16:15, 14 June 2019 (UTC)
 
  
 
== Python tutorials and resources ==
 
== Python tutorials and resources ==
Line 87: Line 81:
 
*[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]
 
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 16:21, 14 June 2019 (UTC)
 
  
  
 
----
 
----
'''''[[Guide to visualization and analysis tools for GEOS-Chem|Previous]] | [[Other tools for visualizing and analyzing GEOS-Chem output|Next]] | [[Getting Started with GEOS-Chem]]'''''
+
'''''[[GEOS-Chem_diagnostic_output_files|Previous]] | [[GEOS-Chem_coding_and_debugging|Next]] | [[Getting Started with GEOS-Chem]]'''''

Latest revision as of 17:00, 31 August 2021

Previous | Next | Getting Started with GEOS-Chem

  1. Minimum system requirements
  2. Installing required software
  3. Configuring your computational environment
  4. Downloading source code
  5. Downloading data directories
  6. Creating run directories
  7. Configuring runs
  8. Compiling
  9. Running
  10. Output files
  11. Python tools for use with GEOS-Chem
  12. Coding and debugging
  13. Further reading


On this page, we provide information about free and open-source Python-language tools for visualizing or analyzing GEOS-Chem data.

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:
  1. PseudoNetCDF: a NetCDF like system including visualization (maps, profiles, timeseries, etc)
  2. Process analysis diagnostics: A tool for examining the change in each species due to each process and reaction.
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:



Previous | Next | Getting Started with GEOS-Chem