Geos Chem Versions Save

GEOS-Chem "Science Codebase" repository. Contains GEOS-Chem science routines, run directory generation scripts, and interface code. This repository is used as a submodule within the GCClassic and GCHP wrappers, as well as in other modeling contexts (external ESMs).

14.3.1

1 month ago

Release date: 02 Apr 2024 DOI

From CHANGELOG.md

  • Added operational run scripts for the Imperial College London (ICL) cluster
  • Added new vertical region option to budget diagnostic for fixed bottom and top levels
  • Added GEOS-IT processed lat-lon fields as a valid option when creating GCHP run directories
  • Functions charArr2str and str2CharArr in Headers/charpak_mod.F90
  • Field State_Diag%Obspack_CharArray as a 2-D character array
  • Added util folder in run/CESM to include .cdl file used to generate CESM NetCDF input file for deposition
  • Add GCClassic operational example environment files for Harvard Cannon
  • Added new GCHP history collections for advection diagnostics
  • Added slash in front of names of LUT files read into photolysis_mod.F90 to avoid needing it in path

Changed

  • Updated Harvard Cannon operational run scripts to use huce_cascade instead of huce_intel; also added sapphire
  • Changed exponent 'e' to 'd' for one entry in KPP to prevent precision error in external models
  • Changed GCHP sample run scripts to not print script execution commands to log
  • Changed offline emissions grid resolution templates in config files to be more descriptive
  • Read obspack_id from netCDF files into a character array, then convert to string
  • Add #SBATCH -c 1 to GCHP integration test scripts and sample run scripts for Harvard Cannon
  • In GCC/GCHP integration tests, passing -s none will run compile-only tests. Query user to proceed or to exit.
  • GCC/GCHP integration tests will exit immediately if scheduler is omitted.
  • Now use raw instead of native in GCHP run directory scripts & templates
  • Rename env var RUNDIR_METLIGHTNING_DIR_NATIVE to RUNDIR_METLIGHTNING_DIR
  • Rename env var RUNDIR_METLIGHTNING_NATIVE_RES to RUNDIR_METLIGHTNING_RES
  • Updated config files used in CESM from GEOS-Chem 14.1 to 14.3
  • Don't create run directories for integration/parallel tests if invoked with -t compile
  • Refactor integration and parallel test scripts to reduce the number of input arguments
  • Copy utility scripts that allow you to resubmit failed to integration and parallel test root directories
  • Update GCHP operational example environment files for Harvard Cannon
  • Do not run GCClassic integration test compile jobs in the background
  • Updated integration tests to pass quick option to compile scripts
  • Removed emissions handling from global_ch4_mod.F90 and carbon_gases_mod.F90 and instead apply scale factors to emissions directly in HEMCO_Config.rc
  • Loop over advected species CH4 chemistry routines to allow for multiple CH4 tracers within analytical inversion framework
  • Updated CH4 global anthropogenic emission inventory from EDGARv7 to EDGARv8

Fixed

  • Fixed unit conversions in GEOS-only code
  • Fixed GEOS-IT native lat-lon filenames used for clusters other than discover
  • Fixed offline emission paths set when using GEOS-IT meteorology
  • Fixed format issue in input_mod RRTMG print statement caught by some compilers
  • Fixed GEOS-IT SLP and TROPP scaling in pre-processed files used in GCHP
  • Fixed reading of NEI emissions through HEMCO
  • Fixed incorrect units metadata for State_Met%PHIS
  • Fixed bug in transport tracer ST80 mask criteria which prevented mask from ever being zero

Removed

  • Removed MPI broadcasts in CESM-only photolysis code; will read on all cores
  • Removed State_Chm%CH4_EMIS

Pull requests included

Full Changelog: https://github.com/geoschem/geos-chem/compare/14.3.0...14.3.1

14.3.0

3 months ago

Release date: 09 Feb 2024 DOI

From CHANGELOG.md

