Skip to content

Commit

Permalink
Merge PR #2342 (Read number of levels with clouds into Cloud-J)
Browse files Browse the repository at this point in the history
This merge brings PR #2342 (Read number of levels with clouds used in
photolysis from config file used in photolysis from config file, by
@lizziel) into the GEOS-Chem "no-diff-to-benchmark" development stream.

This PR fixes an issue where hardwiring of the number of levels with
clouds (for Cloud-J photolysis) broke GEOS-Chem in CESM.  We now specify
the number of levels with cloud in geoschem_config.yml.

Signed-off-by: Bob Yantosca <[email protected]>
  • Loading branch information
yantosca committed Jul 9, 2024
2 parents 8554d3a + e91ce06 commit f78052f
Show file tree
Hide file tree
Showing 20 changed files with 69 additions and 20 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,12 @@ 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 number of levels with clouds for photolysis to geoschem_config.yml and Input_Opt to pass to Cloud-J

### Fixed
- Typo in `setCommonRunSettings.sh` that made GCHP always choose mass fluxes for meteorology
- Fixed bug in # levels with cloud used in photolysis when using GCAP met or CESM

## [14.4.1] - 2024-06-28
### Added
Expand Down
5 changes: 3 additions & 2 deletions GeosCore/cldj_interface_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,9 @@ SUBROUTINE INIT_CLOUDJ( Input_Opt, State_Grid, State_Diag, State_Chm, RC )
! Initialize Cloud-J. Includes reading input data files
! FJX_spec.dat (RD_XXX), FJX_scat-aer.dat (RD_MIE), and
! FJX_j2j.dat (RD_JS_JX)
CALL Init_CldJ(Input_Opt%amIRoot, Input_Opt%CloudJ_Dir, &
State_Grid%NZ, TITLEJXX, JVN_, NJXX)
CALL Init_CldJ(Input_Opt%amIRoot, Input_Opt%CloudJ_Dir, &
State_Grid%NZ, Input_Opt%Nlevs_Phot_Cloud, &
TITLEJXX, JVN_, NJXX)

! Store # of photolysis reactions in State_Chm object
State_Chm%Phot%nPhotRxns = NRatJ
Expand Down
19 changes: 18 additions & 1 deletion GeosCore/input_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -2762,6 +2762,7 @@ SUBROUTINE Config_Photolysis( Config, Input_Opt, RC )
!
! Scalars
LOGICAL :: v_bool
INTEGER :: v_int
REAL(yp) :: v_real

! Strings
Expand Down Expand Up @@ -2793,6 +2794,19 @@ SUBROUTINE Config_Photolysis( Config, Input_Opt, RC )
ENDIF
Input_Opt%Do_Photolysis = v_bool

!------------------------------------------------------------------------
! Number levels with clouds to use in photolysis
!------------------------------------------------------------------------
key = "operations%photolysis%num_levs_with_cloud"
v_int = MISSING_INT
CALL QFYAML_Add_Get( Config, TRIM( key ), v_int, "", RC )
IF ( RC /= GC_SUCCESS ) THEN
errMsg = 'Error parsing ' // TRIM( key ) // '!'
CALL GC_Error( errMsg, RC, thisLoc )
RETURN
ENDIF
Input_Opt%NLevs_Phot_Cloud = v_int

!------------------------------------------------------------------------
! Directories with photolysis input files
!------------------------------------------------------------------------
Expand Down Expand Up @@ -3000,6 +3014,8 @@ SUBROUTINE Config_Photolysis( Config, Input_Opt, RC )
WRITE( 6,90 ) 'PHOTOLYSIS SETTINGS'
WRITE( 6,95 ) '-------------------'
WRITE( 6,100 ) 'Turn on photolysis? : ', Input_Opt%Do_Photolysis
WRITE( 6,130 ) 'Number levels with cloud : ', &
Input_Opt%Nlevs_Phot_Cloud
WRITE( 6,120 ) 'FAST-JX input directory : ', &
TRIM( Input_Opt%FAST_JX_DIR )
WRITE( 6,120 ) 'Cloud-J input directory : ', &
Expand Down Expand Up @@ -3031,7 +3047,8 @@ SUBROUTINE Config_Photolysis( Config, Input_Opt, RC )
105 FORMAT( A, F8.3 )
110 FORMAT( A, F4.2 )
120 FORMAT( A, A )

130 FORMAT( A, I5 )

