From 1b746a2aaa6ea9c74be83095eb763eb65a34cb27 Mon Sep 17 00:00:00 2001 From: Wuyin Lin Date: Wed, 20 Sep 2023 20:35:02 -0700 Subject: [PATCH 1/2] Tentative fixes for SSP tests --- ...SP370_eam_CMIP6_chemUCI-Linoz-mam5-vbs.xml | 82 +++++++++++++++++++ ...SP585_eam_CMIP6_chemUCI-Linoz-mam5-vbs.xml | 82 +++++++++++++++++++ .../eam/cime_config/config_component.xml | 1 + 3 files changed, 165 insertions(+) create mode 100755 components/eam/bld/namelist_files/use_cases/SSP370_eam_CMIP6_chemUCI-Linoz-mam5-vbs.xml create mode 100755 components/eam/bld/namelist_files/use_cases/SSP585_eam_CMIP6_chemUCI-Linoz-mam5-vbs.xml diff --git a/components/eam/bld/namelist_files/use_cases/SSP370_eam_CMIP6_chemUCI-Linoz-mam5-vbs.xml b/components/eam/bld/namelist_files/use_cases/SSP370_eam_CMIP6_chemUCI-Linoz-mam5-vbs.xml new file mode 100755 index 000000000000..60912c544194 --- /dev/null +++ b/components/eam/bld/namelist_files/use_cases/SSP370_eam_CMIP6_chemUCI-Linoz-mam5-vbs.xml @@ -0,0 +1,82 @@ + + + + +.true. + + +atm/cam/solar/Solar_1850-2299_input4MIPS_c20181106.nc +SERIAL + + +atm/cam/ggas/GHG_CMIP_SSP370-1-2-1_Annual_Global_2015-2500_c20210509.nc +RAMPED + + +atm/cam/volc +CMIP_DOE-ACME_radiation_average_1850-2014_v3_c20171204.nc +VOLC_CMIP6 +CYCLICAL +1 + + +.true. +.true. +.true. + + +INTERP_MISSING_MONTHS +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_so2_elev_2015-2100_c210216.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_soag_elev_2015-2100_c210216.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_bc_a4_elev_2015-2100_c210216.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_num_a1_elev_2015-2100_c210216.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_num_a2_elev_2015-2100_c210216.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_num_a4_elev_2015-2100_c210216.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_pom_a4_elev_2015-2100_c210216.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_so4_a1_elev_2015-2100_c210216.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_so4_a2_elev_2015-2100_c210216.nc + + +INTERP_MISSING_MONTHS +atm/cam/chem/trop_mozart_aero/emis/DMSflux.1850-2100.1deg_latlon_conserv.POPmonthlyClimFromACES4BGC_c20160727.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_so2_surf_2015-2100_c210216.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_bc_a4_surf_2015-2100_c210216.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_num_a1_surf_2015-2100_c210216.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_num_a2_surf_2015-2100_c210216.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_num_a4_surf_2015-2100_c210216.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_pom_a4_surf_2015-2100_c210216.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_so4_a1_surf_2015-2100_c210216.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP370_ne30/cmip6_ssp370_mam4_so4_a2_surf_2015-2100_c210216.nc + + +INTERP_MISSING_MONTHS +atm/cam/chem/trop_mozart_aero/oxid +oxid_SSP370_1.9x2.5_L70_2015-2100_c20211006.nc +'' + + + + +3 +1 +'atm/cam/chem/trop_mam/marine_BGC/' +'CYCLICAL' +'monthly_macromolecules_0.1deg_bilinear_latlon_year01_merge_date.nc' +0 +0 +'chla:CHL1','mpoly:TRUEPOLYC','mprot:TRUEPROTC','mlip:TRUELIPC' + + +atm/cam/chem/trop_mozart/ub/Linoz_Chlorine_Loading_CMIP6_Hist_SSP370_0003-2503_c20210202.nc +SERIAL +linv3_1849-2101_CMIP6_Hist_SSP370_10deg_58km_c20230705.nc +atm/cam/chem/trop_mozart/ub +INTERP_MISSING_MONTHS + + +'H2O2', 'H2SO4', 'SO2' + + +2015-2100 + + diff --git a/components/eam/bld/namelist_files/use_cases/SSP585_eam_CMIP6_chemUCI-Linoz-mam5-vbs.xml b/components/eam/bld/namelist_files/use_cases/SSP585_eam_CMIP6_chemUCI-Linoz-mam5-vbs.xml new file mode 100755 index 000000000000..98e2dcf76042 --- /dev/null +++ b/components/eam/bld/namelist_files/use_cases/SSP585_eam_CMIP6_chemUCI-Linoz-mam5-vbs.xml @@ -0,0 +1,82 @@ + + + + +.true. + + +atm/cam/solar/Solar_1850-2299_input4MIPS_c20181106.nc +SERIAL + + +atm/cam/ggas/GHG_CMIP_SSP585-1-2-1_Annual_Global_2015-2500_c20190310.nc +RAMPED + + +atm/cam/volc +CMIP_DOE-ACME_radiation_average_1850-2014_v3_c20171204.nc +VOLC_CMIP6 +CYCLICAL +1 + + +.true. +.true. +.true. + + +INTERP_MISSING_MONTHS +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_so2_elev_2015-2100_c190828.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_soag_elev_2015-2100_c190828.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_bc_a4_elev_2015-2100_c190828.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_num_a1_elev_2015-2100_c190828.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_num_a2_elev_2015-2100_c190828.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_num_a4_elev_2015-2100_c190828.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_pom_a4_elev_2015-2100_c190828.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_so4_a1_elev_2015-2100_c190828.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_so4_a2_elev_2015-2100_c190828.nc + + +INTERP_MISSING_MONTHS +atm/cam/chem/trop_mozart_aero/emis/DMSflux.1850-2100.1deg_latlon_conserv.POPmonthlyClimFromACES4BGC_c20160727.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_so2_surf_2015-2100_c190828.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_bc_a4_surf_2015-2100_c190828.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_num_a1_surf_2015-2100_c190828.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_num_a2_surf_2015-2100_c190828.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_num_a4_surf_2015-2100_c190828.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_pom_a4_surf_2015-2100_c190828.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_so4_a1_surf_2015-2100_c190828.nc +atm/cam/chem/trop_mozart_aero/emis/CMIP6_SSP585_ne30/cmip6_ssp585_mam4_so4_a2_surf_2015-2100_c190828.nc + + +INTERP_MISSING_MONTHS +atm/cam/chem/trop_mozart_aero/oxid +oxid_1.9x2.5_L70_2015-2100_c20190421.nc +'' + + + + +3 +1 +'atm/cam/chem/trop_mam/marine_BGC/' +'CYCLICAL' +'monthly_macromolecules_0.1deg_bilinear_latlon_year01_merge_date.nc' +0 +0 +'chla:CHL1','mpoly:TRUEPOLYC','mprot:TRUEPROTC','mlip:TRUELIPC' + + +atm/cam/chem/trop_mozart/ub/Linoz_Chlorine_Loading_CMIP6_Hist_SSP585_0003-2503_c20190414.nc +SERIAL +linv3_1849-2101_CMIP6_Hist_SSP585_10deg_58km_c20230705.nc +atm/cam/chem/trop_mozart/ub +INTERP_MISSING_MONTHS + + +'H2O2', 'H2SO4', 'SO2' + + +2015-2100 + + diff --git a/components/eam/cime_config/config_component.xml b/components/eam/cime_config/config_component.xml index 2ab22bdb442b..bcfe297d3bbc 100755 --- a/components/eam/cime_config/config_component.xml +++ b/components/eam/cime_config/config_component.xml @@ -50,6 +50,7 @@ &eam_phys_defaults; &eam_chem_defaults; &eam_phys_defaults; &eam_chem_defaults; &eam_phys_defaults; &eam_chem_defaults; + &eam_phys_defaults; -chem linoz_mam4_resus_mom_soag -rain_evap_to_coarse_aero &eam_phys_defaults; -chem superfast_mam4_resus_mom_soag -rain_evap_to_coarse_aero -clubb_sgs -microphys mg2 -chem superfast_mam4_resus_mom_soag -rain_evap_to_coarse_aero -nlev 72 -usr_mech_infile $SRCROOT/components/eam/chem_proc/inputs/pp_chemUCI_mam4_resus_mom_soag_tag.in -clubb_sgs -microphys mg2 -chem superfast_mam4_resus_mom_soag -rain_evap_to_coarse_aero -nlev 72 -usr_mech_infile $SRCROOT/components/eam/chem_proc/inputs/pp_chemUCI_linozv3_mam4_resus_mom_soag_tag.in From ce46a5fcb527e7ec165cbe105289464ae6c9f90a Mon Sep 17 00:00:00 2001 From: Wuyin Lin Date: Thu, 28 Sep 2023 13:24:52 -0700 Subject: [PATCH 2/2] Use SSP specific pattern match and fix use of eqv operator with or/and --- components/eam/cime_config/config_component.xml | 2 +- components/eam/src/chemistry/mozart/lin_strat_chem.F90 | 4 ++-- components/eam/src/chemistry/utils/tracer_data.F90 | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/eam/cime_config/config_component.xml b/components/eam/cime_config/config_component.xml index bcfe297d3bbc..ea5360b1ba6e 100755 --- a/components/eam/cime_config/config_component.xml +++ b/components/eam/cime_config/config_component.xml @@ -47,7 +47,7 @@ -mach $MACH -phys default - &eam_phys_defaults; &eam_chem_defaults; + &eam_phys_defaults; &eam_chem_defaults; &eam_phys_defaults; &eam_chem_defaults; &eam_phys_defaults; &eam_chem_defaults; &eam_phys_defaults; -chem linoz_mam4_resus_mom_soag -rain_evap_to_coarse_aero diff --git a/components/eam/src/chemistry/mozart/lin_strat_chem.F90 b/components/eam/src/chemistry/mozart/lin_strat_chem.F90 index c941e405c801..15dd6c3d51e0 100644 --- a/components/eam/src/chemistry/mozart/lin_strat_chem.F90 +++ b/components/eam/src/chemistry/mozart/lin_strat_chem.F90 @@ -186,10 +186,10 @@ subroutine lin_strat_chem_inti(phys_state) if (linoz_v3) file%linoz_v3=.true. if (linoz_v2) file%linoz_v2=.true. !! - if (linoz_v2.eqv..true. .and.linoz_v3.eqv..true. ) then + if (linoz_v2 .and. linoz_v3 ) then write(iulog,*) 'linoz_readnl, linoz: Both linoz_v2 and linoz_v3 are true. This is wrong! please check.' return - elseif (linoz_v2.eqv..false..and.linoz_v3.eqv..false.) then + elseif (.not. linoz_v2 .and. .not. linoz_v3) then write(iulog,*) 'linoz_readnl, linoz: Both linoz_v2 and linoz_v3 are false, which can be correct, but be sure that is intended!' endif !! diff --git a/components/eam/src/chemistry/utils/tracer_data.F90 b/components/eam/src/chemistry/utils/tracer_data.F90 index c4ec63568064..073aacff6e47 100644 --- a/components/eam/src/chemistry/utils/tracer_data.F90 +++ b/components/eam/src/chemistry/utils/tracer_data.F90 @@ -1285,7 +1285,7 @@ subroutine read_next_trcdata(state, flds, file ) cnt3(flds(f)%coords(ZA_TIMDIM)) = 1 strt3(flds(f)%coords(ZA_TIMDIM)) = recnos(i) !! - if (file%linoz_v3.eqv..true..or.file%linoz_v2.eqv..true.) then + if (file%linoz_v3 .or. file%linoz_v2) then !!check if these are the surface variables !!no need to do interpolate since only used !!in preprocessing,