Added

  • Added capability for TOMAS simulations in GCHP
  • Added State_Chm%nTomasBins to replace hardcoded bins in TOMAS diagnostics
  • Added interface to Cloud-J package for computing photolysis rates
  • Added compile-time option FASTJX to use legacy Fast-JX photolysis instead of Cloud-J
  • Added new diagnostics OD600 and TCOD600 for 600 nm optical depths (per-level and total column) used for computing J-values in either Fast-JX or Cloud-J
  • Added GEOS-IT as meteorology option and labeled as beta during run directory creation until full inventory and offline emissions are available.
  • Added support for running GEOS-Chem on the NASA discover cluster
  • Added inclusion of c30 restart file in GCHP run directories since c24 and c48 not supported when using GEOS-IT meteorology
  • Added automatic updating of GCHP lightning climatology in ExtData.rc based on settings in HEMCO_Config.rc
  • Added two new diagnostics to track number of negative concentrations after first and last KPP integration
  • Added capability of running GEOS-Chem transport tracer simulation within the GEOS model
  • Added radiative forcing contributions due to trop-only ozone, CFCs, water vapor, N2O, CO2 and changes in stratosphere to RRTMG
  • Added computation of radiative forcing at the tropopause to RRTMG
  • Added option to compute stratospherically-adjusted radiative forcing at the tropopause using RK4 time marching integration with fixed dynamical heating approximation (FDH)
  • Added experimental option to apply seasonally-evolving fixed dyanmical heating approximation in RRTMG

Changed

  • Updated fullchem mechanism following JPL/IUPAC. See KPP/fullchem/CHANGELOG_fullchem.md for details.
  • Reorganized GCHP run directory creation prompts for GEOS-FP native meteorology input
  • Converted TOMAS bpch diagnostics to netCDF
  • Now read the Hg restart file from ExtData/GEOSCHEM_RESTARTS/v2023-12
  • Increse requested time limits in GCHP integration tests (compile 2h30m, run 5h)
  • Changed CO2 concentration used in RRTMG to be modifiable in geoschem_config.yml
  • Changed water vapor used in RRTMG to match to tracer field at all altitudes
  • Updated restart file path for GCHP TOMAS simulations
  • Look for fullchem restarts in the GEOSCHEM_RESTARTS/GC_14.3.0 folder
  • Look for fullchem/aerosol boundary conditions in the HEMCO/SAMPLE_BCs/GC_14.3.0/fullchem folder

Fixed

  • Fixed bug in stratospheric aerosols optical depths passed to Fast-JX
  • Restored consideration of both isSnow and isIce in dry deposition
  • Fixed calculation of FRLAND_NOSNO_NOICE in calc_met_mod.F90
  • Added missing units in comments of KPP/fullchem/commonIncludeVars.H
  • Use run directory (not absolute path) to determine the executable file name in integration & parallel tests.
  • Fixed memory leaks in State_Chm%AerMass and State_Chm%Phot containers
  • Fixed incorrect time-avaging in RRTMG diagnostics wheres zeros included prior to first RRTMG call

Removed

  • Removed references to unused met-fields RADLWG and LWGNT
  • Removed inclusion of c360 restart file in GCHP run directories
  • Reduced timers saved out to essential list used for benchmarking model performance

See the GEOS-Chem 14.3.0 page for a complete list of updates.

Pull Requests Included

New Contributors

Full Changelog: https://github.com/geoschem/geos-chem/compare/14.2.3...14.3.0

14.2.3

5 months ago

Release date 01 Dec 2023 DOI

CHANGELOG

Added

  • GEOS-Chem Classic rundir script run/GCClassic/setupForRestarts.sh

Changed

  • Added the -n aka --no-bootstrap option to integration tests to disable bootstrapping missing species in restart files
  • Use integer parameters for species units instead of strings (for computational efficiency)
  • Update error message for missing surface CH4 emissions with instructions on how to resolve the problem
  • Change GCHP grid resolution threshold for lowering timesteps from C180 inclusive to C180 exclusive
  • Read GEOS-Chem Classic restart file paths from the relevant download_data.yml file