END SUBROUTINE Config_Photolysis
!EOC
!------------------------------------------------------------------------------
Expand Down
36 changes: 19 additions & 17 deletions Headers/input_opt_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -120,12 +120,6 @@ MODULE Input_Opt_Mod
LOGICAL :: LBCAE
REAL(fp) :: BCAE_1
REAL(fp) :: BCAE_2
! for nitrate aerosol photolysis (TMS, 23/08/2018)
LOGICAL :: hvAerNIT
REAL(fp) :: hvAerNIT_JNIT
REAL(fp) :: hvAerNIT_JNITs
REAL(fp) :: JNITChanA
REAL(fp) :: JNITChanB

!----------------------------------------
! EMISSIONS fields
Expand Down Expand Up @@ -171,9 +165,6 @@ MODULE Input_Opt_Mod
REAL(fp) :: GAMMA_HO2
LOGICAL :: LACTIVEH2O
LOGICAL :: LINITSPEC
LOGICAL :: USE_ONLINE_O3
LOGICAL :: USE_O3_FROM_MET
LOGICAL :: USE_TOMS_O3
LOGICAL :: USE_AUTOREDUCE
LOGICAL :: AUTOREDUCE_IS_KEEPACTIVE
LOGICAL :: AUTOREDUCE_IS_KEY_THRESHOLD
Expand All @@ -192,6 +183,16 @@ MODULE Input_Opt_Mod
LOGICAL :: Do_Photolysis
CHARACTER(LEN=255) :: FAST_JX_DIR
CHARACTER(LEN=255) :: CloudJ_Dir
INTEGER :: Nlevs_Phot_Cloud
LOGICAL :: USE_ONLINE_O3
LOGICAL :: USE_O3_FROM_MET
LOGICAL :: USE_TOMS_O3
! for nitrate aerosol photolysis (TMS, 23/08/2018)
LOGICAL :: hvAerNIT
REAL(fp) :: hvAerNIT_JNIT
REAL(fp) :: hvAerNIT_JNITs
REAL(fp) :: JNITChanA
REAL(fp) :: JNITChanB

!----------------------------------------
! RADIATION MENU fields
Expand Down Expand Up @@ -612,11 +613,6 @@ SUBROUTINE Set_Input_Opt( am_I_Root, Input_Opt, RC )
Input_Opt%P_ICE_SUPERSAT = 0.0_fp
Input_Opt%LPSCCHEM = .FALSE.
Input_Opt%LSTRATOD = .FALSE.
Input_Opt%hvAerNIT = .FALSE.
Input_Opt%hvAerNIT_JNIT = 0.0_fp
Input_Opt%hvAerNIT_JNITs = 0.0_fp
Input_Opt%JNITChanA = 0.0_fp
Input_Opt%JNITChanB = 0.0_fp

!----------------------------------------
! EMISSIONS MENU fields
Expand Down Expand Up @@ -661,9 +657,6 @@ SUBROUTINE Set_Input_Opt( am_I_Root, Input_Opt, RC )
Input_Opt%GAMMA_HO2 = 0.0_fp
Input_Opt%LACTIVEH2O = .FALSE.
Input_Opt%LINITSPEC = .FALSE.
Input_Opt%USE_ONLINE_O3 = .FALSE.
Input_Opt%USE_O3_FROM_MET = .FALSE.
Input_Opt%USE_TOMS_O3 = .FALSE.

Input_Opt%USE_AUTOREDUCE = .FALSE.
Input_Opt%AUTOREDUCE_IS_KEY_THRESHOLD = .TRUE.
Expand All @@ -679,6 +672,15 @@ SUBROUTINE Set_Input_Opt( am_I_Root, Input_Opt, RC )
Input_Opt%Do_Photolysis = .FALSE.
Input_Opt%FAST_JX_DIR = ''
Input_Opt%CloudJ_Dir = ''
Input_Opt%Nlevs_Phot_Cloud = 0
Input_Opt%USE_ONLINE_O3 = .FALSE.
Input_Opt%USE_O3_FROM_MET = .FALSE.
Input_Opt%USE_TOMS_O3 = .FALSE.
Input_Opt%hvAerNIT = .FALSE.
Input_Opt%hvAerNIT_JNIT = 0.0_fp
Input_Opt%hvAerNIT_JNITs = 0.0_fp
Input_Opt%JNITChanA = 0.0_fp
Input_Opt%JNITChanB = 0.0_fp

!----------------------------------------
! RADIATION MENU fields (for RRTMG only)
Expand Down
1 change: 1 addition & 0 deletions run/CESM/geoschem_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ operations:

photolysis:
activate: true
num_levs_with_cloud: 22
input_directories:
fastjx_input_dir: /see/namelist/file
cloudj_input_dir: /see/namelist/file
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ operations:

photolysis:
activate: true
num_levs_with_cloud: ${RUNDIR_PHOT_CLD_NLEV}
input_directories:
fastjx_input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/FAST_JX/v2024-05-Hg/
cloudj_input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/CLOUD_J/v2024-05/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ operations:

photolysis:
activate: true
num_levs_with_cloud: ${RUNDIR_PHOT_CLD_NLEV}
input_directories:
fastjx_input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/FAST_JX/v2024-05/
cloudj_input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/CLOUD_J/v2023-05/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ operations:

photolysis:
activate: true
num_levs_with_cloud: ${RUNDIR_PHOT_CLD_NLEV}
input_directories:
fastjx_input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/FAST_JX/v2024-05/
cloudj_input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/CLOUD_J/v2023-05/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ operations:

photolysis:
activate: true
num_levs_with_cloud: ${RUNDIR_PHOT_CLD_NLEV}
input_directories:
fastjx_input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/FAST_JX/v2024-05/
cloudj_input_dir: ${RUNDIR_DATA_ROOT}/CHEM_INPUTS/CLOUD_J/v2023-05/
Expand Down
1 change: 1 addition & 0 deletions run/GEOS/geoschem_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ operations:

photolysis:
activate: true
num_levs_with_cloud: 34
input_directories:
fastjx_input_dir: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/FAST_JX/v2023-10/
cloudj_input_dir: /discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/GEOSCHEMchem/v0.0.0/CHEM_INPUTS/CLOUD_J/v2023-05/
Expand Down
1 change: 1 addition & 0 deletions run/WRF/fullchem/geoschem_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ operations:

photolysis:
input_dir: /n/holyscratch01/external_repos/GEOS-CHEM/gcgrid/data/ExtData/CHEM_INPUTS/FAST_JX/v2021-10/
num_levs_with_cloud: 20
overhead_O3:
use_online_O3_from_model: true
use_column_O3_from_met: true
Expand Down
2 changes: 2 additions & 0 deletions run/shared/settings/geosfp/geosfp.preprocessed_ll.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ RUNDIR_METLIGHTNING_RES='0.25x0.3125'
RUNDIR_LIGHTNOX_CLIM=false
RUNDIR_MET_LCLIM='2014-2019'

RUNDIR_PHOT_CLD_NLEV=34

RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS="""
${RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION}

Expand Down
2 changes: 2 additions & 0 deletions run/shared/settings/geosfp/geosfp.raw_ll.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ RUNDIR_METLIGHTNING_RES='0.25x0.3125'
RUNDIR_LIGHTNOX_CLIM=false
RUNDIR_MET_LCLIM='2014-2019'

RUNDIR_PHOT_CLD_NLEV=34

RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS="""

${RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS_FOR_ADVECTION}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ 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}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ 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}
Expand Down
2 changes: 2 additions & 0 deletions run/shared/settings/geosit/geosit.preprocessed_ll.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ RUNDIR_METLIGHTNING_RES='0.5x0.625'
RUNDIR_LIGHTNOX_CLIM=true
RUNDIR_MET_LCLIM='1980-2019'

RUNDIR_PHOT_CLD_NLEV=34

RUNDIR_IMPORT_MASS_FLUX_FROM_EXTDATA=.false.
RUNDIR_USE_TOTAL_AIR_PRESSURE_IN_ADVECTION=0

Expand Down
2 changes: 2 additions & 0 deletions run/shared/settings/geosit/geosit.raw_cs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ 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}
Expand Down
2 changes: 2 additions & 0 deletions run/shared/settings/geosit/geosit.raw_ll.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ 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}
Expand Down
2 changes: 2 additions & 0 deletions run/shared/settings/merra2.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ RUNDIR_METLIGHTNING_RES='0.5x0.625'
RUNDIR_LIGHTNOX_CLIM=false
RUNDIR_MET_LCLIM='1980-2019'

RUNDIR_PHOT_CLD_NLEV=34

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

Expand Down
2 changes: 2 additions & 0 deletions run/shared/settings/modele2.1.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,5 @@ RUNDIR_MET_EXT='nc4'
RUNDIR_MET_CN_YR=1950
RUNDIR_MET_PRES_UNIT='Pa '
RUNDIR_MET_PRES_SCALE='0.01'

RUNDIR_PHOT_CLD_NLEV=28

0 comments on commit f78052f

Please sign in to comment.