Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge GEOS-Chem 14.5.2 into dev/14.6.0 #2730

Merged
merged 30 commits into from
Feb 18, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
2b1acfe
Implement GRPI CH4 rice emissions to replace EDGAR
msulprizio Jan 8, 2025
45c4281
Create 14.5.2 entry in changelog
lizziel Jan 15, 2025
0e58a65
Fix CO2_WEEKLY scale factor entry in GCHP ExtData.rc so updated daily
lizziel Jan 15, 2025
a751c8a
Add .zenodo.json to auto-populate DOI fields upon version releases
yantosca Jan 16, 2025
255a13d
Merge PR #2690 (Add .zenodo.json to auto-populate DOI fields)
yantosca Jan 17, 2025
a3e623f
Merge PR #2684 (Fix CO2 weekly scale factors in GCHP)
yantosca Jan 17, 2025
a3fea34
Add preprocessed meteorology field ExtData entries for cubed-sphere G…
yuanjianz Dec 5, 2024
3279d3e
Update createRunDir.sh for preprocessed cubed-sphere GEOS-IT
yuanjianz Dec 5, 2024
1d28c9b
Update CHANGELOG.md
yuanjianz Dec 6, 2024
3cc30ec
Revert scaling factors back to defaults
yuanjianz Dec 12, 2024
c96ff9f
Remove unused GCHP config settings; update changelog
lizziel Jan 23, 2025
74d3e6d
Fix indentations in GCHP createRunDir.sh
lizziel Jan 23, 2025
6b056e0
Merge PR #2673 (Update to GRPI CH4 rice emissions)
msulprizio Jan 23, 2025
e4aeaeb
Merge pull request #2616 from yuanjianz/feature/geosit_preprocessed_cs
lizziel Jan 30, 2025
0f81631
Add env and run script for Mississippi State University cluster Orion
lizziel Jan 17, 2025
25318bf
Rename MSU Orion env file to gcclassic.env; clean up the file
lizziel Jan 27, 2025
50036c3
Update GC-Classic examples scripts for NASA discover cluster
lizziel Jan 27, 2025
c46c60f
Update operational files for GC-Classic on NASA discover
lizziel Jan 29, 2025
ed9ebeb
Fix bug in MetDir symlink in GCHP lat-lon GEOS-IT run directory on di…
lizziel Jan 29, 2025
48d26d2
Update GCHP env/run scripts for NASA discover cluster
lizziel Jan 29, 2025
5eb1a5e
Add MSU Orion env and run script samples for GCHP
lizziel Jan 29, 2025
f19d583
Update env and run sample run scripts for GC-Classic on MSU Orion
lizziel Jan 29, 2025
e6b14e1
Updated changelog
lizziel Jan 30, 2025
d7b9d63
Fixed met directory name in discover GEOS-IT raw lat-lon file
lizziel Jan 30, 2025
8ea94bc
Merge pull request #2692 from geoschem/feature/updated_cluster_env_an…
lizziel Jan 30, 2025
e4b931b
Ask user if they wish to build KPP-Standalone at rundir creation
yantosca Jan 30, 2025
6038187
Merge PR #2712 (Only build KPP-Standalone upon request)
yantosca Feb 6, 2025
7abda20
Merge branch 'dev/no-diff-to-benchmark' into release/14.5.2
yantosca Feb 12, 2025
047efcc
Update version numbers in anticipation of 14.5.2 release
yantosca Feb 12, 2025
483ceec
GEOS-Chem (science codebase) 14.5.2 release
yantosca Feb 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"access_right": "open",
"creators": [
{
"name": "The International GEOS-Chem User Community"
}
],
"description": "GEOS-Chem (science codebase)",
"keywords": [
"atmospheric-chemistry",
"atmospheric-composition",
"atmospheric-modeling",
"aws",
"climate-modeling",
"cloud-computing",
"geos-chem",
"atmospheric-computing",
"scientific-computing"
],
"license": "mit-license",
"upload_type": "software"
}
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,34 @@ This file documents all notable changes to the GEOS-Chem repository starting in

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [14.5.2] - 2025-02-12
### Added
- Implemented the Global Rice Patty Inventory (GRPI) for CH4 and carbon simulations to replace EDGAR rice emissions
- Added run directory creation for processed cubed-sphere GEOS-IT meteorology
- Added GC-Classic and GCHP environment files, build scripts, and run scripts for MSU Orion cluster