Fixed

  • Prevent POAEMISS from being assigned a value if not allocated (in carbon_mod.F90)
  • Changed incorrect comment about static H2O option in GeosCore/input_mod.F90
  • Fixed typos (GCClassic -> GCHP) written to GCHP integration test log files
  • Add fix to properly read GHGI v2 express extension emissions in CH4 and carbon simulations
  • Move OH perturbation scale factor to outside EMISSIONS logical bracket in HEMCO_Config.rc files for CH4 and carbon simulations

Removed

  • Remove definition of METDIR from primary HEMCO_Config.rc files to ensure use of the definition in the HEMCO_Config.rc.*_metfields files

Full Changelog: https://github.com/geoschem/geos-chem/compare/14.2.2...14.2.3

14.2.2

6 months ago

Release date: 23 Oct 2023 DOI

What's Changed

Full Changelog: https://github.com/geoschem/geos-chem/compare/14.2.1...14.2.2

14.1.2

6 months ago

Release date: 10 Oct 2023 DOI This release contains updates for GEOS-Chem in CESM only. It is zero diff for GEOS-Chem in all other applications.


From CHANGELOG.md

Added

  • CESM-only update: Added option for correctConvUTLS for correcting buildup of soluble tracers in the UT/LS to match CAM-chem behavior

Changed

  • CESM-only update: extend existing KppError, KppStop to CESM for model stability
  • CESM-only update: Removed mpi_bcast in ucx_mod NOXCOEFF_INIT to be handled at coupler level to support spectral-element dynamical core

What's Changed

Full Changelog: https://github.com/geoschem/geos-chem/compare/14.1.1...14.1.2

14.2.1

7 months ago

Release date: 10 Oct 2023 DOI

CHANGELOG

Added

  • Script test/difference/diffTest.sh, checks 2 different integration tests for differences
  • Added GCHP environment file and export/unset env variables in run script for NASA Pleiades cluster SatDiagnEdge collection to all GEOS-Chem Classic HISTORY.rc templates
  • Added new GCHP config file ESMF.rc for configuring ESMF logging
  • Added several new run directory files for use with GEOS-Chem in GEOS
  • GCClassic integration tests now display proper commit info in results.compile.log
  • Stopped OCEAN_CONC from needlessly being pushed through vertical regridding for Hg simulations
  • Added warning in GCHP HISTORY.rc about outputting area-dependent variables on custom grids
  • Added option to use a single advected species in the carbon simulation
  • Added option to perturb CH4 boundary conditions in CH4 simulation
  • Added option to perturb OH in CH4 simulation using scale factor in HEMCO_Config.rc

Changed

  • Update DiagnFreq in GCClassic integration tests to ensure HEMCO diagnostic output
  • Rename restart files in GCHP integration tests (as we do in non-test runs)
  • Request 6 hours of execution time for GEOS-Chem Classic integration tests
  • Invert directory structure where integration and parallel test scripts are stored
  • Error check to stop run if any MW_g values are undefined
  • Explicitly define tagCH4 simulations in Input_Opt rather than basing off of number of advected species
  • The fullchem mechanism must now be built with KPP 3.0.0 or later
  • Changed the AEIC 2019 monthly climatology specification format in ExtData.rc to match standard convention for climatology
  • Changed default ESMF logging in GCHP to be ESMF_LOGKIND_NONE (no log)
  • NetCDF utilities in NcdfUtil folder now use the netCDF-F90 API
  • GEOS-only updates for running GEOS-Chem in GEOS
  • Boundary conditions for nested-grid simulations are now imposed at every time step instead of 3-hourly
  • Update GeosCore/carbon_gases_mod.F90 for consistency with config file updates in PR #1916
  • Update MPI usage in CESM-only code to match new conventions in CAM
  • Updated GEPA inventory to GHGI v2 for CH4 and carbon simulations
  • Updated integration tests scripts to run on the WashU Compute1 cluster

