GEOS-Chem Classic
This site provides instructions for GEOS-Chem Classic, the single-node mode of operation of the GEOS-Chem model. We provide instruction for downloading and compiling GEOS-Chem Classic, plus its required software libraries.
Note
If you would like to run GEOS-Chem on more than one node of a computing system, consider using GEOS-Chem High Performance (GCHP).
GEOS-Chem is a global 3-D model of atmospheric composition driven by assimilated meteorological observations from the Goddard Earth Observing System (GEOS) of the NASA Global Modeling and Assimilation Office. It is applied by research groups around the world to a wide range of atmospheric composition problems.
Cloning and building from source code ensures you will have direct access to the latest available versions of GEOS-Chem Classic, provides additional compile-time options, and allows you to make your own modifications to GEOS-Chem Classic source code.
Getting Started
GEOS-Chem Classic User Guide
GEOS-Chem Simulations
Supplemental guides
- GEOS-Chem Classic folder tree
- Sample GEOS-Chem run scripts
- Load software into your environment
- Build required software with Spack
- Customize simulations with research options
- Understand what error messages mean
- Where does error output get printed?
- Compile-time errors
- Run-time errors
- Excessive fall velocity error
- Floating invalid or floating-point exception error
- Forced exit from Rosenbrock
- GEOS-Chem Classic simulation failed after TPCORE initialization
- HEMCO Error: Cannot find field
- HEMCO Error: Cannot find file for current simulation time
- HEMCO Error: Cannot get field PS_NEXTDAY
- HEMCO ERROR: Not enough time slices: BC_<species-name>
- HEMCO Error: Time stamps may be wrong
- HEMCO Run Error
- Integrator error code: -5, STOP at INTEGRATE_KPP
- libnetcdff.so.7: cannot open shared object file: No such file or directory
- Negative tracer found in WETDEP
- Permission denied error
- File I/O errors
- Segmentation faults and similar errors
- Less commmon errors
- Debug GEOS-Chem and HEMCO errors
- Check if a solution has been posted to Github
- Check if your computational environment is configured properly
- Check any code modifications that you have added
- Check if your runs exceeded time or memory limits
- Send debug printout to the log files
- Look at the traceback output
- Identify whether the error happens consistently
- Isolate the error to a particular operation
- Compile with debugging options
- Use a debugger
- Print it out if you are in doubt!
- Use the brute-force method when all else fails
- Identify poorly-performing code with a profiler
- Manage a data archive with bashdatacatalog
- Archive output with the History diagnostics
- Introduction
- Diagnostic collections
- AdvFluxVert
- AerosolMass
- Aerosols
- BoundaryConditions
- Budget
- Carbon
- CH4
- CloudConvFlux
- CO
- CO2
- ConcAboveSfc
- ConcAfterChem
- DryDep
- JValues
- KppARDiags
- KppDiags
- LevelEdgeDiags
- MercuryChem
- MercuryEmis
- MercuryOcean
- Metrics
- ProdLoss
- RadioNuclide
- Restart
- RRTMG
- RxnConst
- RxnRates
- SatDiagn
- SatDiagnEdge
- SpeciesConc
- StateChm
- StateMet
- StratBM
- Tomas
- UVFlux
- WetLossConv
- WetLossLS
- Adding new History diagnostics
- Work with netCDF files
- Useful tools
- Examine the contents of a netCDF file
- Read the contents of a netCDF file
- Determining if a netCDF file is COARDS-compliant
- Edit variables and attributes
- Concatenate netCDF files
- Regrid netCDF files
- Crop netCDF files
- Add a new variable to a netCDF file
- Chunk and deflate a netCDF file to improve I/O
- Prepare COARDS-compliant netCDF files
- View GEOS-Chem species properties
- Parallelize GEOS-Chem and HEMCO source code
- Overview of OpenMP parallelization
- Example using OpenMP directives
- Environment variable settings for OpenMP
- OpenMP parallelization FAQ
- How can I tell what should go into the !$OMP PRIVATE clause?
- Why do the !$OMP statements begin with a comment character?
- Do subroutine variables have to be declared PRIVATE?
- What does the THREADPRIVATE statement do?
- Can I use pointers within an OpenMP parallel loop?
- How many cores may I use for GEOS-Chem or HEMCO?
- Why is GEOS-Chem is not using all the cores I requested?
- MPI parallelization
- Run nested-grid simulations
- Run a global simulation to create boundary conditions
- Set up your nested grid run directory
- Frequently asked questions
- Can I run nested GEOS-Chem simulations on the AWS cloud?
- Can I save out boundary conditions for more than one nested grid in the same global run?
- How can I find which data are available for nested grid simulations?
- Where can I find out more info about nested grid errors?
- I noticed abnormal concentrations at boundaries of the nested region. Is that normal?
- Update chemical mechanisms with KPP
- Use the KPP-Standalone box model to test chemical mechanisms
- View related documentation