### Changed
- Updated GC-Classic and GCHP environment files, build scripts, and run scripts for NASA discover cluster
- Updated rundir scripts to ask for confirmation before building the KPP-Standalone executable
- Updated rundir scripts to print a reminder to compile with `-DKPPSA=y` to build the KPP-Standalone executable
- Updated `integrationTestCreate.sh` and `parallelTestCreate.sh` scripts to decline building the KPP-Standalone.

### Fixed
- Fixed GCHP refresh time for `CO2_WEEKLY` scale factors so updated daily
- Fixed bug in GCHP GEOS-IT run directory using raw lat-lon fields on NASA discover cluster

## [14.5.1] - 2025-01-10
### Added
- Added Australian Hg emissions for 2000-2019 from MacFarlane et. al. [2022], plus corresponding mask file
- Added comments in GEOS-Chem Classic `HISTORY.rc` template files advising users not to change the `BoundaryConditions.frequency` setting
- Added `.zenodo.json` for auto-DOI generation upon version releases

### Fixed
- Reverted CH4 livestock emissions to EDGAR v7 to avoid hotspots and to apply seasonality

### Removed
- Removed unused RUNDIR settings for GCHP pressure units and scaling

## [14.5.1] - 2025-01-10
### Added
- Added allocate guards for arrays in `pressure_mod`
Expand Down
10 changes: 10 additions & 0 deletions run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.CH4
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ VerboseOnCores: root # Accepted values: root all
--> Scarpelli_Mexico : true # 2015
# ----- GLOBAL INVENTORIES ----------------------------------------------------
--> GFEIv2 : true # 2019
--> GRPI : true # 2022
--> EDGARv8 : true # 2010-2022
--> QFED2 : false # 2009-2015
--> JPL_WETCHARTS : true # 2009-2017
Expand Down Expand Up @@ -367,6 +368,15 @@ VerboseOnCores: root # Accepted values: root all
0 GFEI_CH4_COAL $ROOT/CH4/v2022-01/GFEIv2/Global_Fuel_Exploitation_Inventory_v2_2019_Coal.nc emis_ch4 2019/1/1/0 C xy molec/cm2/s CH4 - 3 5
)))GFEIv2

#==============================================================================
# --- Global Rice Patty Inventory (GRPI, Zichong Chen et al., 2025) ---
#
# This inventory will replace EDGAR (rice)
#==============================================================================
(((GRPI
0 GRPI_CH4_RICE $ROOT/CH4/v2025-01/GRPI/GRPI_01x01.nc emi_ch4 2022/1-12/1/0 C xy kg/m2/s CH4 - 7 5
)))GRPI

#==============================================================================
# --- EDGAR v8.0 emissions ---
#
Expand Down
10 changes: 10 additions & 0 deletions run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.carbon
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ Mask fractions: false
--> Scarpelli_Mexico : true # 2015
# ..... Global Inventories ...........
--> GFEIv2 : true # 2019
--> GRPI : true # 2022
--> EDGARv8 : true # 2010-2022
--> QFED2 : false # 2009-2015
--> JPL_WETCHARTS : true # 2009-2017
Expand Down Expand Up @@ -409,6 +410,15 @@ Mask fractions: false
0 GFEI_CH4_COAL $ROOT/CH4/v2022-01/GFEIv2/Global_Fuel_Exploitation_Inventory_v2_2019_Coal.nc emis_ch4 2019/1/1/0 C xy molec/cm2/s CH4 - 3 5
)))GFEIv2

#==============================================================================
# --- Global Rice Patty Inventory (GRPI, Zichong Chen et al., 2025) ---
#
# This inventory will replace EDGAR (rice)
#==============================================================================
(((GRPI
0 GRPI_CH4_RICE $ROOT/CH4/v2025-01/GRPI/GRPI_01x01.nc emi_ch4 2022/1-12/1/0 C xy kg/m2/s CH4 - 7 5
)))GRPI

