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

Add run directory creation support for processed cubed-sphere GEOS-IT meteorology #2616

Open
wants to merge 4 commits into
base: dev/14.6.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ 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).

## [Unreleased] - TBD
### Added
- Added createRunDir for processed cubed-sphere GEOS-IT meteorology

## [14.5.0] - 2024-11-07
### Added
- Added vectors `State_Chm%KPP_AbsTol` and `State_Chm%KPP_RelTol`
Expand Down
37 changes: 22 additions & 15 deletions run/GCHP/createRunDir.sh
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@ while [ "${valid_met}" -eq 0 ]; do
printf "${thinline}Choose meteorology files:${thinline}"
printf " 1. Raw C180 (recommended)\n"
printf " 2. Raw 0.5x0.625 \n"
printf " 3. Pre-processed C180 (not yet available)\n"
printf " 3. Pre-processed C180 \n"
printf " 4. Pre-processed 0.5x0.625 \n"
valid_response=0
while [ "${valid_response}" -eq 0 ]; do
Expand All @@ -402,8 +402,7 @@ while [ "${valid_met}" -eq 0 ]; do
met_desc="raw_ll"
elif [[ ${response} = "3" ]]; then
met_file_type="processed_cs"
valid_response=0
printf "Pre-processed GEOS-IT data at C180 resolution is not yet available. Try again.\n"
met_desc="processed_cs"
elif [[ ${response} = "4" ]]; then
met_file_type="processed_ll"
met_desc="processed_ll"
Expand All @@ -417,7 +416,7 @@ while [ "${valid_met}" -eq 0 ]; do
# advection. If using raw lat-lon then always use winds.
if [[ ${met_file_type} = "raw_ll" ]]; then
adv_flux_src="wind"
elif [[ ${met_file_type} = "raw_cs" ]]; then
elif [[ ${met_file_type} = "processed_cs" || ${met_file_type} = "raw_cs" ]]; then
printf "${thinline}Choose meteorology for advection:${thinline}"
printf " 1. C180 1-hourly mass fluxes (recommended)\n"
printf " 2. C180 3-hourly winds\n"
Expand Down Expand Up @@ -457,7 +456,15 @@ while [ "${valid_met}" -eq 0 ]; do
# Set text files containing settings for met data. Different settings based options aboves.
if [[ ${met_file_type} = "processed_ll" ]]; then
RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/geosit.preprocessed_ll.txt)\n"


elif [[ ${met_file_type} = "processed_cs" ]]; then
if [[ ${adv_flux_src} = "mass_flux" ]]; then
RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/geosit.preprocessed_mass_flux.txt)\n"
elif [[ ${adv_flux_src} == "wind" ]]; then
RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/geosit.preprocessed_wind_cs.txt)\n"
fi
RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/geosit.preprocessed_cs.txt)\n"

else
if [[ ${use_discover} = "y" ]]; then

Expand All @@ -468,14 +475,14 @@ while [ "${valid_met}" -eq 0 ]; do
RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/discover/geosit.raw_wind_cs.discover.txt)\n"
elif [[ ${adv_flux_src} == "wind" && ${met_file_type} == "raw_ll" ]]; then
RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/discover/geosit.raw_wind_ll.discover.txt)\n"
fi
fi

# Settings for all other met vars in ExtData.rc, running on discover
if [[ ${met_file_type} = "raw_cs" ]]; then
RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/discover/geosit.raw_cs.discover.txt)\n"
elif [[ ${met_file_type} = "raw_ll" ]]; then
RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/discover/geosit.raw_ll.discover.txt)\n"
fi
if [[ ${met_file_type} = "raw_cs" ]]; then
RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/discover/geosit.raw_cs.discover.txt)\n"
elif [[ ${met_file_type} = "raw_ll" ]]; then
RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/discover/geosit.raw_ll.discover.txt)\n"
fi

elif [[ ${use_discover} = "n" ]]; then

Expand All @@ -486,14 +493,14 @@ while [ "${valid_met}" -eq 0 ]; do
RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/geosit.raw_wind_cs.txt)\n"
elif [[ ${adv_flux_src} == "wind" && ${met_file_type} == "raw_ll" ]]; then
RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/geosit.raw_wind_ll.txt)\n"
fi
fi