Fixed

  • Add missing mol wt for HgBrO in run/shared/species_database_hg.yml
  • Moved the EDGAR REF_TRF CH4 emissions to the Oil emissions category so it is superseded by GFEIv2 for carbon simulations.
  • Prevent State_Diag%SatDiagnCount from not being allocated
  • For satellite diagnostics, do not test for id_OH if OH is not a species
  • Fixed parallelization in Luo wetdep simulations caused by uninitialized variable
  • Fixed parallelization for Hg0 species in GeosCore/drydep_mod.F90
  • Fixed incorrect time-slice when reading nested-grid boundary conditions
  • Fixed initialization of advected species missing in GCHP restart file
  • Fixed comments in GeosUtil/unitconv_mod.F90 to reflect code implementation
  • Fixed compilation issues for KPP/custom; updated equations in custom.eqn
  • Prevent users from creating GCClassic rundirs at 0.25 x 0.3125 resolution for MERRA-2 met
  • Added fix to set RUNDIR_GRID_HALF_POLAR option for global grids at 0.25x0.3125 or 0.5x0.625 resolutions
  • Moved OCEAN_MASK out of ExtData.rc.TransportTracers and into the meteorology template files
  • Update ExtData.rc.CO2 to get meteorology entries from template files
  • Added fix for CH4 analytical inversions to convert the state vector value read from file to the nearest integer before comparing to the Input_Opt%StateVectorElement read from geoschem_config.yml

Removed

  • Remove references to the obsolete tagged Hg simulation

New Contributors

Full Changelog: https://github.com/geoschem/geos-chem/compare/14.2.0...14.2.1

14.2.0

7 months ago

Release date: 05 Oct 2023 DOI

What's Changed

New Contributors

Full Changelog: https://github.com/geoschem/geos-chem/compare/14.1.0...14.2.0

14.1.1

1 year ago

Release date: 03 Mar 2023 DOI

From CHANGELOG.md

Added

  • New integration test functions in test/GCClassic/integration and test/GCHP/integration
  • New parallelization test functions in test/GCClassic/parallel
  • Added README.md files for integration and parallelization tests in the test folder structure
  • Added GCHP integration test for the tagO3 simulation
  • Added GCHP and GCClassic integration tests for the carbon simulation
  • Integration and parallelization test folders have been separated into subdirectories to minimize clutter.
  • GEOS-only updates
  • Add about to GitHub issue templates (ensures they will be displayed)
  • Added .github/ISSUE_TEMPLATE/config.yml file w/ Github issue options

Changed

  • GCClassic integration tests now use a single set of scripts
  • GCHP integration tests now use a single set of scripts
  • Integration test run directories are created with the default names assigned by createRunDir.sh
  • Several bash functions in test/shared/commonFunctionsForTests.sh have been combined so that they will work for both GCClassic and GCHP integration tests
  • ./cleanRunDir.sh functions now take an argument for non-interactive execution (facilitates integration & parallelization tests)
  • Moved several module variables from GeosCore/ucx_mod.F90 to Headers/state_chm_mod.F90. This facilitates using GEOS-Chem in CESM.
  • Time cycle flags EFYO are changed to CYS for all GCClassic integration/parallel tests, and for GCClassic fullchem_benchmarksimulations.
  • Ask users for the name of their research institution at registration
  • Ask users for the name of their PI at registration
  • Do not compile GCHP for tagO3 integration tests; use the default build instead
  • Moved GC-Classic sample run scripts to operational_examples/harvard_cannon
  • The GitHub PR template is now named ./github/PULL_REQUEST_TEMPLATE.md

Fixed

  • Fixed bug in where writing species metadata yaml file write was always attempted
  • Prevent a warning from being generated when compiling gckpp_Jacobian.F90
  • Fixed a bug in routine GET_IJ where X and Y were swapped in an IF comparison.

Removed

  • Removed intTest*_slurm.sh, intTest_*lsf.sh, and intTest*_interactive.sh integration test scripts
  • Removed State_Met%LWI and input meteorology LWI from carbon simulation run config files
  • Removed function CLEANUP_UCX; deallocations are now done in state_chm_mod.F90

Full Changelog: https://github.com/geoschem/geos-chem/compare/14.1.0...14.1.1

14.1.0

1 year ago

Release date: 01 Feb 2023 DOI

This is a release features the updates and fixes listed below.

From CHANGELOG.md