#==============================================================================
# --- CH4: EDGAR v8.0 emissions ---
#
Expand Down
41 changes: 28 additions & 13 deletions run/GCClassic/createRunDir.sh
Original file line number Diff line number Diff line change
Expand Up @@ -898,12 +898,6 @@ if [[ "x${sim_name}" == "xfullchem" || "x${sim_name}" == "xCH4" ]]; then
chmod 744 ${rundir}/metrics.py
fi

# Copy the KPP standalone interface config file to ther rundir (fullchem only)
if [[ "x${sim_name}" == "xfullchem" ]]; then
cp -r ${gcdir}/run/shared/kpp_standalone_interface.yml ${rundir}
chmod 644 ${rundir}/kpp_standalone_interface.yml
fi

# Set permissions
chmod 744 ${rundir}/cleanRunDir.sh
chmod 744 ${rundir}/archiveRun.sh
Expand Down Expand Up @@ -1202,21 +1196,42 @@ while [ "$valid_response" -eq 0 ]; do
fi
done

#-----------------------------------------------------------------
# Ask user whether to build the KPP-standalone box model
#-----------------------------------------------------------------
enable_kppsa=""
if [[ "x${sim_name}" == "xfullchem" ]]; then
printf "${thinline}Do you want to build the KPP-Standalone Box Model? (y/n)${thinline}"
valid_response=0
while [ "$valid_response" -eq 0 ]; do
read -p "${USER_PROMPT}" enable_kppsa
if [[ "x${enable_kppsa}" == "xy" ]]; then
cp -r ${gcdir}/run/shared/kpp_standalone_interface.yml ${rundir}
chmod 644 ${rundir}/kpp_standalone_interface.yml
valid_response=1
elif [[ "x${enable_kppsa}" = "xn" ]]; then
valid_response=1
else
printf "Input not recognized. Try again.\n"
fi
done
fi

#---------------------------------------------------------------------------
# Add reminders to compile with CMake options for simulations that need them
#---------------------------------------------------------------------------
hdr="\n>>>> REMINDER: You must compile with options:"
ftr="<<<<\n"

EXTRA_CMAKE_OPTIONS=""
[[ "x${sim_name}" == "xcarbon" ]] && EXTRA_CMAKE_OPTIONS="-DMECH=carbon"
[[ "x${sim_name}" == "xHg" ]] && EXTRA_CMAKE_OPTIONS="-DMECH=Hg -DFASTJX=y"
[[ "x${sim_name}" == "xcarbon" ]] && EXTRA_CMAKE_OPTIONS="-DMECH=carbon "
[[ "x${sim_name}" == "xHg" ]] && EXTRA_CMAKE_OPTIONS="-DMECH=Hg -DFASTJX=y "
if [[ "x${sim_name}" == "xfullchem" ]]; then
[[ "x${sim_extra_option}" == "xAPM" ]] && EXTRA_CMAKE_OPTIONS="-DAPM=y"
[[ "x${sim_extra_option}" == "xRRTMG" ]] && EXTRA_CMAKE_OPTIONS="-DRRTMG=y"
[[ "x${sim_extra_option}" == "xTOMAS15" ]] && EXTRA_CMAKE_OPTIONS="-DTOMAS=y -DTOMAS_BINS=15"
[[ "x${sim_extra_option}" == "xTOMAS40" ]] && EXTRA_CMAKE_OPTIONS="-DTOMAS=y -DTOMAS_BINS=40"
[[ "x${sim_extra_option}" == "xAPM" ]] && EXTRA_CMAKE_OPTIONS="-DAPM=y "
[[ "x${sim_extra_option}" == "xRRTMG" ]] && EXTRA_CMAKE_OPTIONS="-DRRTMG=y "
[[ "x${sim_extra_option}" == "xTOMAS15" ]] && EXTRA_CMAKE_OPTIONS="-DTOMAS=y -DTOMAS_BINS=15 "
[[ "x${sim_extra_option}" == "xTOMAS40" ]] && EXTRA_CMAKE_OPTIONS="-DTOMAS=y -DTOMAS_BINS=40 "
fi
[[ "x${enable_kppsa}" == "xy" ]] && EXTRA_CMAKE_OPTIONS+="-DKPPSA=y"

# Add to RUNDIR_VARS
RUNDIR_VARS+="EXTRA_CMAKE_OPTIONS=${EXTRA_CMAKE_OPTIONS}"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Contact:
Lizzie Lundgren
GEOS-Chem Support Team at Harvard University
geos-chem-support@g.harvard.edu
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash

# For MSU Orion cluster
#SBATCH --time 00:05:00
#SBATCH --nodes=1 --ntasks-per-node=12
#SBATCH --mem 3G
#SBATCH --job-name=gcclassic.build

# Assumes file or symbolic link gcclassic.env is in run directory
source gcclassic.env
cd build
cmake ../CodeDir -DRUNDIR=.. -DMECH=carbon
make -j
make install
cd ..
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@

# Environment file to load before building and running GEOS-Chem Classic
# on the MSU Orion cluster
# - Lizzie Lundgren, GEOS-Chem Support Team, 27Jan2025

module purge

# Modules need to build and run GEOS-Chem Classic
module load intel-oneapi-compilers/2022.2.1
module load intel-oneapi-mpi/2021.7.1
module load hdf5/1.12.2
module load netcdf-c/4.9.0
module load netcdf-fortran/4.6.0

## Other potentially useful modules for analyses and code development
#module load intel-oneapi-mkl/2022.2.1
#module load hdf4/4.2.16
#module load r/4.2.2
#module load nco/5.0.1
#module load udunits/2.2.28
#module load zlib/1.2.13
#module load nco/5.0.1
#module load libszip/2.1.1
#module load ffmpeg/4.4.1
#module load ncl/6.6.2
#module load gdal/3.5.3
#module load gmt/6.2.0
#module load ghostscript/9.56.1
#module load imagemagick/7.0.8-7
#module load contrib noaatools
#module load python/3.10.8
#module load ncview

# Environment variables and settings needed for GEOS-Chem Classic
export CC=icx
export CXX=icx
export FC=ifort
export F77=${FC}
if [[ "x${NETCDF_HOME}" == "x" ]]; then
export NETCDF_HOME="${NETCDF_C_HOME}"
fi
export NETCDF_C_ROOT="${NETCDF_HOME}"
export NETCDF_FORTRAN_ROOT="${NETCDF_FORTRAN_HOME}"

# Require memory settings
ulimit -c unlimited # coredumpsize
ulimit -u 50000 # maxproc
ulimit -v unlimited # vmemoryuse
ulimit -s unlimited # stacksize
export OMP_STACKSIZE=500m
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/bash

#SBATCH -c 24
#SBATCH -N 1
#SBATCH -t 0-00:30
#SBATCH --mem=15G
#SBATCH --qos=batch

###############################################################################
### Sample GEOS-Chem Classic run script for Harvard Cannon (using SLURM).
###
### If you are running a nested-grid simulation at fine resolution, you
### will likely need to request additional memory, cores, and time.
###
### -c : Requests this many cores
### -N : Requests a single node
### --mem : Requests this amount of memory in GB
### -p : Requests these partitions where the job can run
### -t : Requests time for the job (days-hours:minutes)
### --exclusive : Reserves entire nodes (i.e. to prevent backfilling jobs)
###############################################################################

# Set the proper # of threads for OpenMP
# SLURM_CPUS_PER_TASK ensures this matches the number you set with -c above
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK

# Run GEOS_Chem
./gcclassic >> GC.log

# Exit normally
exit 0

Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
Contact:
Lizzie Lundgren
GEOS-Chem Support Team at Harvard University
geos-chem-support@g.harvard.edu

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/bash

# For discover
#SBATCH --time 00:05:00
#SBATCH --nodes=1 --ntasks-per-node=12
#SBATCH --mem 3G
#SBATCH --job-name=gcclassic.build
#SBATCH --constraint=mil
#SBATCH --account=s____

# Assumes file or symbolic link gcclassic.env is in run directory
source gcclassic.env
cd build
cmake ../CodeDir -DRUNDIR=..
make -j
make install
cd ..
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/bash

# For use on NASA discover cluster. Edit prior to run.
#SBATCH --time 00:10:00
#SBATCH --nodes=1 --ntasks-per-node=24
#SBATCH --mem 10G
#SBATCH --job-name=gcclassic.run
#SBATCH --constraint=mil
#SBATCH --account=s____
##SBATCH --exclusive
##SBATCH --qos=debug
##SBATCH --qos=long


# Assume file or symbolic link gcclassic.env exists in run directory
source gcclassic.env
./gcclassic > GC.log
Loading