# Settings for all other met vars in ExtData.rc, NOT running on discover
if [[ ${met_file_type} = "raw_cs" ]]; then
if [[ ${met_file_type} = "raw_cs" ]]; then
RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/geosit.raw_cs.txt)\n"
elif [[ ${met_file_type} = "raw_ll" ]]; then
elif [[ ${met_file_type} = "raw_ll" ]]; then
RUNDIR_VARS+="$(cat ${metSettingsDir}/geosit/geosit.raw_ll.txt)\n"
fi
fi

fi
fi # end GEOS-IT
Expand Down
123 changes: 123 additions & 0 deletions run/shared/settings/geosit/geosit.preprocessed_cs.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
RUNDIR_MET='GEOSIT'
RUNDIR_MET_LOWERCASE='geosit'
RUNDIR_MET_DIR="${RUNDIR_DATA_ROOT}/GEOS_${RUNDIR_GRID_DIR}/GEOS_IT"
RUNDIR_MET_DIR_RAW="${RUNDIR_DATA_ROOT}/GEOS_C180/GEOS_IT"

RUNDIR_METEOROLOGY_VERTICAL_INDEX_IS_TOP_DOWN=.false.
RUNDIR_MET_RES='C180'
RUNDIR_MET_EXT='nc'

RUNDIR_MET_CN_YR=1998
RUNDIR_MET_PRES_UNIT='hPa'
RUNDIR_MET_PRES_SCALE='1.0'

RUNDIR_OFFLINE_EMIS_RES='0.5x0.625'
RUNDIR_OFFLINE_EMIS_LAT_RES='05'

RUNDIR_METLIGHTNING='MERRA2'
RUNDIR_METLIGHTNING_DIR="${RUNDIR_DATA_ROOT}/GEOS_0.5x0.625/MERRA2"
RUNDIR_METLIGHTNING_RES='0.5x0.625'
RUNDIR_LIGHTNOX_CLIM=true
RUNDIR_MET_LCLIM='1980-2019'

RUNDIR_PHOT_CLD_NLEV=34

RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS="""

${RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION}

#-------------------------------------------------------
# --- 1-hr time-averaged, 2D ---
#-------------------------------------------------------

ALBD 1 N Y F0;003000 none none ALBEDO ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
CLDFRC 1 N Y F0;003000 none none CLDTOT ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
EFLUX 1 N Y F0;003000 none none EFLUX ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
EVAP 1 N Y F0;003000 none none EVAP ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
FRSEAICE 1 N Y F0;003000 none none FRSEAICE ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
FRSNO 1 N Y F0;003000 none none FRSNO ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
GRN 1 N Y F0;003000 none none GRN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
GWETROOT 1 N Y F0;003000 none none GWETROOT ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
GWETTOP 1 N Y F0;003000 none none GWETTOP ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
HFLUX 1 N Y F0;003000 none none HFLUX ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
LAI 1 N Y F0;003000 none none LAI ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
PARDF 1 N Y F0;003000 none none PARDF ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
PARDR 1 N Y F0;003000 none none PARDR ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
PBLH 1 N Y F0;003000 none none PBLH ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
PRECANV 1 N Y F0;003000 none none PRECANV ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
PRECCON 1 N Y F0;003000 none none PRECCON ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
PRECLSC 1 N Y F0;003000 none none PRECLSC ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
PRECSNO 1 N Y F0;003000 none none PRECSNO ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
PRECTOT 1 N Y F0;003000 none none PRECTOT ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
QV2M 1 N Y F0;003000 none none QV2M ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
SLP hPa N Y F0;003000 none none SLP ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
SNODP 1 N Y F0;003000 none none SNODP ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
SNOMAS 1 N Y F0;003000 none none SNOMAS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
RADSWG 1 N Y F0;003000 none none SWGDN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
TO3 dobson N Y F0;003000 none none TO3 ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
TROPP hPa N Y F0;003000 none none TROPPT ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
TSKIN 1 N Y F0;003000 none none TS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
TS 1 N Y F0;003000 none none T2M ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
USTAR 1 N Y F0;003000 none none USTAR ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
U10M m_s-1 N Y F0;003000 none none U10M ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
V10M m_s-1 N Y F0;003000 none none V10M ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc
Z0 1 N Y F0;003000 none none Z0M ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A1.C180.nc

# SEAICE[0-9]0 bins not used except in Hg simulation

SEAICE00 1 N Y F0;003000 none none SEAICE00 /dev/null
SEAICE10 1 N Y F0;003000 none none SEAICE10 /dev/null
SEAICE20 1 N Y F0;003000 none none SEAICE20 /dev/null
SEAICE30 1 N Y F0;003000 none none SEAICE30 /dev/null
SEAICE40 1 N Y F0;003000 none none SEAICE40 /dev/null
SEAICE50 1 N Y F0;003000 none none SEAICE50 /dev/null
SEAICE60 1 N Y F0;003000 none none SEAICE60 /dev/null
SEAICE70 1 N Y F0;003000 none none SEAICE70 /dev/null
SEAICE80 1 N Y F0;003000 none none SEAICE80 /dev/null
SEAICE90 1 N Y F0;003000 none none SEAICE90 /dev/null

#-------------------------------------------------------
# --- 3-hr instantaneous (all 3D) ---
#-------------------------------------------------------

TMPU1 K N Y 0 none none T ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.C180.nc
TMPU2 K N Y 0;001000 none none T ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.C180.nc

#-------------------------------------------------------
# --- 3-hr time-averaged (all 3D) ---
#-------------------------------------------------------

QI 1 N Y F0;013000 none none QI ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.C180.nc
QL 1 N Y F0;013000 none none QL ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.C180.nc
TAUCLI 1 N Y F0;013000 none none TAUCLI ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.C180.nc
TAUCLW 1 N Y F0;013000 none none TAUCLW ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.C180.nc
OPTDEP 1 N Y F0;013000 none none OPTDEPTH ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.C180.nc
CLDF 1 N Y F0;013000 none none CLOUD ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3cld.C180.nc
DTRAIN 1 N Y F0;013000 none none DTRAIN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3dyn.C180.nc
OMEGA Pa_s-1 N Y F0;013000 none none OMEGA ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3dyn.C180.nc
RH - N Y F0;013000 none none RH ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3dyn.C180.nc
DQRCU 1 N Y F0;013000 none none DQRCU ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstC.C180.nc
DQRLSAN 1 N Y F0;013000 none none DQRLSAN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstC.C180.nc
REEVAPCN 1 N Y F0;013000 none none REEVAPCN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstC.C180.nc
REEVAPLS 1 N Y F0;013000 none none REEVAPLS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstC.C180.nc
CMFMC 1 N Y F0;013000 none none CMFMC ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstE.C180.nc
PFICU 1 N Y F0;013000 none none PFICU ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstE.C180.nc
PFILSAN 1 N Y F0;013000 none none PFILSAN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstE.C180.nc
PFLCU 1 N Y F0;013000 none none PFLCU ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstE.C180.nc
PFLLSAN 1 N Y F0;013000 none none PFLLSAN ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3mstE.C180.nc

#-------------------------------------------------------
# --- Fixed variables, from constants file ---
#-------------------------------------------------------

FRLAKE 1 N Y - none none FRLAKE ./MetDir/1998/01/GEOSIT.19980101.CN.C180.nc
FRLAND 1 N Y - none none FRLAND ./MetDir/1998/01/GEOSIT.19980101.CN.C180.nc
FRLANDIC 1 N Y - none none FRLANDIC ./MetDir/1998/01/GEOSIT.19980101.CN.C180.nc
FROCEAN 1 N Y - none none FROCEAN ./MetDir/1998/01/GEOSIT.19980101.CN.C180.nc
PHIS m2_s-2 N Y - none none PHIS ./MetDir/1998/01/GEOSIT.19980101.CN.C180.nc
OCEAN_MASK 1 N Y - none none FROCEAN ./MetDir/1998/01/GEOSIT.19980101.CN.C180.nc

"""