Added

  • Added dry deposition updates to Hg0 from Feinberg22 ESPI publication + AMAP emissions
  • Added MO2 + NO3 = NO2 + CH2O + HO2 reaction
  • Added capability to write species metadata to YAML file
  • Added satellite diagnostic (SatDiagn) collection, to archive several fields within a user-defined local-time interval. CAVEAT: For now, only one local-time interval is permitted.
  • Added adaptive solver (rosenbrock_autoreduce) option for fullchem mechanism
  • Added entries for BALD, BENZP, BZCO3H, NPHEN to JValues collection in HISTORY.rc for GCHP
  • Added GCHP run script and environment files for MIT clusters Hex and Svante
  • Added operational GCHP and GCClassic environment and run scripts for the University of York cluster, Viking
  • Added tagO3 run directory for GCHP
  • Added upwards mass flux diagnostic to GCHP History collection LevelEdgeDiags
  • Added timestep menu to GCHP geoschem_config.yml template files
  • Added HTAPv3 inventory as a global emissions option (off by default)
  • Added carbon simulation and KPP mechanism for CO-CO2-CH4-OCS
  • Added GCHP run script and environment file for UCI Australia cluster Gadi

Changed

  • Moved in-module variables in global_ch4_mod.F90 to State_Chm
  • Moved in-module variables in hco_interface_gc_mod.F90 to State_Met and State_Chm
  • Modified SpeciesConc diagnostic to include option to output units in v/v or molec/cm3
  • Rebuilt fullchem and Hg mechanisms with KPP 3.0.0
  • Changed HEMCO timecycle flag for QFED and offline emissions from EF to EFY
  • Updated the time refresh settings for O3_PROD and O3_LOSS in ExtData.rc.tagO3 to read data on the first of each month.

Fixed

  • Fixed sign of Arrhenius "A" coefficient in reaction ETO = HO2 + 2CH2O
  • Fixed products in HOBr + SO2 and HOCl + SO2 reactions
  • Changed MW_g value of CH4 from 16.05 to 16.04
  • Added "WD_CoarseAer:true" for SO4s and NITs in species_database.yml
  • Fixed bug in computing State_Met surface type logicals (IsLand, IsWater, etc)
  • Fixed bug where State_Met%FRSNO (fraction snow) was all zeros in GCHP
  • Fixed HCFC141b and HCFC142b names in GCHP HISTORY.rc
  • Fixed list of complex SOA species checked in input_mod.F90
  • Now use a string array for reading the list of ObsPack diagnostic species (in GeosCore/input_mod.F90)
  • Fixed bug in logic that caused restart files not to be linked to the Restarts/ folder of the GCHP tagO3 run directory
  • Fixed timestamp for GCClassic History diagnostic so time-averaged collections match the reference time
  • Fixed double-titration of seasalt alkalinity

Removed

  • Removed LRED_JNO2 and AERO_HG2_PARTITON switches from HEMCO_Config.rc (and related code)

See the GEOS-Chem 14.1.0 page for a complete list of updates.

What's Changed

New Contributors

Full Changelog: https://github.com/geoschem/geos-chem/compare/14.0.2...14.1.0

14.0.2

1 year ago

Release date: 29 Nov 2022

DOI

This is a bug fix release featuring the updates and fixes listed below.

From CHANGELOG.md

Fixed

  • Added fix for writing dry-run header to log file
  • Updated KPP diagnostics archive flags
  • Rewrote code to avoid memory leaks (identified by the code sanitizer)
  • Updated EDGAR v6 CH4 emission files to correct timestamp issue
  • Updated CH4 Lakes emission files to correct time unit issue
  • Added fix for CH4_RICE emissions from EDGAR v6
  • Fixed indentation error in the legacy_bpch section ofgeoschem_config.yml template files
  • Removed "dry air" from the metadata of fields State_Met%AIRVOL and State_Met%BXHEIGHT
  • Applied fixes for CESM runs: Turned off sea salt emissions; Modified time cycle flag for YUAN_MODIS_LAI

Changed

  • Updated CESM HISTORY.rc to work with new CESM-GC diagnostics interface
  • Updated sample fullchem restart files copied to run directories to 14.0.0 10-year benchmark output

What's Changed

Full Changelog: https://github.com/geoschem/geos-chem/compare/14.0.1...14.0.2