RUNDIR_MET_EXTDATA_DERIVED_EXPORTS="""
"""
6 changes: 3 additions & 3 deletions run/shared/settings/geosit/geosit.preprocessed_ll.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ RUNDIR_MET_DIR_RAW="${RUNDIR_DATA_ROOT}/GEOS_0.5x0.625/GEOS_IT"

RUNDIR_METEOROLOGY_VERTICAL_INDEX_IS_TOP_DOWN=.false.
RUNDIR_MET_RES='05x0625'
RUNDIR_MET_EXT='nc4'
RUNDIR_MET_EXT='nc'

RUNDIR_MET_CN_YR=1998
RUNDIR_MET_PRES_UNIT='Pa '
RUNDIR_MET_PRES_SCALE='0.01'
RUNDIR_MET_PRES_UNIT='hPa '
RUNDIR_MET_PRES_SCALE='1.0'

RUNDIR_OFFLINE_EMIS_RES='0.5x0.625'
RUNDIR_OFFLINE_EMIS_LAT_RES='05'
Expand Down
19 changes: 19 additions & 0 deletions run/shared/settings/geosit/geosit.preprocessed_mass_flux.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.true.
RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0

RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION="""

#--------------------------------------
# --- Meteorology used in advection ---
#--------------------------------------

# Cubed-sphere 1-hourly mass fluxes
UA;VA m_s-1 N Y F0;013000 none none U;V ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3dyn.C180.nc
MFXC;MFYC Pa_m+2_s-1 N H F0;003000 none 0.6666666 MFXC;MFYC ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.CTM_A1.C180.nc
CXC;CYC 1 N H F0;003000 none none CX;CY ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.CTM_A1.C180.nc
PS1 hPa N Y 0 none none PS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.CTM_I1.C180.nc
PS2 hPa N Y 0;001000 none none PS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.CTM_I1.C180.nc
SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.CTM_I1.C180.nc
SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.CTM_I1.C180.nc

"""
17 changes: 17 additions & 0 deletions run/shared/settings/geosit/geosit.preprocessed_wind_cs.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.false.
RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0

RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION="""

#--------------------------------------
# --- Meteorology used in advection ---
#--------------------------------------

# Cubed-sphere 3-hourly winds
UA;VA m_s-1 N Y F0;013000 none none U;V ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.A3dyn.05x0625.nc
PS1 hPa N Y 0 none none PS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.05x0625.nc
PS2 hPa N Y 0;001000 none none PS ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.05x0625.nc
SPHU1 kg_kg-1 N Y 0 none none QV ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.05x0625.nc
SPHU2 kg_kg-1 N Y 0;001000 none none QV ./MetDir/%y4/%m2/GEOSIT.%y4%m2%d2.I3.05x0625.nc

"""
4 changes: 2 additions & 2 deletions run/shared/settings/geosit/geosit.raw_cs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ RUNDIR_MET_EXT='nc4'

RUNDIR_MET_CN_YR=Y1998
RUNDIR_MET_CN_MO=M01
RUNDIR_MET_PRES_UNIT='hPa'
RUNDIR_MET_PRES_SCALE='1.0'
RUNDIR_MET_PRES_UNIT='Pa'
RUNDIR_MET_PRES_SCALE='0.01'

RUNDIR_OFFLINE_EMIS_RES='0.5x0.625'
RUNDIR_OFFLINE_EMIS_LAT_RES='05'
Expand Down
4 changes: 2 additions & 2 deletions run/shared/settings/geosit/geosit.raw_ll.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ RUNDIR_MET_EXT='nc4'

RUNDIR_MET_CN_YR=Y1998
RUNDIR_MET_CN_MO=M01
RUNDIR_MET_PRES_UNIT='hPa'
RUNDIR_MET_PRES_SCALE='1.0'
RUNDIR_MET_PRES_UNIT='Pa'
RUNDIR_MET_PRES_SCALE='0.01'

RUNDIR_OFFLINE_EMIS_RES='0.5x0.625'
RUNDIR_OFFLINE_EMIS_LAT_RES='05'
Expand Down