diff --git a/.circleci/config.yml b/.circleci/config.yml index 5c3bbd8a..be3c7d50 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2.1 # Anchors to prevent forgetting to update a version baselibs_version: &baselibs_version v7.7.0 -bcs_version: &bcs_version v10.25.0 +bcs_version: &bcs_version v11.00.0 orbs: ci: geos-esm/circleci-tools@1 @@ -23,7 +23,8 @@ workflows: checkout_fixture: true mepodevelop: true persist_workspace: true # Needs to be true to run fv3/gcm experiment, costs extra - # Run GCM (1 hour, no ExtData) + + # Run AMIP GCM (1 hour, no ExtData) - ci/run_gcm: name: run-GCM-on-<< matrix.compiler >> context: @@ -37,3 +38,18 @@ workflows: baselibs_version: *baselibs_version bcs_version: *bcs_version + # Run Coupled GCM (1 hour, no ExtData) + - ci/run_gcm: + name: run-coupled-GCM-on-<< matrix.compiler >> + context: + - docker-hub-creds + matrix: + parameters: + compiler: [gfortran, ifort] + requires: + - build-GEOSgcm-on-<< matrix.compiler >> + repo: GEOSgcm + baselibs_version: *baselibs_version + bcs_version: *bcs_version + gcm_ocean_type: MOM6 + change_layout: false diff --git a/AGCM.rc.tmpl b/AGCM.rc.tmpl index 9fb5503a..6965e7d6 100644 --- a/AGCM.rc.tmpl +++ b/AGCM.rc.tmpl @@ -1,38 +1,54 @@ # Atmospheric Model Configuration Parameters # ------------------------------------------ - NX: @NX - NY: @NY +NX: @NX +NY: @NY - IOSERVER_NODES: @NUM_OSERVER_NODES +IOSERVER_NODES: @NUM_OSERVER_NODES NUM_BACKEND_PES: @NUM_BACKEND_PES - AGCM_IM: @AGCM_IM - AGCM_JM: @AGCM_JM - AGCM_LM: @AGCM_LM +AGCM_IM: @AGCM_IM +AGCM_JM: @AGCM_JM +AGCM_LM: @AGCM_LM AGCM_GRIDNAME: @AGCM_GRIDNAME - AGCM.GRID_TYPE: @GRID_TYPE - AGCM.GRIDNAME: @AGCM_GRIDNAME - @CUBE_AGCM AGCM.NF: @AGCM_NF - AGCM.LM: @AGCM_LM - AGCM.IM_WORLD: @AGCM_IM - @LATLON_AGCM AGCM.JM_WORLD: @AGCM_JM +AGCM.GRID_TYPE: @GRID_TYPE +AGCM.GRIDNAME: @AGCM_GRIDNAME +@CUBE_AGCM AGCM.NF: @AGCM_NF +AGCM.LM: @AGCM_LM +AGCM.IM_WORLD: @AGCM_IM +@LATLON_AGCM AGCM.JM_WORLD: @AGCM_JM + +@CONUS AGCM.STRETCH_FACTOR: @STRETCH_FACTOR +@CONUS AGCM.TARGET_LAT: 39.5 +@CONUS AGCM.TARGET_LON: -98.35 + +########################################################### +# long physics DT options +# ---------------------------------------- +ADJUST_DT: .FALSE. +CHEMISTRY_RUN_AT_INTERVAL_START: .TRUE. +CHEMISTRY_DT: @LONG_DT +GOCART_DT: @LONG_DT +HEMCO_DT: @LONG_DT +GF_DT: @LONG_DT +UW_DT: @LONG_DT +########################################################### ########################################################### # dynamics options # ---------------------------------------- DYCORE: @DYCORE -#FV3_CONFIG: MONOTONIC +@CONUS FV3_CONFIG: HWT AdvCore_Advection: 0 ########################################################### ########################################################### # radiation options # ---------------------------------------- - SOLAR_DT: 3600 - IRRAD_DT: 3600 -SATSIM_DT: 3600 + SOLAR_DT: @SOLAR_DT + IRRAD_DT: @IRRAD_DT +SATSIM_DT: @IRRAD_DT SOLARAvrg: 0 IRRADAvrg: 0 EOT: .TRUE. @@ -88,6 +104,20 @@ CLOSURE_CONGESTUS: 3 # ------------------------ ########################################################### +>>>HIST_GOCART<<<########################################################### +>>>HIST_GOCART<<<# Enable wet scavenging +>>>HIST_GOCART<<<# NOTE: this section should be commented out when running gocart.data +>>>HIST_GOCART<<>>HIST_GOCART<<>>HIST_GOCART<<>>HIST_GOCART<<>>HIST_GOCART<<>>HIST_GOCART<<>>HIST_GOCART<<>>HIST_GOCART<<>>HIST_GOCART<<<:: +>>>HIST_GOCART<<<########################################################### + ########################################################### # Ocean Model Configuration Parameters # ------------------------------------ diff --git a/HISTORY.AGCM.rc.tmpl b/HISTORY.AGCM.rc.tmpl index 712c9cd9..7ed8fa6e 100644 --- a/HISTORY.AGCM.rc.tmpl +++ b/HISTORY.AGCM.rc.tmpl @@ -201,6 +201,15 @@ PC@HIST_IMx@HIST_JM-DC.LM: @AGCM_LM 'ASNOW' , 'SURFACE' , 'RADSRF' , 'RADIATION' , 'TBISCCP' , 'SATSIM' , + 'DBZ_MAX' , 'MOIST' , 'DBZMAX' , 'MAX' , + 'DBZ_TOP' , 'MOIST' , 'DBZTOP' , 'MAX' , + 'DBZ_1KM' , 'MOIST' , 'DBZ1KM' , 'MAX' , + 'DBZ_M10C' , 'MOIST' , 'DBZM10C' , 'MAX' , + 'UH25' , 'DYN' , 'UH25MX' , 'MAX' , + 'UH03' , 'DYN' , 'UH03MX' , 'MAX' , + 'SRH25' , 'DYN' , 'SRH25MX' , 'MAX' , + 'SRH03' , 'DYN' , 'SRH03MX' , 'MAX' , + 'SRH01' , 'DYN' , 'SRH01MX' , 'MAX' , 'FLNS' , 'IRRAD' , 'FLNSC' , 'IRRAD' , 'FLNSA' , 'IRRAD' , 'FLNSCNA' , @@ -980,15 +989,15 @@ PC@HIST_IMx@HIST_JM-DC.LM: @AGCM_LM 'NH4WT' , 'NI' , 'NIFLUXU' , 'NI' , 'NIFLUXV' , 'NI' , -# 'DDU2gDT' , 'MOIST' , 'DUSV' , -# 'DSS2gDT' , 'MOIST' , 'SSSV' , -# 'DOC2gDT' , 'MOIST' , 'OCSV' , -# 'DBC2gDT' , 'MOIST' , 'BCSV' , -# 'DSU2gDT' , 'MOIST' , 'SUSV' , -# 'DNI2gDT' , 'MOIST' , 'NISV' , -# 'DBRC2gDT' , 'MOIST' , 'BRSV' , 'NH3SV' , 'NI' , 'NH4SV' , 'NI' , + 'MCHEMTRI%DU::DUIM' , 'PHYSICS' , 'DUSV' , + 'MCHEMTRI%SS::SSIM' , 'PHYSICS' , 'SSSV' , + 'MCHEMTRI%CA.oc::CA.ocphilicIM' , 'PHYSICS' , 'OCSV' , + 'MCHEMTRI%CA.bc::CA.bcphilicIM' , 'PHYSICS' , 'BCSV' , + 'MCHEMTRI%CA.br::CA.brphilicIM' , 'PHYSICS' , 'BRSV' , + 'MCHEMTRI%SU::SO4IM' , 'PHYSICS' , 'SUSV' , + 'MCHEMTRI%NI::NO3an1IM' , 'PHYSICS' , 'NISV' , :: tavg3d_aer_p.template: '%y4%m2%d2_%h2%n2z.nc4', diff --git a/HISTORY.AOGCM-MOM5.rc.tmpl b/HISTORY.AOGCM-MOM5.rc.tmpl index 0c5425a4..a80d9bb0 100644 --- a/HISTORY.AOGCM-MOM5.rc.tmpl +++ b/HISTORY.AOGCM-MOM5.rc.tmpl @@ -481,7 +481,6 @@ PC@HIST_IMx@HIST_JM-DC.LM: @AGCM_LM 'RSU_CN' , 'MOIST' , 'RSUCN' , 'RSU_AN' , 'MOIST' , 'RSUAN' , 'RSU_LS' , 'MOIST' , 'RSULS' , - 'THIM' , 'PHYSICS' , 'EVAPC' , 'MOIST' , 'SUBLC' , 'MOIST' , 'FCLD' , 'MOIST' , @@ -991,13 +990,13 @@ PC@HIST_IMx@HIST_JM-DC.LM: @AGCM_LM 'NH4WT' , 'NI' , 'NIFLUXU' , 'NI' , 'NIFLUXV' , 'NI' , - 'DDU2gDT' , 'MOIST' , 'DUSV' , - 'DSS2gDT' , 'MOIST' , 'SSSV' , - 'DOC2gDT' , 'MOIST' , 'OCSV' , - 'DBC2gDT' , 'MOIST' , 'BCSV' , - 'DSU2gDT' , 'MOIST' , 'SUSV' , - 'DNI2gDT' , 'MOIST' , 'NISV' , - 'DBRC2gDT' , 'MOIST' , 'BRSV' , +# 'DDU2gDT' , 'MOIST' , 'DUSV' , +# 'DSS2gDT' , 'MOIST' , 'SSSV' , +# 'DOC2gDT' , 'MOIST' , 'OCSV' , +# 'DBC2gDT' , 'MOIST' , 'BCSV' , +# 'DSU2gDT' , 'MOIST' , 'SUSV' , +# 'DNI2gDT' , 'MOIST' , 'NISV' , +# 'DBRC2gDT' , 'MOIST' , 'BRSV' , 'NH3SV' , 'NI' , 'NH4SV' , 'NI' , :: diff --git a/HISTORY.AOGCM.rc.tmpl b/HISTORY.AOGCM.rc.tmpl index a76fa554..cfe2aa17 100644 --- a/HISTORY.AOGCM.rc.tmpl +++ b/HISTORY.AOGCM.rc.tmpl @@ -478,7 +478,6 @@ PC@HIST_IMx@HIST_JM-DC.LM: @AGCM_LM 'RSU_CN' , 'MOIST' , 'RSUCN' , 'RSU_AN' , 'MOIST' , 'RSUAN' , 'RSU_LS' , 'MOIST' , 'RSULS' , - 'THIM' , 'PHYSICS' , 'EVAPC' , 'MOIST' , 'SUBLC' , 'MOIST' , 'FCLD' , 'MOIST' , @@ -988,13 +987,13 @@ PC@HIST_IMx@HIST_JM-DC.LM: @AGCM_LM 'NH4WT' , 'NI' , 'NIFLUXU' , 'NI' , 'NIFLUXV' , 'NI' , - 'DDU2gDT' , 'MOIST' , 'DUSV' , - 'DSS2gDT' , 'MOIST' , 'SSSV' , - 'DOC2gDT' , 'MOIST' , 'OCSV' , - 'DBC2gDT' , 'MOIST' , 'BCSV' , - 'DSU2gDT' , 'MOIST' , 'SUSV' , - 'DNI2gDT' , 'MOIST' , 'NISV' , - 'DBRC2gDT' , 'MOIST' , 'BRSV' , +# 'DDU2gDT' , 'MOIST' , 'DUSV' , +# 'DSS2gDT' , 'MOIST' , 'SSSV' , +# 'DOC2gDT' , 'MOIST' , 'OCSV' , +# 'DBC2gDT' , 'MOIST' , 'BCSV' , +# 'DSU2gDT' , 'MOIST' , 'SUSV' , +# 'DNI2gDT' , 'MOIST' , 'NISV' , +# 'DBRC2gDT' , 'MOIST' , 'BRSV' , 'NH3SV' , 'NI' , 'NH4SV' , 'NI' , :: diff --git a/HISTORY.BENCHMARK.rc.tmpl b/HISTORY.BENCHMARK.rc.tmpl index 82ea12e3..5ba8e435 100755 --- a/HISTORY.BENCHMARK.rc.tmpl +++ b/HISTORY.BENCHMARK.rc.tmpl @@ -498,7 +498,6 @@ PC23040x11521-DC.LM: 181 'RSU_CN' , 'MOIST' , 'RSUCN' , 'RSU_AN' , 'MOIST' , 'RSUAN' , 'RSU_LS' , 'MOIST' , 'RSULS' , - 'THIM' , 'PHYSICS' , 'EVAPC' , 'MOIST' , 'SUBLC' , 'MOIST' , 'FCLD' , 'MOIST' , @@ -1057,15 +1056,15 @@ PC23040x11521-DC.LM: 181 'NH4WT' , 'NI' , 'NIFLUXU' , 'NI' , 'NIFLUXV' , 'NI' , - 'DDU2gDT' , 'MOIST' , 'DUSV' , - 'DSS2gDT' , 'MOIST' , 'SSSV' , - 'DOC2gDT' , 'MOIST' , 'OCSV' , - 'DBC2gDT' , 'MOIST' , 'BCSV' , - 'DSU2gDT' , 'MOIST' , 'SUSV' , - 'DNI2gDT' , 'MOIST' , 'NISV' , - 'DBRC2gDT' , 'MOIST' , 'BRSV' , - 'DNH32gDT' , 'MOIST' , 'NH3SV' , - 'DNH4A2gDT' , 'MOIST' , 'NH4SV' , +# 'DDU2gDT' , 'MOIST' , 'DUSV' , +# 'DSS2gDT' , 'MOIST' , 'SSSV' , +# 'DOC2gDT' , 'MOIST' , 'OCSV' , +# 'DBC2gDT' , 'MOIST' , 'BCSV' , +# 'DSU2gDT' , 'MOIST' , 'SUSV' , +# 'DNI2gDT' , 'MOIST' , 'NISV' , +# 'DBRC2gDT' , 'MOIST' , 'BRSV' , +# 'DNH32gDT' , 'MOIST' , 'NH3SV' , +# 'DNH4A2gDT' , 'MOIST' , 'NH4SV' , :: tavg3d_aer_p.template: '%y4%m2%d2_%h2%n2z.nc4', diff --git a/HISTORY.rc.tmpl b/HISTORY.rc.tmpl index 785216d6..cae7266c 100644 --- a/HISTORY.rc.tmpl +++ b/HISTORY.rc.tmpl @@ -1478,7 +1478,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.bcEMBB' , 'CA.bc' , 'BCEMBB' , 'CA.bcEMBF' , 'CA.bc' , 'BCEMBF' , 'CA.bcEMAN' , 'CA.bc' , 'BCEMAN' , -# 'DBC2gDT' , 'MOIST' , 'BCSV' , + 'MTRI%CA.bc::CA.bcphilicIM' , 'PHYSICS' , 'BCSV' , # Brown Carbon 'CA.brEM' , 'CA.br' , 'BREM001;BREM002' , 'CA.brDP' , 'CA.br' , 'BRDP001;BRDP002' , @@ -1488,19 +1488,19 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.brEMAN' , 'CA.br' , 'BREMAN' , 'CA.brPSOA' , 'CA.br' , 'BRPSOA' , 'CA.brHYPHIL' , 'CA.br' , 'BRHYPHIL' , -# 'DBRC2gDT' , 'MOIST' , 'BRSV' , + 'MTRI%CA.br::CA.brphilicIM' , 'PHYSICS' , 'BRSV' , # Dust 'DUEM' , 'DU' , 'DUEM001;DUEM002;DUEM003;DUEM004;DUEM005', 'DUSD' , 'DU' , 'DUSD001;DUSD002;DUSD003;DUSD004;DUSD005', 'DUDP' , 'DU' , 'DUDP001;DUDP002;DUDP003;DUDP004;DUDP005', 'DUWT' , 'DU' , 'DUWT001;DUWT002;DUWT003;DUWT004;DUWT005', -# 'DDU2gDT' , 'MOIST' , 'DUSV' , + 'MTRI%DU::DUIM' , 'PHYSICS' , 'DUSV' , # Seasalt 'SSEM' , 'SS' , 'SSEM001;SSEM002;SSEM003;SSEM004;SSEM005', 'SSSD' , 'SS' , 'SSSD001;SSSD002;SSSD003;SSSD004;SSSD005', 'SSDP' , 'SS' , 'SSDP001;SSDP002;SSDP003;SSDP004;SSDP005', 'SSWT' , 'SS' , 'SSWT001;SSWT002;SSWT003;SSWT004;SSWT005', -# 'DSS2gDT' , 'MOIST' , 'SSSV' , + 'MTRI%SS::SSIM' , 'PHYSICS' , 'SSSV' , # Sulfates 'SUEM' , 'SU' , 'SUEM001;SUEM002;SUEM003;SUEM004', 'SUSD' , 'SU' , 'SUSD001;SUSD002;SUSD003;SUSD004', @@ -1516,7 +1516,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SO2EMBB' , 'SU' , 'SO2EMVN' , 'SU' , 'SO2EMVE' , 'SU' , -# 'DSU2gDT' , 'MOIST' , 'SUSV' , + 'MTRI%SU::SO4IM' , 'PHYSICS' , 'SUSV' , # Organic Carbon 'CA.ocEM' , 'CA.oc' , 'OCEM001;OCEM002' , 'CA.ocDP' , 'CA.oc' , 'OCDP001;OCDP002' , @@ -1527,7 +1527,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.ocEMBG' , 'CA.oc' , 'OCEMBG' , 'CA.ocPSOA' , 'CA.oc' , 'OCPSOA' , 'CA.ocHYPHIL' , 'CA.oc' , 'OCHYPHIL' , -# 'DOC2gDT' , 'MOIST' , 'OCSV' , + 'MTRI%CA.oc::CA.ocphilicIM' , 'PHYSICS' , 'OCSV' , # Nitrate 'NIPNO3AQ' , 'NI' , 'NIPNH4AQ' , 'NI' , @@ -1544,7 +1544,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'NH4DP' , 'NI' , 'NH4WT' , 'NI' , 'NH4SV' , 'NI' , -# 'DNI2gDT' , 'MOIST' , 'NISV' , + 'MTRI%NI::NO3an1IM' , 'PHYSICS' , 'NISV' , :: tavg3_2d_chm_Nx-.format: 'CFIO' , diff --git a/HISTORY_FP.rc.03z.tmpl b/HISTORY_FP.rc.03z.tmpl index a50200ac..7ad67703 100644 --- a/HISTORY_FP.rc.03z.tmpl +++ b/HISTORY_FP.rc.03z.tmpl @@ -1493,7 +1493,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.bcEMBB' , 'CA.bc' , 'BCEMBB' , 'CA.bcEMBF' , 'CA.bc' , 'BCEMBF' , 'CA.bcEMAN' , 'CA.bc' , 'BCEMAN' , -# 'DBC2gDT' , 'MOIST' , 'BCSV' , + 'MTRI%CA.bc::CA.bcphilicIM' , 'PHYSICS' , 'BCSV' , # Brown Carbon 'CA.brEM' , 'CA.br' , 'BREM001;BREM002' , 'CA.brDP' , 'CA.br' , 'BRDP001;BRDP002' , @@ -1504,7 +1504,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.brEMAN' , 'CA.br' , 'BREMAN' , 'CA.brPSOA' , 'CA.br' , 'BRPSOA' , 'CA.brHYPHIL' , 'CA.br' , 'BRHYPHIL' , -# 'DBRC2gDT' , 'MOIST' , 'BRSV' , + 'MTRI%CA.br::CA.brphilicIM' , 'PHYSICS' , 'BRSV' , # Dust 'DUEM' , 'DU' , 'DUEM001;DUEM002;DUEM003;DUEM004;DUEM005' , 'DUSD' , 'DU' , 'DUSD001;DUSD002;DUSD003;DUSD004;DUSD005' , @@ -1513,7 +1513,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'DUEXTTFM' , 'DU' , 'DUSCATFM' , 'DU' , 'DUAERIDX' , 'DU' , -# 'DDU2gDT' , 'MOIST' , 'DUSV' , + 'MTRI%DU::DUIM' , 'PHYSICS' , 'DUSV' , # Seasalt 'SSEM' , 'SS' , 'SSEM001;SSEM002;SSEM003;SSEM004;SSEM005' , 'SSSD' , 'SS' , 'SSSD001;SSSD002;SSSD003;SSSD004;SSSD005' , @@ -1522,7 +1522,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SSEXTTFM' , 'SS' , 'SSSCATFM' , 'SS' , 'SSAERIDX' , 'SS' , -# 'DSS2gDT' , 'MOIST' , 'SSSV' , + 'MTRI%SS::SSIM' , 'PHYSICS' , 'SSSV' , # Sulfates 'SUEM' , 'SU' , 'SUEM001;SUEM002;SUEM003;SUEM004', 'SUSD' , 'SU' , 'SUSD001;SUSD002;SUSD003;SUSD004', @@ -1538,7 +1538,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SO2EMBB' , 'SU' , 'SO2EMVN' , 'SU' , 'SO2EMVE' , 'SU' , -# 'DSU2gDT' , 'MOIST' , 'SUSV' , + 'MTRI%SU::SO4IM' , 'PHYSICS' , 'SUSV' , # Organic Carbon 'CA.ocEM' , 'CA.oc' , 'OCEM001;OCEM002' , 'CA.ocDP' , 'CA.oc' , 'OCDP001;OCDP002' , @@ -1549,7 +1549,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.ocEMBG' , 'CA.oc' , 'OCEMBG' , 'CA.ocPSOA' , 'CA.oc' , 'OCPSOA' , 'CA.ocHYPHIL' , 'CA.oc' , 'OCHYPHIL' , -# 'DOC2gDT' , 'MOIST' , 'OCSV' , + 'MTRI%CA.oc::CA.ocphilicIM' , 'PHYSICS' , 'OCSV' , # Nitrate 'NIPNO3AQ' , 'NI' , 'NIPNH4AQ' , 'NI' , @@ -1567,7 +1567,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'NH4DP' , 'NI' , 'NH4WT' , 'NI' , 'NH4SV' , 'NI' , -# 'DNI2gDT' , 'MOIST' , 'NISV' , + 'MTRI%NI::NO3an1IM' , 'PHYSICS' , 'NISV' , :: tavg3_2d_chm_Nx-.format: 'CFIO' , @@ -2427,7 +2427,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.bcEMBB' , 'CA.bc' , 'BCEMBB' , 'CA.bcEMBF' , 'CA.bc' , 'BCEMBF' , 'CA.bcEMAN' , 'CA.bc' , 'BCEMAN' , -# 'DBC2gDT' , 'MOIST' , 'BCSV' , + 'MTRI%CA.bc::CA.bcphilicIM' , 'PHYSICS' , 'BCSV' , # Brown Carbon 'CA.brEM' , 'CA.br' , 'BREM001;BREM002' , 'CA.brDP' , 'CA.br' , 'BRDP001;BRDP002' , @@ -2436,7 +2436,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.brEMBB' , 'CA.br' , 'BREMBB' , 'CA.brEMBF' , 'CA.br' , 'BREMBF' , 'CA.brEMAN' , 'CA.br' , 'BREMAN' , -# 'DBRC2gDT' , 'MOIST' , 'BRSV' , + 'MTRI%CA.br::CA.brphilicIM' , 'PHYSICS' , 'BRSV' , # Dust 'DUEM' , 'DU' , 'DUSD' , 'DU' , @@ -2445,7 +2445,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'DUEXTTFM' , 'DU' , 'DUSCATFM' , 'DU' , 'DUAERIDX' , 'DU' , -# 'DDU2gDT' , 'MOIST' , 'DUSV' , + 'MTRI%DU::DUIM' , 'PHYSICS' , 'DUSV' , # Seasalt 'SSEM' , 'SS' , 'SSSD' , 'SS' , @@ -2454,7 +2454,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SSEXTTFM' , 'SS' , 'SSSCATFM' , 'SS' , 'SSAERIDX' , 'SS' , -# 'DSS2gDT' , 'MOIST' , 'SSSV' , + 'MTRI%SS::SSIM' , 'PHYSICS' , 'SSSV' , # Sulfates 'SUEM' , 'SU' , 'SUEM001;SUEM002;SUEM003;SUEM004', 'SUSD' , 'SU' , 'SUSD001;SUSD002;SUSD003;SUSD004', @@ -2470,7 +2470,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SO2EMBB' , 'SU' , 'SO2EMVN' , 'SU' , 'SO2EMVE' , 'SU' , -# 'DSU2gDT' , 'MOIST' , 'SUSV' , + 'MTRI%SU::SO4IM' , 'PHYSICS' , 'SUSV' , # Organic Carbon 'CA.ocEM' , 'CA.oc' , 'OCEM001;OCEM002', 'CA.ocDP' , 'CA.oc' , 'OCDP001;OCDP002', @@ -2480,7 +2480,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.ocEMAN' , 'CA.oc' , 'OCEMAN' , 'CA.ocEMBG' , 'CA.oc' , 'OCEMBG' , 'CA.ocHYPHIL' , 'CA.oc' , 'OCHYPHIL' , -# 'DOC2gDT' , 'MOIST' , 'OCSV' , + 'MTRI%CA.oc::CA.ocphilicIM' , 'PHYSICS' , 'OCSV' , # Nitrate 'NIPNO3AQ' , 'NI' , 'NIPNH4AQ' , 'NI' , @@ -2498,7 +2498,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'NH4DP' , 'NI' , 'NH4WT' , 'NI' , 'NH4SV' , 'NI' , -# 'DNI2gDT' , 'MOIST' , 'NISV' , + 'MTRI%NI::NO3an1IM' , 'PHYSICS' , 'NISV' , :: ####################################################################### diff --git a/HISTORY_FP.rc.09z.tmpl b/HISTORY_FP.rc.09z.tmpl index b11cd340..881dedf3 100644 --- a/HISTORY_FP.rc.09z.tmpl +++ b/HISTORY_FP.rc.09z.tmpl @@ -1530,7 +1530,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.bcEMBB' , 'CA.bc' , 'BCEMBB' , 'CA.bcEMBF' , 'CA.bc' , 'BCEMBF' , 'CA.bcEMAN' , 'CA.bc' , 'BCEMAN' , -# 'DBC2gDT' , 'MOIST' , 'BCSV' , + 'MTRI%CA.bc::CA.bcphilicIM' , 'PHYSICS' , 'BCSV' , # Brown Carbon 'CA.brEM' , 'CA.br' , 'BREM001;BREM002' , 'CA.brDP' , 'CA.br' , 'BRDP001;BRDP002' , @@ -1541,7 +1541,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.brEMAN' , 'CA.br' , 'BREMAN' , 'CA.brPSOA' , 'CA.br' , 'BRPSOA' , 'CA.brHYPHIL' , 'CA.br' , 'BRHYPHIL' , -# 'DBRC2gDT' , 'MOIST' , 'BRSV' , + 'MTRI%CA.br::CA.brphilicIM' , 'PHYSICS' , 'BRSV' , # Dust 'DUEM' , 'DU' , 'DUEM001;DUEM002;DUEM003;DUEM004;DUEM005' , 'DUSD' , 'DU' , 'DUSD001;DUSD002;DUSD003;DUSD004;DUSD005' , @@ -1550,7 +1550,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'DUEXTTFM' , 'DU' , 'DUSCATFM' , 'DU' , 'DUAERIDX' , 'DU' , -# 'DDU2gDT' , 'MOIST' , 'DUSV' , + 'MTRI%DU::DUIM' , 'PHYSICS' , 'DUSV' , # Seasalt 'SSEM' , 'SS' , 'SSEM001;SSEM002;SSEM003;SSEM004;SSEM005' , 'SSSD' , 'SS' , 'SSSD001;SSSD002;SSSD003;SSSD004;SSSD005' , @@ -1559,7 +1559,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SSEXTTFM' , 'SS' , 'SSSCATFM' , 'SS' , 'SSAERIDX' , 'SS' , -# 'DSS2gDT' , 'MOIST' , 'SSSV' , + 'MTRI%SS::SSIM' , 'PHYSICS' , 'SSSV' , # Sulfates 'SUEM' , 'SU' , 'SUEM001;SUEM002;SUEM003;SUEM004', 'SUSD' , 'SU' , 'SUSD001;SUSD002;SUSD003;SUSD004', @@ -1575,7 +1575,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SO2EMBB' , 'SU' , 'SO2EMVN' , 'SU' , 'SO2EMVE' , 'SU' , -# 'DSU2gDT' , 'MOIST' , 'SUSV' , + 'MTRI%SU::SO4IM' , 'PHYSICS' , 'SUSV' , # Organic Carbon 'CA.ocEM' , 'CA.oc' , 'OCEM001;OCEM002' , 'CA.ocDP' , 'CA.oc' , 'OCDP001;OCDP002' , @@ -1586,7 +1586,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.ocEMBG' , 'CA.oc' , 'OCEMBG' , 'CA.ocPSOA' , 'CA.oc' , 'OCPSOA' , 'CA.ocHYPHIL' , 'CA.oc' , 'OCHYPHIL' , -# 'DOC2gDT' , 'MOIST' , 'OCSV' , + 'MTRI%CA.oc::CA.ocphilicIM' , 'PHYSICS' , 'OCSV' , # Nitrate 'NIPNO3AQ' , 'NI' , 'NIPNH4AQ' , 'NI' , @@ -1604,7 +1604,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'NH4DP' , 'NI' , 'NH4WT' , 'NI' , 'NH4SV' , 'NI' , -# 'DNI2gDT' , 'MOIST' , 'NISV' , + 'MTRI%NI::NO3an1IM' , 'PHYSICS' , 'NISV' , :: tavg3_2d_chm_Nx-.format: 'CFIO' , @@ -2464,7 +2464,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.bcEMBB' , 'CA.bc' , 'BCEMBB' , 'CA.bcEMBF' , 'CA.bc' , 'BCEMBF' , 'CA.bcEMAN' , 'CA.bc' , 'BCEMAN' , -# 'DBC2gDT' , 'MOIST' , 'BCSV' , + 'MTRI%CA.bc::CA.bcphilicIM' , 'PHYSICS' , 'BCSV' , # Brown Carbon 'CA.brEM' , 'CA.br' , 'BREM001;BREM002' , 'CA.brDP' , 'CA.br' , 'BRDP001;BRDP002' , @@ -2473,7 +2473,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.brEMBB' , 'CA.br' , 'BREMBB' , 'CA.brEMBF' , 'CA.br' , 'BREMBF' , 'CA.brEMAN' , 'CA.br' , 'BREMAN' , -# 'DBRC2gDT' , 'MOIST' , 'BRSV' , + 'MTRI%CA.br::CA.brphilicIM' , 'PHYSICS' , 'BRSV' , # Dust 'DUEM' , 'DU' , 'DUSD' , 'DU' , @@ -2482,7 +2482,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'DUEXTTFM' , 'DU' , 'DUSCATFM' , 'DU' , 'DUAERIDX' , 'DU' , -# 'DDU2gDT' , 'MOIST' , 'DUSV' , + 'MTRI%DU::DUIM' , 'PHYSICS' , 'DUSV' , # Seasalt 'SSEM' , 'SS' , 'SSSD' , 'SS' , @@ -2491,7 +2491,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SSEXTTFM' , 'SS' , 'SSSCATFM' , 'SS' , 'SSAERIDX' , 'SS' , -# 'DSS2gDT' , 'MOIST' , 'SSSV' , + 'MTRI%SS::SSIM' , 'PHYSICS' , 'SSSV' , # Sulfates 'SUEM' , 'SU' , 'SUEM001;SUEM002;SUEM003;SUEM004', 'SUSD' , 'SU' , 'SUSD001;SUSD002;SUSD003;SUSD004', @@ -2507,7 +2507,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SO2EMBB' , 'SU' , 'SO2EMVN' , 'SU' , 'SO2EMVE' , 'SU' , -# 'DSU2gDT' , 'MOIST' , 'SUSV' , + 'MTRI%SU::SO4IM' , 'PHYSICS' , 'SUSV' , # Organic Carbon 'CA.ocEM' , 'CA.oc' , 'OCEM001;OCEM002', 'CA.ocDP' , 'CA.oc' , 'OCDP001;OCDP002', @@ -2517,7 +2517,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.ocEMAN' , 'CA.oc' , 'OCEMAN' , 'CA.ocEMBG' , 'CA.oc' , 'OCEMBG' , 'CA.ocHYPHIL' , 'CA.oc' , 'OCHYPHIL' , -# 'DOC2gDT' , 'MOIST' , 'OCSV' , + 'MTRI%CA.oc::CA.ocphilicIM' , 'PHYSICS' , 'OCSV' , # Nitrate 'NIPNO3AQ' , 'NI' , 'NIPNH4AQ' , 'NI' , @@ -2535,7 +2535,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'NH4DP' , 'NI' , 'NH4WT' , 'NI' , 'NH4SV' , 'NI' , -# 'DNI2gDT' , 'MOIST' , 'NISV' , + 'MTRI%NI::NO3an1IM' , 'PHYSICS' , 'NISV' , :: ####################################################################### @@ -2817,7 +2817,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.brEMAN' , 'CA.br' , 'BREMAN' , 'CA.brFLUXU' , 'CA.br' , 'BRFLUXU' , 'CA.brFLUXV' , 'CA.br' , 'BRFLUXV' , -# 'DBRC2gDT' , 'MOIST' , 'BRSV' , + 'MTRI%CA.br::CA.brphilicIM' , 'PHYSICS' , 'BRSV' , # Dust 'DUSMASS' , 'DU' , 'DUCMASS' , 'DU' , diff --git a/HISTORY_FP.rc.15z.tmpl b/HISTORY_FP.rc.15z.tmpl index 0413c3f2..37c79728 100644 --- a/HISTORY_FP.rc.15z.tmpl +++ b/HISTORY_FP.rc.15z.tmpl @@ -1493,7 +1493,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.bcEMBB' , 'CA.bc' , 'BCEMBB' , 'CA.bcEMBF' , 'CA.bc' , 'BCEMBF' , 'CA.bcEMAN' , 'CA.bc' , 'BCEMAN' , -# 'DBC2gDT' , 'MOIST' , 'BCSV' , + 'MTRI%CA.bc::CA.bcphilicIM' , 'PHYSICS' , 'BCSV' , # Brown Carbon 'CA.brEM' , 'CA.br' , 'BREM001;BREM002' , 'CA.brDP' , 'CA.br' , 'BRDP001;BRDP002' , @@ -1504,7 +1504,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.brEMAN' , 'CA.br' , 'BREMAN' , 'CA.brPSOA' , 'CA.br' , 'BRPSOA' , 'CA.brHYPHIL' , 'CA.br' , 'BRHYPHIL' , -# 'DBRC2gDT' , 'MOIST' , 'BRSV' , + 'MTRI%CA.br::CA.brphilicIM' , 'PHYSICS' , 'BRSV' , # Dust 'DUEM' , 'DU' , 'DUEM001;DUEM002;DUEM003;DUEM004;DUEM005' , 'DUSD' , 'DU' , 'DUSD001;DUSD002;DUSD003;DUSD004;DUSD005' , @@ -1513,7 +1513,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'DUEXTTFM' , 'DU' , 'DUSCATFM' , 'DU' , 'DUAERIDX' , 'DU' , -# 'DDU2gDT' , 'MOIST' , 'DUSV' , + 'MTRI%DU::DUIM' , 'PHYSICS' , 'DUSV' , # Seasalt 'SSEM' , 'SS' , 'SSEM001;SSEM002;SSEM003;SSEM004;SSEM005' , 'SSSD' , 'SS' , 'SSSD001;SSSD002;SSSD003;SSSD004;SSSD005' , @@ -1522,7 +1522,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SSEXTTFM' , 'SS' , 'SSSCATFM' , 'SS' , 'SSAERIDX' , 'SS' , -# 'DSS2gDT' , 'MOIST' , 'SSSV' , + 'MTRI%SS::SSIM' , 'PHYSICS' , 'SSSV' , # Sulfates 'SUEM' , 'SU' , 'SUEM001;SUEM002;SUEM003;SUEM004', 'SUSD' , 'SU' , 'SUSD001;SUSD002;SUSD003;SUSD004', @@ -1538,7 +1538,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SO2EMBB' , 'SU' , 'SO2EMVN' , 'SU' , 'SO2EMVE' , 'SU' , -# 'DSU2gDT' , 'MOIST' , 'SUSV' , + 'MTRI%SU::SO4IM' , 'PHYSICS' , 'SUSV' , # Organic Carbon 'CA.ocEM' , 'CA.oc' , 'OCEM001;OCEM002' , 'CA.ocDP' , 'CA.oc' , 'OCDP001;OCDP002' , @@ -1549,7 +1549,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.ocEMBG' , 'CA.oc' , 'OCEMBG' , 'CA.ocPSOA' , 'CA.oc' , 'OCPSOA' , 'CA.ocHYPHIL' , 'CA.oc' , 'OCHYPHIL' , -# 'DOC2gDT' , 'MOIST' , 'OCSV' , + 'MTRI%CA.oc::CA.ocphilicIM' , 'PHYSICS' , 'OCSV' , # Nitrate 'NIPNO3AQ' , 'NI' , 'NIPNH4AQ' , 'NI' , @@ -1567,7 +1567,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'NH4DP' , 'NI' , 'NH4WT' , 'NI' , 'NH4SV' , 'NI' , -# 'DNI2gDT' , 'MOIST' , 'NISV' , + 'MTRI%NI::NO3an1IM' , 'PHYSICS' , 'NISV' , :: tavg3_2d_chm_Nx-.format: 'CFIO' , @@ -2427,7 +2427,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.bcEMBB' , 'CA.bc' , 'BCEMBB' , 'CA.bcEMBF' , 'CA.bc' , 'BCEMBF' , 'CA.bcEMAN' , 'CA.bc' , 'BCEMAN' , -# 'DBC2gDT' , 'MOIST' , 'BCSV' , + 'MTRI%CA.bc::CA.bcphilicIM' , 'PHYSICS' , 'BCSV' , # Brown Carbon 'CA.brEM' , 'CA.br' , 'BREM001;BREM002' , 'CA.brDP' , 'CA.br' , 'BRDP001;BRDP002' , @@ -2436,7 +2436,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.brEMBB' , 'CA.br' , 'BREMBB' , 'CA.brEMBF' , 'CA.br' , 'BREMBF' , 'CA.brEMAN' , 'CA.br' , 'BREMAN' , -# 'DBRC2gDT' , 'MOIST' , 'BRSV' , + 'MTRI%CA.br::CA.brphilicIM' , 'PHYSICS' , 'BRSV' , # Dust 'DUEM' , 'DU' , 'DUSD' , 'DU' , @@ -2445,7 +2445,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'DUEXTTFM' , 'DU' , 'DUSCATFM' , 'DU' , 'DUAERIDX' , 'DU' , -# 'DDU2gDT' , 'MOIST' , 'DUSV' , + 'MTRI%DU::DUIM' , 'PHYSICS' , 'DUSV' , # Seasalt 'SSEM' , 'SS' , 'SSSD' , 'SS' , @@ -2454,7 +2454,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SSEXTTFM' , 'SS' , 'SSSCATFM' , 'SS' , 'SSAERIDX' , 'SS' , -# 'DSS2gDT' , 'MOIST' , 'SSSV' , + 'MTRI%SS::SSIM' , 'PHYSICS' , 'SSSV' , # Sulfates 'SUEM' , 'SU' , 'SUEM001;SUEM002;SUEM003;SUEM004', 'SUSD' , 'SU' , 'SUSD001;SUSD002;SUSD003;SUSD004', @@ -2470,7 +2470,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SO2EMBB' , 'SU' , 'SO2EMVN' , 'SU' , 'SO2EMVE' , 'SU' , -# 'DSU2gDT' , 'MOIST' , 'SUSV' , + 'MTRI%SU::SO4IM' , 'PHYSICS' , 'SUSV' , # Organic Carbon 'CA.ocEM' , 'CA.oc' , 'OCEM001;OCEM002', 'CA.ocDP' , 'CA.oc' , 'OCDP001;OCDP002', @@ -2480,7 +2480,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.ocEMAN' , 'CA.oc' , 'OCEMAN' , 'CA.ocEMBG' , 'CA.oc' , 'OCEMBG' , 'CA.ocHYPHIL' , 'CA.oc' , 'OCHYPHIL' , -# 'DOC2gDT' , 'MOIST' , 'OCSV' , + 'MTRI%CA.oc::CA.ocphilicIM' , 'PHYSICS' , 'OCSV' , # Nitrate 'NIPNO3AQ' , 'NI' , 'NIPNH4AQ' , 'NI' , @@ -2498,7 +2498,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'NH4DP' , 'NI' , 'NH4WT' , 'NI' , 'NH4SV' , 'NI' , -# 'DNI2gDT' , 'MOIST' , 'NISV' , + 'MTRI%NI::NO3an1IM' , 'PHYSICS' , 'NISV' , :: ####################################################################### diff --git a/HISTORY_FP.rc.21z.tmpl b/HISTORY_FP.rc.21z.tmpl index cd5d67d1..77fb25bc 100644 --- a/HISTORY_FP.rc.21z.tmpl +++ b/HISTORY_FP.rc.21z.tmpl @@ -1493,7 +1493,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.bcEMBB' , 'CA.bc' , 'BCEMBB' , 'CA.bcEMBF' , 'CA.bc' , 'BCEMBF' , 'CA.bcEMAN' , 'CA.bc' , 'BCEMAN' , -# 'DBC2gDT' , 'MOIST' , 'BCSV' , + 'MTRI%CA.bc::CA.bcphilicIM' , 'PHYSICS' , 'BCSV' , # Brown Carbon 'CA.brEM' , 'CA.br' , 'BREM001;BREM002' , 'CA.brDP' , 'CA.br' , 'BRDP001;BRDP002' , @@ -1504,7 +1504,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.brEMAN' , 'CA.br' , 'BREMAN' , 'CA.brPSOA' , 'CA.br' , 'BRPSOA' , 'CA.brHYPHIL' , 'CA.br' , 'BRHYPHIL' , -# 'DBRC2gDT' , 'MOIST' , 'BRSV' , + 'MTRI%CA.br::CA.brphilicIM' , 'PHYSICS' , 'BRSV' , # Dust 'DUEM' , 'DU' , 'DUEM001;DUEM002;DUEM003;DUEM004;DUEM005' , 'DUSD' , 'DU' , 'DUSD001;DUSD002;DUSD003;DUSD004;DUSD005' , @@ -1513,7 +1513,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'DUEXTTFM' , 'DU' , 'DUSCATFM' , 'DU' , 'DUAERIDX' , 'DU' , -# 'DDU2gDT' , 'MOIST' , 'DUSV' , + 'MTRI%DU::DUIM' , 'PHYSICS' , 'DUSV' , # Seasalt 'SSEM' , 'SS' , 'SSEM001;SSEM002;SSEM003;SSEM004;SSEM005' , 'SSSD' , 'SS' , 'SSSD001;SSSD002;SSSD003;SSSD004;SSSD005' , @@ -1522,7 +1522,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SSEXTTFM' , 'SS' , 'SSSCATFM' , 'SS' , 'SSAERIDX' , 'SS' , -# 'DSS2gDT' , 'MOIST' , 'SSSV' , + 'MTRI%SS::SSIM' , 'PHYSICS' , 'SSSV' , # Sulfates 'SUEM' , 'SU' , 'SUEM001;SUEM002;SUEM003;SUEM004', 'SUSD' , 'SU' , 'SUSD001;SUSD002;SUSD003;SUSD004', @@ -1538,7 +1538,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SO2EMBB' , 'SU' , 'SO2EMVN' , 'SU' , 'SO2EMVE' , 'SU' , -# 'DSU2gDT' , 'MOIST' , 'SUSV' , + 'MTRI%SU::SO4IM' , 'PHYSICS' , 'SUSV' , # Organic Carbon 'CA.ocEM' , 'CA.oc' , 'OCEM001;OCEM002' , 'CA.ocDP' , 'CA.oc' , 'OCDP001;OCDP002' , @@ -1549,7 +1549,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.ocEMBG' , 'CA.oc' , 'OCEMBG' , 'CA.ocPSOA' , 'CA.oc' , 'OCPSOA' , 'CA.ocHYPHIL' , 'CA.oc' , 'OCHYPHIL' , -# 'DOC2gDT' , 'MOIST' , 'OCSV' , + 'MTRI%CA.oc::CA.ocphilicIM' , 'PHYSICS' , 'OCSV' , # Nitrate 'NIPNO3AQ' , 'NI' , 'NIPNH4AQ' , 'NI' , @@ -1567,7 +1567,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'NH4DP' , 'NI' , 'NH4WT' , 'NI' , 'NH4SV' , 'NI' , -# 'DNI2gDT' , 'MOIST' , 'NISV' , + 'MTRI%NI::NO3an1IM' , 'PHYSICS' , 'NISV' , :: tavg3_2d_chm_Nx-.format: 'CFIO' , @@ -2427,7 +2427,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.bcEMBB' , 'CA.bc' , 'BCEMBB' , 'CA.bcEMBF' , 'CA.bc' , 'BCEMBF' , 'CA.bcEMAN' , 'CA.bc' , 'BCEMAN' , -# 'DBC2gDT' , 'MOIST' , 'BCSV' , + 'MTRI%CA.bc::CA.bcphilicIM' , 'PHYSICS' , 'BCSV' , # Brown Carbon 'CA.brEM' , 'CA.br' , 'BREM001;BREM002' , 'CA.brDP' , 'CA.br' , 'BRDP001;BRDP002' , @@ -2436,7 +2436,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.brEMBB' , 'CA.br' , 'BREMBB' , 'CA.brEMBF' , 'CA.br' , 'BREMBF' , 'CA.brEMAN' , 'CA.br' , 'BREMAN' , -# 'DBRC2gDT' , 'MOIST' , 'BRSV' , + 'MTRI%CA.br::CA.brphilicIM' , 'PHYSICS' , 'BRSV' , # Dust 'DUEM' , 'DU' , 'DUSD' , 'DU' , @@ -2445,7 +2445,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'DUEXTTFM' , 'DU' , 'DUSCATFM' , 'DU' , 'DUAERIDX' , 'DU' , -# 'DDU2gDT' , 'MOIST' , 'DUSV' , + 'MTRI%DU::DUIM' , 'PHYSICS' , 'DUSV' , # Seasalt 'SSEM' , 'SS' , 'SSSD' , 'SS' , @@ -2454,7 +2454,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SSEXTTFM' , 'SS' , 'SSSCATFM' , 'SS' , 'SSAERIDX' , 'SS' , -# 'DSS2gDT' , 'MOIST' , 'SSSV' , + 'MTRI%SS::SSIM' , 'PHYSICS' , 'SSSV' , # Sulfates 'SUEM' , 'SU' , 'SUEM001;SUEM002;SUEM003;SUEM004', 'SUSD' , 'SU' , 'SUSD001;SUSD002;SUSD003;SUSD004', @@ -2470,7 +2470,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'SO2EMBB' , 'SU' , 'SO2EMVN' , 'SU' , 'SO2EMVE' , 'SU' , -# 'DSU2gDT' , 'MOIST' , 'SUSV' , + 'MTRI%SU::SO4IM' , 'PHYSICS' , 'SUSV' , # Organic Carbon 'CA.ocEM' , 'CA.oc' , 'OCEM001;OCEM002', 'CA.ocDP' , 'CA.oc' , 'OCDP001;OCDP002', @@ -2480,7 +2480,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'CA.ocEMAN' , 'CA.oc' , 'OCEMAN' , 'CA.ocEMBG' , 'CA.oc' , 'OCEMBG' , 'CA.ocHYPHIL' , 'CA.oc' , 'OCHYPHIL' , -# 'DOC2gDT' , 'MOIST' , 'OCSV' , + 'MTRI%CA.oc::CA.ocphilicIM' , 'PHYSICS' , 'OCSV' , # Nitrate 'NIPNO3AQ' , 'NI' , 'NIPNH4AQ' , 'NI' , @@ -2498,7 +2498,7 @@ COLLECTIONS: 'inst3_3d_asm_Np-' 'NH4DP' , 'NI' , 'NH4WT' , 'NI' , 'NH4SV' , 'NI' , -# 'DNI2gDT' , 'MOIST' , 'NISV' , + 'MTRI%NI::NO3an1IM' , 'PHYSICS' , 'NISV' , :: ####################################################################### diff --git a/fvcore_layout.rc b/fvcore_layout.rc index 788c4cc8..0f1053c3 100644 --- a/fvcore_layout.rc +++ b/fvcore_layout.rc @@ -2,6 +2,10 @@ @FV_HYDRO range_warn = .T. fv_debug = .F. + @FV_SCHMIDT + @FV_STRETCH_FAC + @FV_TARGET_LON + @FV_TARGET_LAT / &main_nml @@ -23,47 +27,29 @@ &gfdl_cloud_microphysics_nml sedi_transport = .true. - do_sedi_heat = .false. - preciprad = .true. - const_vi = .F. - const_vs = .F. - const_vg = .F. - const_vr = .F. - vi_fac = 1. - vi_max = 1. - vs_max = 2. - vg_max = 12. - vr_max = 12. - qi_lim = 1. do_evap = .false. do_subl = .false. do_qa = .false. - sat_adj0 = 0.75 - tau_l2v = 225. - tau_i2v = 225. - tau_revp = 225. + tau_l2v = 150. + tau_i2v = 150. + tau_revp = 150. tau_frz = 450. - tau_i2s = 450. dw_land = 0.05 - dw_ocean = 0.20 - ql_mlt = 1.0e-4 + dw_ocean = 0.10 + rh_inc = 0.30 + rh_inr = 0.30 qi0_crt = 8.0E-5 qs0_crt = 1.0e-3 c_psaci = 0.05 c_pgacs = 0.01 - rh_inc = 0.30 - rh_inr = 0.30 c_paut = 1.0 c_cracw = 1.0 - use_ppm = .false. @GFDL_PROG_CCN @GFDL_USE_CCN ccn_l = 300. ccn_o = 100. - mono_prof = .true. z_slope_liq = .true. z_slope_ice = .true. - de_ice = .false. fix_negative = .true. icloud_f = 3 mp_time = 150. diff --git a/gcm_convert.j b/gcm_convert.j index f5b84d85..27b9880a 100755 --- a/gcm_convert.j +++ b/gcm_convert.j @@ -111,10 +111,10 @@ cp -f $HOMDIR/*.yaml . cat fvcore_layout.rc >> input.nml -@MP_NO_USE_WSUB# 1MOM and GFDL microphysics do not use WSUB_NATURE +@MP_NO_USE_WSUB# 1MOM and GFDL microphysics do not use WSUB_CLIM @MP_NO_USE_WSUB# ------------------------------------------------- @MP_NO_USE_WSUB/bin/mv WSUB_ExtData.rc WSUB_ExtData.tmp -@MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/^WSUB_NATURE/ s#ExtData.*#/dev/null#' > WSUB_ExtData.rc +@MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/^WSUB_CLIM/ s#ExtData.*#/dev/null#' > WSUB_ExtData.rc @MP_NO_USE_WSUB/bin/rm WSUB_ExtData.tmp if(-e ExtData.rc ) /bin/rm -f ExtData.rc diff --git a/gcm_forecast.tmpl b/gcm_forecast.tmpl index b32ed61e..ed61013a 100755 --- a/gcm_forecast.tmpl +++ b/gcm_forecast.tmpl @@ -629,7 +629,6 @@ endif if( $AGCM_LM != 72 ) then set files = `/bin/ls *.yaml` foreach file ($files) - echo $file cp $file dummy cat dummy | sed -e "s|/L72/|/L${AGCM_LM}/|g" | sed -e "s|z72|z${AGCM_LM}|g" > $file end @@ -649,22 +648,18 @@ set DNA_TRUE = `grep -i '^\s*ENABLE_DNA:\s*\.TRUE\.' GEOS_Ch if ( $DNA_TRUE == 0 && -e DNA_ExtData.rc ) /bin/mv DNA_ExtData.rc DNA_ExtData.rc.NOT_USED set ACHEM_TRUE = `grep -i '^\s*ENABLE_ACHEM:\s*\.TRUE\.' GEOS_ChemGridComp.rc | wc -l` if ( $ACHEM_TRUE == 0 && -e GEOSachem_ExtData.rc ) /bin/mv GEOSachem_ExtData.rc GEOSachem_ExtData.rc.NOT_USED -set GOCART_DATA_TRUE = `grep -i '^\s*ENABLE_GOCART_DATA:\s*\.TRUE\.' GEOS_ChemGridComp.rc | wc -l` -if ( $GOCART_DATA_TRUE == 0 && -e GOCARTdata_ExtData.rc ) /bin/mv GOCARTdata_ExtData.rc GOCARTdata_ExtData.rc.NOT_USED -@MP_NO_USE_WSUB# 1MOM and GFDL microphysics do not use WSUB_NATURE +@MP_NO_USE_WSUB# 1MOM and GFDL microphysics do not use WSUB_CLIM @MP_NO_USE_WSUB# ------------------------------------------------- if ($EXTDATA2G_TRUE == 0 ) then @MP_NO_USE_WSUB/bin/mv WSUB_ExtData.rc WSUB_ExtData.tmp - @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/^WSUB_NATURE/ s#ExtData.*#/dev/null#' > WSUB_ExtData.rc + @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/^WSUB_CLIM/ s#ExtData.*#/dev/null#' > WSUB_ExtData.rc else @MP_NO_USE_WSUB/bin/mv WSUB_ExtData.yaml WSUB_ExtData.tmp - @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/collection:/ s#WSUB_Wvar_positive_05hrdeg.*#/dev/null#' > WSUB_ExtData.yaml + @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/collection:/ s#WSUB_SWclim.*#/dev/null#' > WSUB_ExtData.yaml endif @MP_NO_USE_WSUB/bin/rm WSUB_ExtData.tmp - - # Generate the complete ExtData.rc # -------------------------------- if(-e ExtData.rc ) /bin/rm -f ExtData.rc diff --git a/gcm_regress.j b/gcm_regress.j index ead0eceb..2b98be46 100755 --- a/gcm_regress.j +++ b/gcm_regress.j @@ -26,15 +26,68 @@ limit stacksize unlimited # ----------------------------------------------- setenv OMP_NUM_THREADS 1 +####################################################################### +# Command Line Arguments +####################################################################### + +# Set the defaults for our arguments +# ---------------------------------- + +# We use positive logic here. So if we want to run +# both tests, we set both to TRUE. If we want to +# run only one, we set the other to FALSE + +set RUN_STARTSTOP = TRUE +set RUN_LAYOUT = TRUE + +while ($#argv > 0) + switch ($1) + case --startstop: + set RUN_LAYOUT = FALSE + shift + breaksw + case --layout: + set RUN_STARTSTOP = FALSE + shift + breaksw + case -[Hh]: + case --[Hh]elp: + echo "Usage: $0 [--startstop] [--layout]" + echo "" + echo "By default, both the start/stop and layout tests are run." + echo "You can specify one or the other with the following options:" + echo " --startstop: Only run the start/stop test" + echo " --layout: Only run the layout test" + echo " -h, --help: Print this help message" + exit 0 + default: + echo "Unknown argument: $1" + echo "Usage: $0 [--startstop] [--layout]" + echo "" + echo "By default, both the start/stop and layout tests are run." + echo "You can specify one or the other with the following options:" + echo " --startstop: Only run the start/stop test" + echo " --layout: Only run the layout test" + echo " -h, --help: Print this help message" + exit 1 + endsw +end + +# Now because of g5_modules we have to "clear" argv +# otherwise g5_modules will go into script mode and not +# source the modules + +set argv = () + ####################################################################### # Architecture Specific Environment Variables ####################################################################### setenv ARCH `uname` -setenv SITE @SITE -setenv GEOSDIR @GEOSDIR -setenv GEOSBIN @GEOSBIN +setenv SITE @SITE +setenv GEOSDIR @GEOSDIR +setenv GEOSBIN @GEOSBIN source $GEOSBIN/g5_modules setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${BASEDIR}/${ARCH}/lib:${GEOSDIR}/lib @@ -45,17 +98,17 @@ setenv RUN_CMD "$GEOSBIN/esma_mpirun -np " # Experiment Specific Environment Variables ####################################################################### -setenv EXPID @EXPID -setenv EXPDIR @EXPDIR -setenv HOMDIR @HOMDIR -setenv SCRDIR $EXPDIR/scratch +setenv EXPID @EXPID +setenv EXPDIR @EXPDIR +setenv HOMDIR @HOMDIR +setenv SCRDIR $EXPDIR/scratch ####################################################################### # Create Clean Regress Sub-Directory ####################################################################### -mkdir -p $EXPDIR/regress -cd $EXPDIR/regress +mkdir -p $EXPDIR/regress +cd $EXPDIR/regress /bin/rm -rf `/bin/ls | grep -v gcm_regress.j | grep -v slurm` # Copy RC Files from Home Directory @@ -63,8 +116,8 @@ cd $EXPDIR/regress cd $HOMDIR set files = `ls -1 *.rc` foreach file ($files) - set fname = `echo $file | cut -d "." -f1` - cp $fname.rc $EXPDIR/regress + set fname = `echo $file | cut -d "." -f1` + cp $fname.rc $EXPDIR/regress end cd $EXPDIR/regress @@ -85,13 +138,6 @@ set IM = `grep AGCM_IM: $HOMDIR/AGCM.rc | cut -d':' -f2` set JM = `grep AGCM_JM: $HOMDIR/AGCM.rc | cut -d':' -f2` set LM = `grep AGCM_LM: $HOMDIR/AGCM.rc | cut -d':' -f2` -@ IM6 = 6 * $IM -if( $IM6 == $JM ) then - set CUBE = TRUE -else - set CUBE = FALSE -endif - # Create Restart List # ------------------- set rst_files = `cat AGCM.rc | grep "RESTART_FILE" | grep -v VEGDYN | grep -v "#" | cut -d ":" -f1 | cut -d "_" -f1-2` @@ -165,8 +211,32 @@ cat << _EOF_ > $FILE EXPID: ${EXPID} EXPDSC: ${EXPID}_Regression_Test -COLLECTIONS: +COLLECTIONS: test_collection :: + + test_collection.template: '%y4%m2%d2_%h2%n2z.nc4' , + test_collection.archive: '%c/Y%y4' , + test_collection.format: 'CFIO' , + test_collection.deflate: 1 , + test_collection.frequency: 060000 , +@DATAOCEAN test_collection.fields: 'PHIS', 'AGCM' , +@DATAOCEAN 'SLP' , 'DYN' , +@DATAOCEAN 'T' , 'DYN' , +@DATAOCEAN 'U;V' , 'DYN' , +@DATAOCEAN 'Q' , 'MOIST', 'QV', +@MOM5 test_collection.fields: 'UW' ,'MOM' , 'US', +@MOM5 'VW' ,'MOM' , 'VS', +@MOM5 'TW' ,'MOM' , 'TS', +@MOM5 'SW' ,'MOM' , 'SS', +@MOM5 'SLV' ,'MOM' , +@MOM5 'QFLUX','OCEAN' , +@MOM6 test_collection.fields: 'UW' ,'MOM6' , 'US', +@MOM6 'VW' ,'MOM6' , 'VS', +@MOM6 'TW' ,'MOM6' , 'TS', +@MOM6 'SW' ,'MOM6' , 'SS', +@MOM6 'SLV' ,'MOM6' , +@MOM6 'QFLUX','OCEAN' , + :: _EOF_ ################################################################## @@ -220,9 +290,9 @@ if( @EMISSIONS == AMIP_EMISSIONS ) then set AMIP_Transition_Date = 20000301 if( $nymd0 < ${AMIP_Transition_Date} ) then - set AMIP_EMISSIONS_DIRECTORY = $EXPDIR/RC/AMIP.20C + set AMIP_EMISSIONS_DIRECTORY = $EXPDIR/RC/AMIP.20C else - set AMIP_EMISSIONS_DIRECTORY = $EXPDIR/RC/AMIP + set AMIP_EMISSIONS_DIRECTORY = $EXPDIR/RC/AMIP endif else set AMIP_EMISSIONS_DIRECTORY = $EXPDIR/RC/AMIP @@ -242,14 +312,14 @@ if( @EMISSIONS == AMIP_EMISSIONS ) then endif endif -@MP_NO_USE_WSUB# 1MOM and GFDL microphysics do not use WSUB_NATURE +@MP_NO_USE_WSUB# 1MOM and GFDL microphysics do not use WSUB_CLIM @MP_NO_USE_WSUB# ------------------------------------------------- if ($EXTDATA2G_TRUE == 0 ) then @MP_NO_USE_WSUB/bin/mv WSUB_ExtData.rc WSUB_ExtData.tmp - @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/^WSUB_NATURE/ s#ExtData.*#/dev/null#' > WSUB_ExtData.rc + @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/^WSUB_CLIM/ s#ExtData.*#/dev/null#' > WSUB_ExtData.rc else @MP_NO_USE_WSUB/bin/mv WSUB_ExtData.yaml WSUB_ExtData.tmp - @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/collection:/ s#WSUB_Wvar_positive_05hrdeg.*#/dev/null#' > WSUB_ExtData.yaml + @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/collection:/ s#WSUB_SWclim.*#/dev/null#' > WSUB_ExtData.yaml endif @MP_NO_USE_WSUB/bin/rm WSUB_ExtData.tmp @@ -307,6 +377,48 @@ if( $REPLAY_MODE == 'Exact' | $REPLAY_MODE == 'Regular' ) then endif +# Copy the original files + +cp CAP.rc CAP.rc.orig +cp AGCM.rc AGCM.rc.orig +cp HISTORY.rc0 HISTORY.rc + +# Capture the original NX and NY + +set NX0 = `grep "^ *NX:" AGCM.rc.orig | cut -d':' -f2` +set NY0 = `grep "^ *NY:" AGCM.rc.orig | cut -d':' -f2` + +# Set the test_durations for the various tests in HHMMSS format +# +# We can generically set the lengths of startstop and layout tests +# and use those values to set the test durations for the various steps + +set length_of_startstop_test = 240000 +set length_of_layout_test = 060000 + +# Now for safety, we need to make sure that the test durations +# are divisible by 3 hours due to a limitation in GOCART. We'll use modulo +# for this +@ length_of_startstop_test_mod = $length_of_startstop_test % 030000 +@ length_of_layout_test_mod = $length_of_layout_test % 030000 + +# If either of these is not zero, then we exit with an error +if( $length_of_startstop_test_mod != 0 || $length_of_layout_test_mod != 0 ) then + echo "ERROR: Both the length_of_startstop_test and length_of_layout_test" + echo " must be divisible by 3 hours due to a limitation in GOCART." + exit 1 +endif + +# Now we can set the test durations for the various steps +set test_duration_step1 = $length_of_startstop_test +set test_duration_step2 = $length_of_layout_test + +# The step3 duration is step1 - step2 +@ test_duration_step3 = $test_duration_step1 - $test_duration_step2 + +# The step4 duration is identical to step2 +set test_duration_step4 = $test_duration_step2 + ################################################################## ###### ###### Perform Regression Test # 1 @@ -314,94 +426,112 @@ endif ###### ################################################################## -set test_duration = 240000 +# This only needs to be run in the startstop case -cp CAP.rc CAP.rc.orig -cp AGCM.rc AGCM.rc.orig -cp HISTORY.rc0 HISTORY.rc +if( $RUN_STARTSTOP == TRUE ) then -set NX0 = `grep "^ *NX:" AGCM.rc.orig | cut -d':' -f2` -set NY0 = `grep "^ *NY:" AGCM.rc.orig | cut -d':' -f2` + ./strip CAP.rc + set oldstring = `cat CAP.rc | grep JOB_SGMT:` + set newstring = "JOB_SGMT: 00000000 ${test_duration_step1}" + /bin/mv CAP.rc CAP.tmp + cat CAP.tmp | sed -e "s?$oldstring?$newstring?g" > CAP.rc -@ NPES0 = $NX0 * $NY0 + set NX = `grep "^ *NX": AGCM.rc | cut -d':' -f2` + set NY = `grep "^ *NY": AGCM.rc | cut -d':' -f2` + @ NPES = $NX * $NY + echo "=== Running test of duration ${test_duration_step1} with NX = $NX and NY = $NY starting at $nymd0 $nhms0 ===" -./strip CAP.rc -set oldstring = `cat CAP.rc | grep JOB_SGMT:` -set newstring = "JOB_SGMT: 00000000 ${test_duration}" -/bin/mv CAP.rc CAP.tmp -cat CAP.tmp | sed -e "s?$oldstring?$newstring?g" > CAP.rc + @OCEAN_PRELOAD $RUN_CMD $NPES ./GEOSgcm.x --logging_config 'logging.yaml' -set NX = `grep "^ *NX": AGCM.rc | cut -d':' -f2` -set NY = `grep "^ *NY": AGCM.rc | cut -d':' -f2` -@ NPES = $NX * $NY -@OCEAN_PRELOAD $RUN_CMD $NPES ./GEOSgcm.x + set date = `cat cap_restart` + set nymde1 = $date[1] + set nhmse1 = $date[2] + foreach chk ( $chk_file_names ) + /bin/mv -v $chk ${chk}.${nymde1}_${nhmse1}.1 + end + @MOM6/bin/mv -v RESTART/MOM.res.nc MOM.res.nc.1 -set date = `cat cap_restart` -set nymde = $date[1] -set nhmse = $date[2] + # Move history as well + set hist_file_names = `ls -1 ${EXPID}.test_collection.*.nc4` + # Need also make another variable storing all the history files + set complete_startstop_hist_file_names = `ls -1 ${EXPID}.test_collection.*.nc4` -foreach chk ( $chk_file_names ) - /bin/mv $chk ${chk}.${nymde}_${nhmse}.1 -end -@MOM6/bin/mv RESTART/MOM.res.nc MOM.res.nc.1 + foreach hist ( $hist_file_names ) + /bin/mv -v $hist ${hist}.${nymde1}_${nhmse1}.1 + end + +endif ################################################################## ###### ###### Perform Regression Test # 2 +###### (6-Hour Using NX:NY Layout) ###### ################################################################## -set test_duration = 180000 - -@DATAOCEAN if( $CUBE == TRUE ) then -@DATAOCEAN @ test_NX = $NPES0 / 6 -@DATAOCEAN @ test_NP = $IM / $test_NX -@DATAOCEAN if($test_NP < 4 ) then -@DATAOCEAN @ test_NX = $IM / 4 # To ensure enough gridpoints for HALO -@DATAOCEAN endif -@DATAOCEAN set test_NY = 6 -@DATAOCEAN else -@DATAOCEAN set test_NX = $NY0 -@DATAOCEAN set test_NY = $NX0 -@DATAOCEAN endif - -@COUPLED set test_NX = $NX0 -@COUPLED set test_NY = $NY0 +# This case runs for both startstop and layout /bin/rm cap_restart echo $nymd0 $nhms0 > cap_restart -cp CAP.rc.orig CAP.rc -cp AGCM.rc.orig AGCM.rc +cp CAP.rc.orig CAP.rc +cp AGCM.rc.orig AGCM.rc cp HISTORY.rc0 HISTORY.rc +@COUPLED /bin/rm -rf INPUT +@COUPLED /bin/mkdir INPUT +@COUPLED cp $EXPDIR/RESTART/* INPUT + ./strip CAP.rc -set oldstring = `cat CAP.rc | grep JOB_SGMT:` -set newstring = "JOB_SGMT: 00000000 ${test_duration}" +set oldstring = `cat CAP.rc | grep JOB_SGMT:` +set newstring = "JOB_SGMT: 00000000 ${test_duration_step2}" /bin/mv CAP.rc CAP.tmp cat CAP.tmp | sed -e "s?$oldstring?$newstring?g" > CAP.rc -./strip AGCM.rc -set oldstring = `cat AGCM.rc | grep "^ *NX:"` -set newstring = "NX: ${test_NX}" -/bin/mv AGCM.rc AGCM.tmp -cat AGCM.tmp | sed -e "s?$oldstring?$newstring?g" > AGCM.rc -set oldstring = `cat AGCM.rc | grep "^ *NY:"` -set newstring = "NY: ${test_NY}" -/bin/mv AGCM.rc AGCM.tmp -cat AGCM.tmp | sed -e "s?$oldstring?$newstring?g" > AGCM.rc - setenv YEAR `cat cap_restart | cut -c1-4` ./linkbcs set NX = `grep "^ *NX": AGCM.rc | cut -d':' -f2` set NY = `grep "^ *NY": AGCM.rc | cut -d':' -f2` @ NPES = $NX * $NY -@OCEAN_PRELOAD $RUN_CMD $NPES ./GEOSgcm.x + +echo "=== Running test of duration ${test_duration_step2} with NX = $NX and NY = $NY starting at $nymd0 $nhms0 ===" + +@OCEAN_PRELOAD $RUN_CMD $NPES ./GEOSgcm.x --logging_config 'logging.yaml' + +set date = `cat cap_restart` +set nymde2 = $date[1] +set nhmse2 = $date[2] + +# If we are doing startstop we need to copy the checkpoints +# If we run layout only, we need to move the checkpoints +if ($RUN_STARTSTOP == TRUE) then + set MOVE_OR_COPY = "/bin/cp -v" +else + set MOVE_OR_COPY = "/bin/mv -v" +endif + +foreach chk ( $chk_file_names ) + $MOVE_OR_COPY $chk ${chk}.${nymde2}_${nhmse2}.2 +end +@MOM6 $MOVE_OR_COPY RESTART/MOM.res.nc MOM.res.nc.2 + +# *Copy* history as well +set hist_file_names = `ls -1 ${EXPID}.test_collection.*.nc4` + +# Need also make another variable storing all the history files +set complete_layout_hist_file_names = `ls -1 ${EXPID}.test_collection.*.nc4` + +# Note: We copy the history here because this lets the file(s) +# be available for Test #3 so a full compare can be made +# with Test #1 +foreach hist ( $hist_file_names ) + $MOVE_OR_COPY $hist ${hist}.${nymde2}_${nhmse2}.2 +end foreach rst ( $rst_file_names ) - /bin/rm -f $rst + /bin/rm -f $rst end set numrst = `echo $rst_files | wc -w` set numchk = `echo $chk_files | wc -w` @@ -431,132 +561,375 @@ end ################################################################## ###### ###### Perform Regression Test # 3 +###### (18-Hour Using NX:NY Layout) ###### ################################################################## -set test_duration = 060000 +# This case is only needed for startstop + +if ($RUN_STARTSTOP == TRUE) then + + cp HISTORY.rc0 HISTORY.rc + + @MOM6# When you restart in MOM6 mode, you must change input_filename + @MOM6# in the input.nml file from 'n' to 'r' + @MOM6 /bin/cp input.nml input.nml.orig + @MOM6 sed -i -e "s/input_filename = 'n'/input_filename = 'r'/g" input.nml + + ./strip CAP.rc + set oldstring = `cat CAP.rc | grep JOB_SGMT:` + set newstring = "JOB_SGMT: 00000000 ${test_duration_step3}" + /bin/mv CAP.rc CAP.tmp + cat CAP.tmp | sed -e "s?$oldstring?$newstring?g" > CAP.rc + + setenv YEAR `cat cap_restart | cut -c1-4` + ./linkbcs + set NX = `grep "^ *NX": AGCM.rc | cut -d':' -f2` + set NY = `grep "^ *NY": AGCM.rc | cut -d':' -f2` + @ NPES = $NX * $NY + + set date = `cat cap_restart` + set nymdb = $date[1] + set nhmsb = $date[2] + + echo "=== Running test of duration ${test_duration_step3} with NX = $NX and NY = $NY starting at $nymdb $nhmsb ===" + + @OCEAN_PRELOAD $RUN_CMD $NPES ./GEOSgcm.x --logging_config 'logging.yaml' + + set date = `cat cap_restart` + set nymde3 = $date[1] + set nhmse3 = $date[2] + + foreach chk ( $chk_file_names ) + /bin/mv -v $chk ${chk}.${nymde3}_${nhmse3}.3 + end + @MOM6/bin/mv -v RESTART/MOM.res.nc MOM.res.nc.3 + + # Move history as well + set hist_file_names = `ls -1 ${EXPID}.test_collection.*.nc4` + + foreach hist ( $hist_file_names ) + /bin/mv -v $hist ${hist}.${nymde3}_${nhmse3}.3 + end -if( $CUBE == TRUE ) then - set test_NX = 1 - set test_NY = 6 - set test_Cores = 6 -else - set test_NX = 1 - set test_NY = 2 - set test_Cores = 2 endif -./strip CAP.rc -set oldstring = `cat CAP.rc | grep JOB_SGMT:` -set newstring = "JOB_SGMT: 00000000 ${test_duration}" -/bin/mv CAP.rc CAP.tmp -cat CAP.tmp | sed -e "s?$oldstring?$newstring?g" > CAP.rc +################################################################## +###### +###### Perform Regression Test # 4 +###### (6-Hour Using 1:6 Layout) +###### +################################################################## -./strip AGCM.rc -set oldstring = `cat AGCM.rc | grep "^ *NX:"` -set newstring = "NX: ${test_NX}" -/bin/mv AGCM.rc AGCM.tmp -cat AGCM.tmp | sed -e "s?$oldstring?$newstring?g" > AGCM.rc -set oldstring = `cat AGCM.rc | grep "^ *NY:"` -set newstring = "NY: ${test_NY}" -/bin/mv AGCM.rc AGCM.tmp -cat AGCM.tmp | sed -e "s?$oldstring?$newstring?g" > AGCM.rc -@COUPLED set oldstring = `cat AGCM.rc | grep "^ *OGCM.NX:"` -@COUPLED set newstring = "OGCM.NX: ${test_NY}" -@COUPLED /bin/mv AGCM.rc AGCM.tmp -@COUPLED cat AGCM.tmp | sed -e "s?$oldstring?$newstring?g" > AGCM.rc -@COUPLED set oldstring = `cat AGCM.rc | grep "^ *OGCM.NY:"` -@COUPLED set newstring = "OGCM.NY: ${test_NX}" -@COUPLED /bin/mv AGCM.rc AGCM.tmp -@COUPLED cat AGCM.tmp | sed -e "s?$oldstring?$newstring?g" > AGCM.rc - -@MOM5sed -r -i -e "/^ *layout/ s#= ([0-9]+),*([0-9]+)#= ${test_NY},${test_NX}#" input.nml -@MOM6sed -r -i -e "/^ *LAYOUT/ s#= ([0-9]+), *([0-9]+)#= ${test_NY}, ${test_NX}#" MOM_input +# This case runs only for layout + +if ( $RUN_LAYOUT == TRUE) then + + set test_NX = 1 + set test_NY = 6 + + # Copy Original Restarts to Regress directory + # ------------------------------------------- + foreach rst ( $rst_file_names ) + /bin/rm -f $rst + cp $EXPDIR/$rst $EXPDIR/regress + end + + @COUPLED /bin/rm -rf INPUT + @COUPLED /bin/mkdir INPUT + @COUPLED cp $EXPDIR/RESTART/* INPUT + + @COUPLED # restore original input.nml + @COUPLED /bin/mv input.nml.orig input.nml + + /bin/rm cap_restart + echo $nymd0 $nhms0 > cap_restart + + cp CAP.rc.orig CAP.rc + cp AGCM.rc.orig AGCM.rc + cp HISTORY.rc0 HISTORY.rc + + ./strip CAP.rc + set oldstring = `cat CAP.rc | grep JOB_SGMT:` + set newstring = "JOB_SGMT: 00000000 ${test_duration_step4}" + /bin/mv CAP.rc CAP.tmp + cat CAP.tmp | sed -e "s?$oldstring?$newstring?g" > CAP.rc + + ./strip AGCM.rc + set oldstring = `cat AGCM.rc | grep "^ *NX:"` + set newstring = "NX: ${test_NX}" + /bin/mv AGCM.rc AGCM.tmp + cat AGCM.tmp | sed -e "s?$oldstring?$newstring?g" > AGCM.rc + set oldstring = `cat AGCM.rc | grep "^ *NY:"` + set newstring = "NY: ${test_NY}" + /bin/mv AGCM.rc AGCM.tmp + cat AGCM.tmp | sed -e "s?$oldstring?$newstring?g" > AGCM.rc + @COUPLED set oldstring = `cat AGCM.rc | grep "^ *OGCM.NX:"` + @COUPLED set newstring = "OGCM.NX: ${test_NY}" + @COUPLED /bin/mv AGCM.rc AGCM.tmp + @COUPLED cat AGCM.tmp | sed -e "s?$oldstring?$newstring?g" > AGCM.rc + @COUPLED set oldstring = `cat AGCM.rc | grep "^ *OGCM.NY:"` + @COUPLED set newstring = "OGCM.NY: ${test_NX}" + @COUPLED /bin/mv AGCM.rc AGCM.tmp + @COUPLED cat AGCM.tmp | sed -e "s?$oldstring?$newstring?g" > AGCM.rc + + @MOM5sed -r -i -e "/^ *layout/ s#= ([0-9]+),*([0-9]+)#= ${test_NY},${test_NX}#" input.nml + @MOM6sed -r -i -e "s/#override LAYOUT = 3, 2/#override LAYOUT = ${test_NY}, ${test_NX}/g" MOM_override + + setenv YEAR `cat cap_restart | cut -c1-4` + ./linkbcs + set NX = `grep "^ *NX": AGCM.rc | cut -d':' -f2` + set NY = `grep "^ *NY": AGCM.rc | cut -d':' -f2` + @ NPES = $NX * $NY + + echo "=== Running test of duration ${test_duration_step4} with NX = $test_NX and NY = $test_NY starting at $nymd0 $nhms0 ===" + + @OCEAN_PRELOAD $RUN_CMD $NPES ./GEOSgcm.x --logging_config 'logging.yaml' + + set date = `cat cap_restart` + set nymde4 = $date[1] + set nhmse4 = $date[2] + + foreach chk ( $chk_file_names ) + /bin/mv -v $chk ${chk}.${nymde4}_${nhmse4}.4 + end + @MOM6/bin/mv -v RESTART/MOM.res.nc MOM.res.nc.4 + + # Move history as well + set hist_file_names = `ls -1 ${EXPID}.test_collection.*.nc4` + + foreach hist ( $hist_file_names ) + /bin/mv -v $hist ${hist}.${nymde4}_${nhmse4}.4 + end -setenv YEAR `cat cap_restart | cut -c1-4` -./linkbcs -set NX = `grep "^ *NX": AGCM.rc | cut -d':' -f2` -set NY = `grep "^ *NY": AGCM.rc | cut -d':' -f2` -@ NPES = $NX * $NY -@OCEAN_PRELOAD $RUN_CMD $NPES ./GEOSgcm.x +endif -set date = `cat cap_restart` -set nymde = $date[1] -set nhmse = $date[2] +####################################################################### +# Compare Restarts +# for start stop regression +####################################################################### -foreach chk ( $chk_file_names ) - /bin/mv $chk ${chk}.${nymde}_${nhmse}.2 -end -@MOM6/bin/mv RESTART/MOM.res.nc MOM.res.nc.2 +# This part compares the restarts from the 24-hour NXxNY run (.1) with the +# restarts at the end of the 6-hour + 18-hour runs (.3) + +if ($RUN_STARTSTOP == TRUE) then + + set NCCMP = `echo ${BASEDIR}/${ARCH}/bin/nccmp -dmfgBq ` + + if( -e startstop_regress_test ) /bin/rm startstop_regress_test + + echo "=== Comparing restarts from ${NX0}x${NY0} run of duration ${test_duration_step1} with restarts from ${test_duration_step2} + ${test_duration_step3} ${NX0}x${NY0} runs ===" + + set startstop_pass = true + foreach chk ( $chk_file_names ) + set file1 = ${chk}.${nymde1}_${nhmse1}.1 + set file2 = ${chk}.${nymde3}_${nhmse3}.3 + if( -e $file1 && -e $file2 ) then + set check = true + foreach exempt (${EXEMPT_chk}) + if( $chk == $exempt ) set check = false + end + if( $check == true ) then + echo Comparing ${chk} + + # compare binary checkpoint files + cmp $file1 $file2 + if( $status == 0 ) then + echo Start-Stop Success! + echo " " + else + echo Start-Stop Failed! + echo " " + set startstop_pass = false + endif + + # compare NetCDF-4 checkpoint files + # ${NCCMP} $file1 $file2 + # if( status == 0 ) then + # echo Start-Stop Success! + # echo " " + # else + # echo Start-Stop Failed! + # echo " " + # set startstop_pass = false + # endif + + endif + endif + end + + @MOM6# check MOM.res.nc (MOM6 restart) + @MOM6set file1 = MOM.res.nc.1 + @MOM6set file2 = MOM.res.nc.3 + @MOM6if( -e $file1 && -e $file2 ) then + @MOM6 set check = true + @MOM6 if( $check == true ) then + @MOM6 echo Comparing "MOM6 restarts" + @MOM6 cmp $file1 $file2 + @MOM6 if( $status == 0 ) then + @MOM6 echo Start-Stop Success! + @MOM6 echo " " + @MOM6 else + @MOM6 echo Start-Stop Failed! + @MOM6 echo " " + @MOM6 set pass = false + @MOM6 endif + @MOM6 endif + @MOM6endif + + echo "=== Comparing history files from ${NX0}x${NY0} run of duration ${test_duration_step1} with restarts from ${test_duration_step2} + ${test_duration_step3} ${NX0}x${NY0} runs ===" + + # Check history files + foreach hist ( $complete_startstop_hist_file_names ) + set file1 = ${hist}.${nymde1}_${nhmse1}.1 + set file2 = ${hist}.${nymde3}_${nhmse3}.3 + if( -e $file1 && -e $file2 ) then + set check = true + if( $check == true ) then + echo Comparing ${hist} + + # compare history files + ${NCCMP} $file1 $file2 + if( $status == 0 ) then + echo Start-Stop Success! + echo " " + else + echo Start-Stop Failed! + echo " " + set startstop_pass = false + endif + + endif + endif + end + + if( $startstop_pass == true ) then + echo " PASS " > startstop_regress_test + else + echo " FAIL " > startstop_regress_test + endif + +else + + # We need to set something here for the "overall" regress_test file + set startstop_pass = true + +endif ####################################################################### # Compare Restarts +# for layout regression ####################################################################### -set CDO = `echo ${BASEDIR}/${ARCH}/bin/cdo -Q -s diffn` +# This part compares the restarts from the 6-hour NXxNY run (.2) with the +# restarts from the 6-hour 1x6 run (.4) + +if ($RUN_LAYOUT == TRUE) then + + set NCCMP = `echo ${BASEDIR}/${ARCH}/bin/nccmp -dmfgBq ` + + if( -e layout_regress_test ) /bin/rm layout_regress_test + + echo "=== Comparing restarts from ${NX0}x${NY0} run of duration ${test_duration_step2} with restarts from ${test_NX}x${test_NY} run of duration ${test_duration_step4} ===" + + set layout_pass = true + foreach chk ( $chk_file_names ) + set file1 = ${chk}.${nymde2}_${nhmse2}.2 + set file2 = ${chk}.${nymde4}_${nhmse4}.4 + if( -e $file1 && -e $file2 ) then + set check = true + foreach exempt (${EXEMPT_chk}) + if( $chk == $exempt ) set check = false + end + if( $check == true ) then + echo Comparing ${chk} + + # compare binary checkpoint files + cmp $file1 $file2 + if( $status == 0 ) then + echo Layout Success! + echo " " + else + echo Layout Failed! + echo " " + set layout_pass = false + endif + + # compare NetCDF-4 checkpoint files + # ${NCCMP} $file1 $file2 + # if( status == 0 ) then + # echo Layout Success! + # echo " " + # else + # echo Layout Failed! + # echo " " + # set layout_pass = false + # endif -if( -e regress_test ) /bin/rm regress_test + endif + endif + end + + @MOM6# check MOM.res.nc (MOM6 restart) + @MOM6set file1 = MOM.res.nc.2 + @MOM6set file2 = MOM.res.nc.4 + @MOM6if( -e $file1 && -e $file2 ) then + @MOM6 set check = true + @MOM6 if( $check == true ) then + @MOM6 echo Comparing "MOM6 restarts" + @MOM6 cmp $file1 $file2 + @MOM6 if( $status == 0 ) then + @MOM6 echo Layout Success! + @MOM6 echo " " + @MOM6 else + @MOM6 echo Layout Failed! + @MOM6 echo " " + @MOM6 set pass = false + @MOM6 endif + @MOM6 endif + @MOM6endif + + echo "=== Comparing history files from 6-hour ${NX0}x${NY0} run with restarts from 6-hour ${test_NX}x${test_NY} run ===" + + # Check history files + foreach hist ( $complete_layout_hist_file_names ) + set file1 = ${hist}.${nymde2}_${nhmse4}.2 + set file2 = ${hist}.${nymde2}_${nhmse4}.4 + if( -e $file1 && -e $file2 ) then + set check = true + if( $check == true ) then + echo Comparing ${hist} + + # compare history files + ${NCCMP} $file1 $file2 + if( $status == 0 ) then + echo Layout Success! + echo " " + else + echo Layout Failed! + echo " " + set layout_pass = false + endif -set pass = true -foreach chk ( $chk_file_names ) - set file1 = ${chk}.${nymde}_${nhmse}.1 - set file2 = ${chk}.${nymde}_${nhmse}.2 - if( -e $file1 && -e $file2 ) then - set check = true - foreach exempt (${EXEMPT_chk}) - if( $chk == $exempt ) set check = false - end - if( $check == true ) then - echo Comparing ${chk} - -# compare binary checkpoint files - cmp $file1 $file2 - if( $status == 0 ) then - echo Success! - echo " " - else - echo Failed! - echo " " - set pass = false endif + endif + end -# compare NetCDF-4 checkpoint files -# set NUMDIFF = `${CDO} $file1 $file2 | awk '{print $1}'` -# if( "$NUMDIFF" == "" ) then -# echo Success! -# echo " " -# else -# echo Failed! -# echo `${CDO} $file1 $file2` -# echo " " -# set pass = false -# endif - - endif - endif -end + if( $layout_pass == true ) then + echo " PASS " > layout_regress_test + else + echo " FAIL " > layout_regress_test + endif + +else + + # We need to set something here for the "overal" regress_test file + set layout_pass = true + +endif -# check MOM.res.nc (MOM6 restart) -@MOM6set file1 = MOM.res.nc.1 -@MOM6set file2 = MOM.res.nc.2 -@MOM6if( -e $file1 && -e $file2 ) then -@MOM6 set check = true -@MOM6 if( $check == true ) then -@MOM6 echo Comparing "MOM6 restarts" -@MOM6 cmp $file1 $file2 -@MOM6 if( $status == 0 ) then -@MOM6 echo Success! -@MOM6 echo " " -@MOM6 else -@MOM6 echo Failed! -@MOM6 echo " " -@MOM6 set pass = false -@MOM6 endif -@MOM6 endif -@MOM6endif - -if( $pass == true ) then - echo " PASS " > regress_test +if( $startstop_pass == true && $layout_pass == true ) then + echo " PASS " > regress_test else - echo " FAIL " > regress_test + echo " FAIL " > regress_test endif diff --git a/gcm_run.j b/gcm_run.j index 6a05d757..ed0e309e 100755 --- a/gcm_run.j +++ b/gcm_run.j @@ -726,7 +726,6 @@ endif if( $AGCM_LM != 72 ) then set files = `/bin/ls *.yaml` foreach file ($files) - echo $file cp $file dummy cat dummy | sed -e "s|/L72/|/L${AGCM_LM}/|g" | sed -e "s|z72|z${AGCM_LM}|g" > $file end @@ -746,22 +745,18 @@ set DNA_TRUE = `grep -i '^\s*ENABLE_DNA:\s*\.TRUE\.' GEOS_Ch if ( $DNA_TRUE == 0 && -e DNA_ExtData.rc ) /bin/mv DNA_ExtData.rc DNA_ExtData.rc.NOT_USED set ACHEM_TRUE = `grep -i '^\s*ENABLE_ACHEM:\s*\.TRUE\.' GEOS_ChemGridComp.rc | wc -l` if ( $ACHEM_TRUE == 0 && -e GEOSachem_ExtData.rc ) /bin/mv GEOSachem_ExtData.rc GEOSachem_ExtData.rc.NOT_USED -set GOCART_DATA_TRUE = `grep -i '^\s*ENABLE_GOCART_DATA:\s*\.TRUE\.' GEOS_ChemGridComp.rc | wc -l` -if ( $GOCART_DATA_TRUE == 0 && -e GOCARTdata_ExtData.rc ) /bin/mv GOCARTdata_ExtData.rc GOCARTdata_ExtData.rc.NOT_USED -@MP_NO_USE_WSUB# 1MOM and GFDL microphysics do not use WSUB_NATURE +@MP_NO_USE_WSUB# 1MOM and GFDL microphysics do not use WSUB_CLIM @MP_NO_USE_WSUB# ------------------------------------------------- if ($EXTDATA2G_TRUE == 0 ) then @MP_NO_USE_WSUB/bin/mv WSUB_ExtData.rc WSUB_ExtData.tmp - @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/^WSUB_NATURE/ s#ExtData.*#/dev/null#' > WSUB_ExtData.rc + @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/^WSUB_CLIM/ s#ExtData.*#/dev/null#' > WSUB_ExtData.rc else @MP_NO_USE_WSUB/bin/mv WSUB_ExtData.yaml WSUB_ExtData.tmp - @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/collection:/ s#WSUB_Wvar_positive_05hrdeg.*#/dev/null#' > WSUB_ExtData.yaml + @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/collection:/ s#WSUB_SWclim.*#/dev/null#' > WSUB_ExtData.yaml endif @MP_NO_USE_WSUB/bin/rm WSUB_ExtData.tmp - - # Generate the complete ExtData.rc # -------------------------------- if(-e ExtData.rc ) /bin/rm -f ExtData.rc diff --git a/gcm_run_benchmark.j b/gcm_run_benchmark.j index c0afab1e..44e3310d 100755 --- a/gcm_run_benchmark.j +++ b/gcm_run_benchmark.j @@ -652,19 +652,17 @@ if ( $ACHEM_TRUE == 0 && -e GEOSachem_ExtData.rc ) /bin/mv set GOCART_DATA_TRUE = `grep -i '^\s*ENABLE_GOCART_DATA:\s*\.TRUE\.' GEOS_ChemGridComp.rc | wc -l` if ( $GOCART_DATA_TRUE == 0 && -e GOCARTdata_ExtData.rc ) /bin/mv GOCARTdata_ExtData.rc GOCARTdata_ExtData.rc.NOT_USED -@MP_NO_USE_WSUB# 1MOM and GFDL microphysics do not use WSUB_NATURE +@MP_NO_USE_WSUB# 1MOM and GFDL microphysics do not use WSUB_CLIM @MP_NO_USE_WSUB# ------------------------------------------------- if ($EXTDATA2G_TRUE == 0 ) then @MP_NO_USE_WSUB/bin/mv WSUB_ExtData.rc WSUB_ExtData.tmp - @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/^WSUB_NATURE/ s#ExtData.*#/dev/null#' > WSUB_ExtData.rc + @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/^WSUB_CLIM/ s#ExtData.*#/dev/null#' > WSUB_ExtData.rc else @MP_NO_USE_WSUB/bin/mv WSUB_ExtData.yaml WSUB_ExtData.tmp - @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/collection:/ s#WSUB_Wvar_positive_05hrdeg.*#/dev/null#' > WSUB_ExtData.yaml + @MP_NO_USE_WSUBcat WSUB_ExtData.tmp | sed -e '/collection:/ s#WSUB_SWclim.*#/dev/null#' > WSUB_ExtData.yaml endif @MP_NO_USE_WSUB/bin/rm WSUB_ExtData.tmp - - # Generate the complete ExtData.rc # -------------------------------- if(-e ExtData.rc ) /bin/rm -f ExtData.rc diff --git a/gcm_setup b/gcm_setup index fe3f3f93..6fa050e6 100755 --- a/gcm_setup +++ b/gcm_setup @@ -198,14 +198,11 @@ echo " ${C2}c1440 - 1/16 deg (${C1} 6.25 km${C2}) ${CN}" echo " ${C2}c2880 - 1/32 deg (${C1} 3.125 km${C2}) ${CN}" echo " ${C2}c5760 - 1/64 deg (${C1} 1.5625 km${C2}) ${CN}" echo " ${C2} CONUS Stretched Grids " -echo " ${C2}c270 -- ${C1} 13.0 -100 km${C2}) ${CN} " -echo " ${C2}c540 -- ${C1} 7.0 - 50 km${C2}) ${CN} " -echo " ${C2}c1080 - ${C1} 3.5 - 25 km${C2}) ${CN} " -echo " ${C2}c2160 - ${C1} 1.25- 12 km${C2}) ${CN} " -echo " ${C2} DYAMOND Grids " -echo " ${C2}c768 -- 1/8 deg (${C1} 12.0 km${C2}) ${CN}" -echo " ${C2}c1536 - 1/16 deg (${C1} 6.0 km${C2}) ${CN}" -echo " ${C2}c3072 - 1/32 deg (${C1} 3.0 km${C2}) ${CN}" +echo " ${C2}c270 -- ${C1} 16.0 -100 km${C2}) ${CN} " +echo " ${C2}c540 -- ${C1} 8.0 - 50 km${C2}) ${CN} " +echo " ${C2}c1080 - ${C1} 4.0 - 25 km${C2}) ${CN} " +echo " ${C2}c1536 - ${C1} 2.0 - 20 km${C2}) ${CN} " +echo " ${C2}c2160 - ${C1} 2.0 - 12 km${C2}) ${CN} " echo " " set HRCODE = `echo $<` set HRCODE = `echo $HRCODE | tr "[:upper:]" "[:lower:]"` @@ -223,10 +220,8 @@ if( $HRCODE != 'c12' & \ $HRCODE != 'c270' & \ $HRCODE != 'c540' & \ $HRCODE != 'c1080' & \ - $HRCODE != 'c2160' & \ - $HRCODE != 'c768' & \ $HRCODE != 'c1536' & \ - $HRCODE != 'c3072' ) goto HRCODE + $HRCODE != 'c2160' ) goto HRCODE set Resolution = $HRCODE @@ -327,10 +322,8 @@ if( $HRCODE == 'c180' | \ $HRCODE == 'c270' | \ $HRCODE == 'c540' | \ $HRCODE == 'c1080' | \ - $HRCODE == 'c2160' | \ - $HRCODE == 'c768' | \ $HRCODE == 'c1536' | \ - $HRCODE == 'c3072' ) then + $HRCODE == 'c2160' ) then set DEFAULT_DO_IOS = TRUE echo "Do you wish to ${C1}IOSERVER${CN}? (Default: ${C2}YES${CN} or ${C2}TRUE${CN})" @@ -815,7 +808,7 @@ if( $AGCM_IM == "c12" ) then set SOLAR_DT = 3600 set IRRAD_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set AGCM_IM = 12 set AGCM_JM = `expr $AGCM_IM \* 6` # C12 MOM6 should be 1x6 to match the default 3x2 ocean layout @@ -841,7 +834,7 @@ if( $AGCM_IM == "c24" ) then set SOLAR_DT = 3600 set IRRAD_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set AGCM_IM = 24 set AGCM_JM = `expr $AGCM_IM \* 6` set NX = 4 @@ -862,7 +855,7 @@ if( $AGCM_IM == "c48" ) then set SOLAR_DT = 3600 set IRRAD_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set AGCM_IM = 48 set AGCM_JM = `expr $AGCM_IM \* 6` set NX = 4 @@ -877,9 +870,10 @@ if( $AGCM_IM == "c48" ) then set POST_NDS = 4 endif if( $AGCM_IM == "c90" ) then - set DT = 900 + set DT = 1800 set SOLAR_DT = 3600 set IRRAD_DT = 3600 + set LONG_DT = $DT set AGCM_IM = 90 set AGCM_JM = `expr $AGCM_IM \* 6` if( $OGCM == TRUE ) then @@ -887,11 +881,10 @@ if( $AGCM_IM == "c90" ) then set NY = $OGCM_NX set OCEAN_DT = $DT else - set NX = 4 + set NX = 3 set NY = `expr $NX \* 6` set OCEAN_DT = $IRRAD_DT endif - set CHEM_DT = $DT set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` set HIST_JM = `expr $AGCM_IM \* 2 + 1` @@ -902,10 +895,10 @@ if( $AGCM_IM == "c90" ) then set POST_NDS = 8 endif if( $AGCM_IM == "c180" ) then - set DT = 600 + set DT = 900 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set CHEM_DT = $DT + set LONG_DT = $DT set AGCM_IM = 180 set AGCM_JM = `expr $AGCM_IM \* 6` if( $OGCM == TRUE ) then @@ -932,7 +925,7 @@ if( $AGCM_IM == "c360" ) then set SOLAR_DT = 3600 set IRRAD_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set AGCM_IM = 360 set AGCM_JM = `expr $AGCM_IM \* 6` set NX = 12 @@ -953,10 +946,10 @@ if( $AGCM_IM == "c720" ) then set SOLAR_DT = 3600 set IRRAD_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = 450 set AGCM_IM = 720 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 16 + set NX = 24 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -972,13 +965,13 @@ if( $AGCM_IM == "c720" ) then endif if( $AGCM_IM == "c1440" ) then set DT = 150 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 + set SOLAR_DT = 1800 + set IRRAD_DT = 1800 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = 300 set AGCM_IM = 1440 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 30 + set NX = 48 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -994,13 +987,13 @@ if( $AGCM_IM == "c1440" ) then endif if( $AGCM_IM == "c2880" ) then set DT = 75 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 + set SOLAR_DT = 1800 + set IRRAD_DT = 1800 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = 300 set AGCM_IM = 2880 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 30 + set NX = 96 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1016,14 +1009,14 @@ if( $AGCM_IM == "c2880" ) then set DEF_IOS_NDS = 4 endif if( $AGCM_IM == "c5760" ) then - set DT = 150 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 + set DT = 30 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = 300 set AGCM_IM = 5760 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 60 + set NX = 192 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1039,15 +1032,16 @@ if( $AGCM_IM == "c5760" ) then set DEF_IOS_NDS = 4 endif # CONUS Stretched Grids +set CONUS = '#' if( $AGCM_IM == "c270" ) then - set DT = 225 + set DT = 600 set SOLAR_DT = 3600 set IRRAD_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set AGCM_IM = 270 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 9 + set NX = 18 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1060,16 +1054,18 @@ if( $AGCM_IM == "c270" ) then set CNV_NX = 8 set POST_NDS = 32 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif if( $AGCM_IM == "c540" ) then - set DT = 150 + set DT = 300 set SOLAR_DT = 3600 set IRRAD_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set AGCM_IM = 540 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 18 + set NX = 36 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1082,37 +1078,17 @@ if( $AGCM_IM == "c540" ) then set CNV_NX = 8 set POST_NDS = 32 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif if( $AGCM_IM == "c1080" ) then - set DT = 75 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 + set DT = 150 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = 300 set AGCM_IM = 1080 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 36 - set NY = `expr $NX \* 6 \* 2` - set HYDROSTATIC = $USE_HYDROSTATIC - set HIST_IM = `expr $AGCM_IM \* 4` - set HIST_JM = `expr $AGCM_IM \* 2 + 1` - set GRID_FILE = "Gnomonic_c${AGCM_IM}.dat" - set NUM_READERS = 6 - set JOB_SGMT = 00000001 - set NUM_SGMT = 1 - set ATMOS_RES = CF1080x6C - set CNV_NX = 8 - set POST_NDS = 32 - set USE_SHMEM = 1 -endif -if( $AGCM_IM == "c2160" ) then - set DT = 60 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT - set AGCM_IM = 2160 - set AGCM_JM = `expr $AGCM_IM \* 6` set NX = 72 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC @@ -1122,43 +1098,22 @@ if( $AGCM_IM == "c2160" ) then set NUM_READERS = 6 set JOB_SGMT = 00000001 set NUM_SGMT = 1 - set ATMOS_RES = CF2160x6C + set ATMOS_RES = CF1080x6C set CNV_NX = 8 set POST_NDS = 32 set USE_SHMEM = 1 -endif -# DYAMOND Resolutions -if( $AGCM_IM == "c768" ) then - set DT = 180 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set OCEAN_DT = $IRRAD_DT - set CHEM_DT = 900 - set AGCM_IM = 768 - set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 32 - set NY = `expr $NX \* 6` - set HYDROSTATIC = $USE_HYDROSTATIC - set HIST_IM = `expr $AGCM_IM \* 4` - set HIST_JM = `expr $AGCM_IM \* 2 + 1` - set GRID_FILE = "Gnomonic_c${AGCM_IM}.dat" - set NUM_READERS = 6 - set JOB_SGMT = 00000005 - set NUM_SGMT = 1 - set ATMOS_RES = CF0768x6C - set CNV_NX = 8 - set POST_NDS = 16 - set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif if( $AGCM_IM == "c1536" ) then - set DT = 90 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 + set DT = 75 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = 900 + set LONG_DT = 300 set AGCM_IM = 1536 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 64 + set NX = 96 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1171,28 +1126,32 @@ if( $AGCM_IM == "c1536" ) then set CNV_NX = 8 set POST_NDS = 16 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 3.0 endif -if( $AGCM_IM == "c3072" ) then - set DT = 45 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 +if( $AGCM_IM == "c2160" ) then + set DT = 60 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = 900 - set AGCM_IM = 3072 + set LONG_DT = 300 + set AGCM_IM = 2160 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 64 - set NY = `expr $NX \* 6` + set NX = 192 + set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` set HIST_JM = `expr $AGCM_IM \* 2 + 1` set GRID_FILE = "Gnomonic_c${AGCM_IM}.dat" set NUM_READERS = 6 - set JOB_SGMT = 00000005 + set JOB_SGMT = 00000001 set NUM_SGMT = 1 - set ATMOS_RES = CF3072x6C + set ATMOS_RES = CF2160x6C set CNV_NX = 8 - set POST_NDS = 16 + set POST_NDS = 32 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif set IS_FCST = 0 @@ -1242,7 +1201,7 @@ set GFDL_HYDRO = ".TRUE." set GFDL_PROG_CCN = "prog_ccn = .true." set GFDL_USE_CCN = "use_ccn = .true." -# BACM_1M and GFDL do not use WSUB_NATURE, so this eliminates a regrid +# BACM_1M and GFDL do not use WSUB_CLIM, so this eliminates a regrid if ( "$CLDMICRO" == "BACM_1M" | "$CLDMICRO" == "GFDL_1M" ) then set MP_NO_USE_WSUB = "" else @@ -1270,6 +1229,17 @@ else endif endif +if ($CONUS == '#') then + set SCHMIDT = "do_schmidt = .false." + set STRETCH_FAC = "stretch_fac = 1.0" + set TARGET_LON = "target_lon = 0.0" + set TARGET_LAT = "target_lat = 0.0" +else + set SCHMIDT = "do_schmidt = .true." + set STRETCH_FAC = "stretch_fac = $STRETCH_FACTOR" + set TARGET_LON = "target_lon = -98.35" + set TARGET_LAT = "target_lat = 39.5" +endif ####################################################################### # Check for land surface and runoff routing models # @@ -1345,10 +1315,10 @@ endif # ---------------- GOCART: echo "Do you wish to run ${C1}GOCART${CN} with ${C2}Actual${CN} or ${C2}Climatological${CN} Aerosols? (Enter: ${C2}A${CN} (Default) or ${C2}C${CN})" -set GOKART = $< -if( .$GOKART == . ) set GOKART = A -set GOKART = `echo $GOKART | tr "[:lower:]" "[:upper:]"` -if( $GOKART != 'A' & $GOKART != 'C' ) then +set DATA_DRIVEN = $< +if( .$DATA_DRIVEN == . ) set DATA_DRIVEN = A +set DATA_DRIVEN = `echo $DATA_DRIVEN | tr "[:lower:]" "[:upper:]"` +if( $DATA_DRIVEN != 'A' & $DATA_DRIVEN != 'C' ) then echo echo "${C1}GOCART${CN} must be set equal to ${C2}A${CN} or ${C2}C${CN}!" goto GOCART @@ -1356,8 +1326,8 @@ else echo endif -if( $GOKART == "A" ) set GOKART = TRUE # Use Actual Aerosols -if( $GOKART == "C" ) set GOKART = FALSE # Use Climatological Aerosols +if( $DATA_DRIVEN == "A" ) set DATA_DRIVEN = FALSE # Use Actual Aerosols +if( $DATA_DRIVEN == "C" ) set DATA_DRIVEN = TRUE # Use Climatological Aerosols # Default setup for linkbcs emissions set OPS_SPECIES = "#" @@ -1365,11 +1335,19 @@ set CMIP_SPECIES = "#" set MERRA2OX_SPECIES = "#" set PCHEM_CLIM_YEARS = "" -if( $GOKART == TRUE ) then +set AERO_PROVIDER = GOCART2G + +if( $DATA_DRIVEN == FALSE ) then -set GOCART = "" -set GOCART_INTERNAL = "GOCART_INTERNAL" -set HIST_GOCART = "" + set GOCART = "" + set HIST_GOCART = "" + +else + + set GOCART = "#" + set HIST_GOCART = "#DELETE" + +endif # Emission Files # -------------- @@ -1402,42 +1380,41 @@ EMISSIONS: set PCHEM_CLIM_YEARS = 39 endif -# AERO Provider + +# RATS Provider # ------------- - set AERO_PROVIDER = GOCART2G -#AERO: -#echo "Enter the ${C1}AERO_PROVIDER${CN}: ${C2}GOCART${CN} (Default) or ${C2}GOCART.data${CN}:" -# set AERO_PROVIDER = $< -# if( .$AERO_PROVIDER == . ) then -# set AERO_PROVIDER = GOCART -# else -# if( $AERO_PROVIDER != GOCART.data & $AERO_PROVIDER != GOCART ) then -# echo -# echo "${C1}AERO_PROVIDER${CN} must be equal to ${C2}GOCART${CN} or ${C2}GOCART.data${CN}!" -# goto AERO -# else -# echo -# endif -# endif +set RATS_PROVIDER = PCHEM -else -# GOKART = FALSE -# -------------- -set AERO_PROVIDER = GOCART.data -set EMISSIONS = "" -set GOCART = "#" -set HIST_GOCART = "#DELETE" +####################################################################### +# Confirm HEARTBEAT time for the model +####################################################################### -# GOCART.data uses MERRA2OX currently -set MERRA2OX_SPECIES = "" -set PCHEM_CLIM_YEARS = 39 +# Per W. Putman recommendation, set heartbeat to 450s anytime BACM_1M is selected +if( "$CLDMICRO" == "BACM_1M" ) then + set DT = 450 + set LONG_DT = 450 +endif + +ASKHB: +echo "Enter ${C1}HEARTBEAT_DT${CN} to use" +echo " ${C2}1. Hit ENTER to use the recommended default of ${DT} ${CN}" +echo " ${C2}2. Type an integer (in seconds) to overide the default value ${CN}" +set HEARTBEAT = $< +if( .$HEARTBEAT == . ) then + set HEARTBEAT = $DT +else + set HEARTBEAT = `echo $HEARTBEAT | awk '{print ($0+0)}'` + if ( ! $HEARTBEAT > 0 ) then + echo + echo "${C1}HEARTBEAT${CN} must be a valid integer using one of the options below!" + goto ASKHB + endif endif -# RATS Provider -# ------------- -set RATS_PROVIDER = PCHEM +set DT = $HEARTBEAT + ####################################################################### # Create Desired HISTORY template @@ -2245,7 +2222,7 @@ s/@DT/$DT/g s/@SOLAR_DT/$SOLAR_DT/g s/@IRRAD_DT/$IRRAD_DT/g s/@OCEAN_DT/$OCEAN_DT/g -s/@CHEM_DT/$CHEM_DT/g +s/@LONG_DT/$LONG_DT/g s/@NX/$NX/g s/@NY/$NY/g s/@USE_SHMEM/$USE_SHMEM/g @@ -2275,6 +2252,9 @@ s/@END_DATE/${END_DATE}/g s/@JOB_SGMT/${JOB_SGMT}/g s/@NUM_SGMT/${NUM_SGMT}/g +s/@CONUS/${CONUS}/g +s/@STRETCH_FAC/${STRETCH_FAC}/g + s/@INTERPOLATE_SST/$INTERPOLATE_SST/g s/@HIST_IM/$HIST_IM/g s/@HIST_JM/$HIST_JM/g @@ -2297,23 +2277,24 @@ s?@BACM_1M_?$BACM_1M_?g s?@GFDL_1M_?$GFDL_1M_?g s?@MGB2_2M_?$MGB2_2M_?g -s?@GFDL_HYDRO?$GFDL_HYDRO?g - -s?@FV_MAKENH?$FV_MAKENH?g -s?@FV_HYDRO?$FV_HYDRO?g - -s?@GFDL_PROG_CCN?$GFDL_PROG_CCN?g -s?@GFDL_USE_CCN?$GFDL_USE_CCN?g - EOF -# Added FV3 Specific Parameters -# ----------------------------- +# Added FV3/GFDL-MP Specific Parameters +# ------------------------------------- cat >> $HOMDIR/sedfile << EOF s^@HYDROSTATIC^$HYDROSTATIC^g s/@GRID_FILE/$GRID_FILE/g +s?@FV_SCHMIDT?$SCHMIDT?g +s?@FV_STRETCH_FAC?$STRETCH_FAC?g +s?@FV_TARGET_LON?$TARGET_LON?g +s?@FV_TARGET_LAT?$TARGET_LAT?g +s?@FV_MAKENH?$FV_MAKENH?g +s?@FV_HYDRO?$FV_HYDRO?g +s?@GFDL_PROG_CCN?$GFDL_PROG_CCN?g +s?@GFDL_USE_CCN?$GFDL_USE_CCN?g +s?@GFDL_HYDRO?$GFDL_HYDRO?g EOF @@ -2509,7 +2490,7 @@ if( $AGCM_LM != 72 ) then cat $EXPDIR/RC/dummy | sed -e "s|/L72/|/L${AGCM_LM}/|g" \ | sed -e "s|z72|z${AGCM_LM}|g" \ | sed -e "s|_72_|_${AGCM_LM}_|g" > $file - end + end endif @@ -2521,14 +2502,6 @@ if( $RATS_PROVIDER == PCHEM ) then awk '{ if ($1~"ENABLE_PCHEM:") { sub(/FALSE/,"TRUE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc endif -# Turn on GOCART.data -# ------------------- -if( $AERO_PROVIDER == GOCART.data ) then - /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp - cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ - awk '{ if ($1~"ENABLE_GOCART_DATA:") { sub(/FALSE/,"TRUE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc -endif - # Turn on TR GridComp # ------------------- /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp @@ -2553,24 +2526,24 @@ else awk '{ if ($1~"Z0_FORMULATION:") { sub(/4/,"2") }; print }' > $EXPDIR/RC/GEOS_SurfaceGridComp.rc endif -# Turn on GOCART -# -------------- -if( $GOKART == TRUE ) then - /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp - cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ - awk '{ if ($1~"ENABLE_GOCART:") { sub(/FALSE/,"TRUE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc +# Enable DATA_DRIVEN GOCART2G +# --------------------------- +if( $AERO_PROVIDER == GOCART2G ) then + if ($DATA_DRIVEN == TRUE ) then + /bin/mv $EXPDIR/RC/GOCART2G_GridComp.rc $EXPDIR/RC/GOCART2G_GridComp.tmp + cat $EXPDIR/RC/GOCART2G_GridComp.tmp | \ + sed -e '/ACTIVE_INSTANCES_DU:/ s/DU /DU.data /' \ + -e '/ACTIVE_INSTANCES_SS:/ s/SS /SS.data /' \ + -e '/ACTIVE_INSTANCES_SU:/ s/SU /SU.data /' \ + -e '/ACTIVE_INSTANCES_NI:/ s/NI /NI.data /' \ + -e '/ACTIVE_INSTANCES_CA:/ s/CA.oc /CA.oc.data /' \ + -e '/ACTIVE_INSTANCES_CA:/ s/CA.bc /CA.bc.data /' \ + -e '/ACTIVE_INSTANCES_CA:/ s/CA.br /CA.br.data /' > $EXPDIR/RC/GOCART2G_GridComp.rc + endif /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ awk '{ if ($1~"ENABLE_GOCART_DATA:") { sub(/TRUE/,"FALSE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc -else - /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp - cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ - awk '{ if ($1~"ENABLE_GOCART:") { sub(/TRUE/,"FALSE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc - - /bin/mv $EXPDIR/RC/Chem_Registry.rc $EXPDIR/RC/Chem_Registry.tmp - cat $EXPDIR/RC/Chem_Registry.tmp | \ - awk '{ if ( $1 ~ "doing" ) { sub(/yes/, "no" ) }; print }' > $EXPDIR/RC/Chem_Registry.rc endif # Remove FVWORK/EXPID syntax from GAAS_GridComp.rc for use in REPLAY @@ -2581,17 +2554,11 @@ endif # Turn on RATS_PROVIDER # --------------------- -if( $RATS_PROVIDER == PCHEM ) then - /bin/mv $EXPDIR/RC/Chem_Registry.rc $EXPDIR/RC/Chem_Registry.tmp - cat $EXPDIR/RC/Chem_Registry.tmp | \ - awk '{if ( $1 ~ "doing") { if ( $1 ~ "PC") sub(/no/, "yes" ); print;} else print }' > $EXPDIR/RC/Chem_Registry.rc -endif +# (By default, doing_PC is yes in RC/Chem_Registry.rc and RC/AMIP/Chem_Registry.rc) # Turn on TR GridComp # --------------------- - /bin/mv $EXPDIR/RC/Chem_Registry.rc $EXPDIR/RC/Chem_Registry.tmp - cat $EXPDIR/RC/Chem_Registry.tmp | \ - awk '{if ( $1 ~ "doing") { if ( $1 ~ "TR") sub(/no/, "yes" ); print;} else print }' > $EXPDIR/RC/Chem_Registry.rc +# (By default, ENABLE_TR is TRUE in RC/GEOS_ChemGridComp.rc) ####################################################################### diff --git a/geoschemchem_setup b/geoschemchem_setup index 78b8722c..c14cb1c1 100755 --- a/geoschemchem_setup +++ b/geoschemchem_setup @@ -198,14 +198,11 @@ echo " ${C2}c1440 - 1/16 deg (${C1} 6.25 km${C2}) ${CN}" echo " ${C2}c2880 - 1/32 deg (${C1} 3.125 km${C2}) ${CN}" echo " ${C2}c5760 - 1/64 deg (${C1} 1.5625 km${C2}) ${CN}" echo " ${C2} CONUS Stretched Grids " -echo " ${C2}c270 -- ${C1} 13.0 -100 km${C2}) ${CN} " -echo " ${C2}c540 -- ${C1} 7.0 - 50 km${C2}) ${CN} " -echo " ${C2}c1080 - ${C1} 3.5 - 25 km${C2}) ${CN} " -echo " ${C2}c2160 - ${C1} 1.25- 12 km${C2}) ${CN} " -echo " ${C2} DYAMOND Grids " -echo " ${C2}c768 -- 1/8 deg (${C1} 12.0 km${C2}) ${CN}" -echo " ${C2}c1536 - 1/16 deg (${C1} 6.0 km${C2}) ${CN}" -echo " ${C2}c3072 - 1/32 deg (${C1} 3.0 km${C2}) ${CN}" +echo " ${C2}c270 -- ${C1} 16.0 -100 km${C2}) ${CN} " +echo " ${C2}c540 -- ${C1} 8.0 - 50 km${C2}) ${CN} " +echo " ${C2}c1080 - ${C1} 4.0 - 25 km${C2}) ${CN} " +echo " ${C2}c1536 - ${C1} 2.0 - 20 km${C2}) ${CN} " +echo " ${C2}c2160 - ${C1} 2.0 - 12 km${C2}) ${CN} " echo " " set HRCODE = `echo $<` set HRCODE = `echo $HRCODE | tr "[:upper:]" "[:lower:]"` @@ -223,10 +220,8 @@ if( $HRCODE != 'c12' & \ $HRCODE != 'c270' & \ $HRCODE != 'c540' & \ $HRCODE != 'c1080' & \ - $HRCODE != 'c2160' & \ - $HRCODE != 'c768' & \ $HRCODE != 'c1536' & \ - $HRCODE != 'c3072' ) goto HRCODE + $HRCODE != 'c2160' ) goto HRCODE set Resolution = $HRCODE @@ -327,10 +322,8 @@ if( $HRCODE == 'c180' | \ $HRCODE == 'c270' | \ $HRCODE == 'c540' | \ $HRCODE == 'c1080' | \ - $HRCODE == 'c2160' | \ - $HRCODE == 'c768' | \ $HRCODE == 'c1536' | \ - $HRCODE == 'c3072' ) then + $HRCODE == 'c2160' ) then set DEFAULT_DO_IOS = TRUE echo "Do you wish to ${C1}IOSERVER${CN}? (Default: ${C2}YES${CN} or ${C2}TRUE${CN})" @@ -814,11 +807,9 @@ if( $AGCM_IM == "c12" ) then set DT = 1800 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 12 set AGCM_JM = `expr $AGCM_IM \* 6` # C12 MOM6 should be 1x6 to match the default 3x2 ocean layout @@ -843,11 +834,9 @@ if( $AGCM_IM == "c24" ) then set DT = 1800 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 24 set AGCM_JM = `expr $AGCM_IM \* 6` set NX = 4 @@ -867,11 +856,9 @@ if( $AGCM_IM == "c48" ) then set DT = 1800 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 48 set AGCM_JM = `expr $AGCM_IM \* 6` set NX = 4 @@ -886,10 +873,9 @@ if( $AGCM_IM == "c48" ) then set POST_NDS = 4 endif if( $AGCM_IM == "c90" ) then - set DT = 900 + set DT = 1800 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set AGCM_IM = 90 set AGCM_JM = `expr $AGCM_IM \* 6` if( $OGCM == TRUE ) then @@ -901,9 +887,8 @@ if( $AGCM_IM == "c90" ) then set NY = `expr $NX \* 6` set OCEAN_DT = $IRRAD_DT endif - set CHEM_DT = $DT + set LONG_DT = $DT set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` set HIST_JM = `expr $AGCM_IM \* 2 + 1` @@ -914,13 +899,11 @@ if( $AGCM_IM == "c90" ) then set POST_NDS = 8 endif if( $AGCM_IM == "c180" ) then - set DT = 600 + set DT = 900 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 - set CHEM_DT = $DT + set LONG_DT = $DT set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 180 set AGCM_JM = `expr $AGCM_IM \* 6` if( $OGCM == TRUE ) then @@ -946,11 +929,9 @@ if( $AGCM_IM == "c360" ) then set DT = 450 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 360 set AGCM_JM = `expr $AGCM_IM \* 6` set NX = 12 @@ -970,14 +951,12 @@ if( $AGCM_IM == "c720" ) then set DT = 225 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = 450 set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 720 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 16 + set NX = 24 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -993,16 +972,14 @@ if( $AGCM_IM == "c720" ) then endif if( $AGCM_IM == "c1440" ) then set DT = 150 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 + set SOLAR_DT = 1800 + set IRRAD_DT = 1800 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = 300 set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 1440 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 30 + set NX = 48 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1018,16 +995,14 @@ if( $AGCM_IM == "c1440" ) then endif if( $AGCM_IM == "c2880" ) then set DT = 75 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 + set SOLAR_DT = 1800 + set IRRAD_DT = 1800 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = 300 set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 2880 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 30 + set NX = 96 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1043,17 +1018,15 @@ if( $AGCM_IM == "c2880" ) then set DEF_IOS_NDS = 4 endif if( $AGCM_IM == "c5760" ) then - set DT = 150 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 + set DT = 30 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = 300 set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 5760 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 60 + set NX = 192 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1069,18 +1042,17 @@ if( $AGCM_IM == "c5760" ) then set DEF_IOS_NDS = 4 endif # CONUS Stretched Grids +set CONUS = '#' if( $AGCM_IM == "c270" ) then - set DT = 225 + set DT = 600 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 270 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 9 + set NX = 18 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1093,19 +1065,19 @@ if( $AGCM_IM == "c270" ) then set CNV_NX = 8 set POST_NDS = 32 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif if( $AGCM_IM == "c540" ) then - set DT = 150 + set DT = 300 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 540 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 18 + set NX = 36 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1118,43 +1090,18 @@ if( $AGCM_IM == "c540" ) then set CNV_NX = 8 set POST_NDS = 32 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif if( $AGCM_IM == "c1080" ) then - set DT = 75 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 + set DT = 150 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = 300 set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 1080 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 36 - set NY = `expr $NX \* 6 \* 2` - set HYDROSTATIC = $USE_HYDROSTATIC - set HIST_IM = `expr $AGCM_IM \* 4` - set HIST_JM = `expr $AGCM_IM \* 2 + 1` - set GRID_FILE = "Gnomonic_c${AGCM_IM}.dat" - set NUM_READERS = 6 - set JOB_SGMT = 00000001 - set NUM_SGMT = 1 - set ATMOS_RES = CF1080x6C - set CNV_NX = 8 - set POST_NDS = 32 - set USE_SHMEM = 1 -endif -if( $AGCM_IM == "c2160" ) then - set DT = 60 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 - set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT - set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` - set AGCM_IM = 2160 - set AGCM_JM = `expr $AGCM_IM \* 6` set NX = 72 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC @@ -1164,49 +1111,23 @@ if( $AGCM_IM == "c2160" ) then set NUM_READERS = 6 set JOB_SGMT = 00000001 set NUM_SGMT = 1 - set ATMOS_RES = CF2160x6C + set ATMOS_RES = CF1080x6C set CNV_NX = 8 set POST_NDS = 32 set USE_SHMEM = 1 -endif -# DYAMOND Resolutions -if( $AGCM_IM == "c768" ) then - set DT = 180 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 - set OCEAN_DT = $IRRAD_DT - set CHEM_DT = 900 - set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = $CHEM_DT - set AGCM_IM = 768 - set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 32 - set NY = `expr $NX \* 6` - set HYDROSTATIC = $USE_HYDROSTATIC - set HIST_IM = `expr $AGCM_IM \* 4` - set HIST_JM = `expr $AGCM_IM \* 2 + 1` - set GRID_FILE = "Gnomonic_c${AGCM_IM}.dat" - set NUM_READERS = 6 - set JOB_SGMT = 00000005 - set NUM_SGMT = 1 - set ATMOS_RES = CF0768x6C - set CNV_NX = 8 - set POST_NDS = 16 - set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif if( $AGCM_IM == "c1536" ) then - set DT = 90 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 + set DT = 75 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = 900 + set LONG_DT = 300 set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = $CHEM_DT set AGCM_IM = 1536 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 64 + set NX = 96 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1219,31 +1140,33 @@ if( $AGCM_IM == "c1536" ) then set CNV_NX = 8 set POST_NDS = 16 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 3.0 endif -if( $AGCM_IM == "c3072" ) then - set DT = 45 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 +if( $AGCM_IM == "c2160" ) then + set DT = 60 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = 900 + set LONG_DT = 300 set GEOSCHEMCHEM_DT = `expr $DT \* 2` -# set GOCART_DT = $CHEM_DT - set AGCM_IM = 3072 + set AGCM_IM = 2160 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 64 - set NY = `expr $NX \* 6` + set NX = 192 + set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` set HIST_JM = `expr $AGCM_IM \* 2 + 1` set GRID_FILE = "Gnomonic_c${AGCM_IM}.dat" set NUM_READERS = 6 - set JOB_SGMT = 00000005 + set JOB_SGMT = 00000001 set NUM_SGMT = 1 - set ATMOS_RES = CF3072x6C + set ATMOS_RES = CF2160x6C set CNV_NX = 8 - set POST_NDS = 16 + set POST_NDS = 32 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif set IS_FCST = 0 @@ -1293,7 +1216,7 @@ set GFDL_HYDRO = ".TRUE." set GFDL_PROG_CCN = "prog_ccn = .true." set GFDL_USE_CCN = "use_ccn = .true." -# BACM_1M and GFDL do not use WSUB_NATURE, so this eliminates a regrid +# BACM_1M and GFDL do not use WSUB_CLIM, so this eliminates a regrid if ( "$CLDMICRO" == "BACM_1M" | "$CLDMICRO" == "GFDL_1M" ) then set MP_NO_USE_WSUB = "" else @@ -1321,6 +1244,17 @@ else endif endif +if ($CONUS == '#') then + set SCHMIDT = "do_schmidt = .false." + set STRETCH_FAC = "stretch_fac = 1.0" + set TARGET_LON = "target_lon = 0.0" + set TARGET_LAT = "target_lat = 0.0" +else + set SCHMIDT = "do_schmidt = .true." + set STRETCH_FAC = "stretch_fac = $STRETCH_FACTOR" + set TARGET_LON = "target_lon = -98.35" + set TARGET_LAT = "target_lat = 39.5" +endif ####################################################################### # Check for land surface and runoff routing models # @@ -1396,10 +1330,10 @@ endif # ---------------- GOCART: echo "Do you wish to run ${C1}GOCART${CN} with ${C2}Actual${CN} or ${C2}Climatological${CN} Aerosols? (Enter: ${C2}A${CN} (Default) or ${C2}C${CN})" -set GOKART = $< -if( .$GOKART == . ) set GOKART = A -set GOKART = `echo $GOKART | tr "[:lower:]" "[:upper:]"` -if( $GOKART != 'A' & $GOKART != 'C' ) then +set DATA_DRIVEN = $< +if( .$DATA_DRIVEN == . ) set DATA_DRIVEN = A +set DATA_DRIVEN = `echo $DATA_DRIVEN | tr "[:lower:]" "[:upper:]"` +if( $DATA_DRIVEN != 'A' & $DATA_DRIVEN != 'C' ) then echo echo "${C1}GOCART${CN} must be set equal to ${C2}A${CN} or ${C2}C${CN}!" goto GOCART @@ -1407,8 +1341,8 @@ else echo endif -if( $GOKART == "A" ) set GOKART = TRUE # Use Actual Aerosols -if( $GOKART == "C" ) set GOKART = FALSE # Use Climatological Aerosols +if( $DATA_DRIVEN == "A" ) set DATA_DRIVEN = FALSE # Use Actual Aerosols +if( $DATA_DRIVEN == "C" ) set DATA_DRIVEN = TRUE # Use Climatological Aerosols # Default setup for linkbcs emissions set OPS_SPECIES = "#" @@ -1416,11 +1350,19 @@ set CMIP_SPECIES = "#" set MERRA2OX_SPECIES = "#" set PCHEM_CLIM_YEARS = "" -if( $GOKART == TRUE ) then +set AERO_PROVIDER = GOCART2G + +if( $DATA_DRIVEN == FALSE ) then + + set GOCART = "" + set HIST_GOCART = "" + +else -set GOCART = "" -set GOCART_INTERNAL = "GOCART_INTERNAL" -set HIST_GOCART = "" + set GOCART = "#" + set HIST_GOCART = "#DELETE" + +endif # Emission Files # -------------- @@ -1453,38 +1395,6 @@ EMISSIONS: set PCHEM_CLIM_YEARS = 39 endif -# AERO Provider -# ------------- - set AERO_PROVIDER = GOCART2G -#AERO: -#echo "Enter the ${C1}AERO_PROVIDER${CN}: ${C2}GOCART${CN} (Default) or ${C2}GOCART.data${CN}:" -# set AERO_PROVIDER = $< -# if( .$AERO_PROVIDER == . ) then -# set AERO_PROVIDER = GOCART -# else -# if( $AERO_PROVIDER != GOCART.data & $AERO_PROVIDER != GOCART ) then -# echo -# echo "${C1}AERO_PROVIDER${CN} must be equal to ${C2}GOCART${CN} or ${C2}GOCART.data${CN}!" -# goto AERO -# else -# echo -# endif -# endif - -else - -# GOKART = FALSE -# -------------- -set AERO_PROVIDER = GOCART.data -set EMISSIONS = "" -set GOCART = "#" -set HIST_GOCART = "#DELETE" - -# GOCART.data uses MERRA2OX currently -set MERRA2OX_SPECIES = "" -set PCHEM_CLIM_YEARS = 39 - -endif # RATS Provider # ------------- @@ -1505,6 +1415,37 @@ RATSPRO: endif endif + +####################################################################### +# Confirm HEARTBEAT time for the model +####################################################################### + +# Per W. Putman recommendation, set heartbeat to 450s anytime BACM_1M is selected +if( "$CLDMICRO" == "BACM_1M" ) then + set DT = 450 + set LONG_DT = 450 +endif + +ASKHB: +echo "Enter ${C1}HEARTBEAT_DT${CN} to use" +echo " ${C2}1. Hit ENTER to use the recommended default of ${DT} ${CN}" +echo " ${C2}2. Type an integer (in seconds) to overide the default value ${CN}" + +set HEARTBEAT = $< +if( .$HEARTBEAT == . ) then + set HEARTBEAT = $DT +else + set HEARTBEAT = `echo $HEARTBEAT | awk '{print ($0+0)}'` + if ( ! $HEARTBEAT > 0 ) then + echo + echo "${C1}HEARTBEAT${CN} must be a valid integer using one of the options below!" + goto ASKHB + endif +endif + +set DT = $HEARTBEAT + + ####################################################################### # Create Desired HISTORY template ####################################################################### @@ -1651,10 +1592,10 @@ if( $SITE == 'NAS' ) then setenv CONVERT_P "PBS -l select=${CNV_NX}:ncpus=${NCPUS_PER_NODE}:mpiprocs=${NCPUS_PER_NODE}:model=${MODEL}" # PE Configuration for gcm_convert.j setenv MOVE_P "PBS -l select=1:ncpus=1" # PE Configuration for gcm_moveplot.j - setenv BCSDIR /nobackup/gmao_SIteam/ModelData/bcs/${LSM_BCS}/${LSM_BCS}_${OCEAN_TAG} # location of Boundary Conditions - setenv REPLAY_ANA_EXPID ONLY_MERRA2_SUPPORTED # Default Analysis Experiment for REPLAY - setenv REPLAY_ANA_LOCATION ONLY_MERRA2_SUPPORTED # Default Analysis Location for REPLAY - setenv M2_REPLAY_ANA_LOCATION /nobackup/gmao_SIteam/ModelData/merra2/data # Default Analysis Location for M2 REPLAY + setenv BCSDIR /nobackup/gmao_SIteam/ModelData/bcs/${LSM_BCS}/${LSM_BCS}_${OCEAN_TAG} # location of Boundary Conditions + setenv REPLAY_ANA_EXPID ONLY_MERRA2_SUPPORTED # Default Analysis Experiment for REPLAY + setenv REPLAY_ANA_LOCATION ONLY_MERRA2_SUPPORTED # Default Analysis Location for REPLAY + setenv M2_REPLAY_ANA_LOCATION /nobackup/gmao_SIteam/ModelData/merra2/data # Default Analysis Location for M2 REPLAY if( ${OGCM_IM}x${OGCM_JM} == "1440x720" ) then setenv SSTDIR /nobackup/gmao_SIteam/ModelData/fvInput/g5gcm/bcs/SST/${OGCM_IM}x${OGCM_JM} # location of SST Boundary Conditions @@ -2299,8 +2240,6 @@ s^@DYCORE^$DYCORE^g s^@AGCM_GRIDNAME^$AGCM_GRIDNAME^g s^@OGCM_GRIDNAME^$OGCM_GRIDNAME^g -s/@GOCART_DT/$DT/g - s?@IS_FCST?$IS_FCST?g s^@BOOT^YES^g s^@BCSRES^$BCSRES^g @@ -2312,9 +2251,8 @@ s^@TILEBIN^$TILEBIN^g s/@DT/$DT/g s/@SOLAR_DT/$SOLAR_DT/g s/@IRRAD_DT/$IRRAD_DT/g -s/@SATSIM_DT/$SATSIM_DT/g s/@OCEAN_DT/$OCEAN_DT/g -s/@CHEM_DT/$CHEM_DT/g +s/@LONG_DT/$LONG_DT/g s/@NX/$NX/g s/@NY/$NY/g s/@USE_SHMEM/$USE_SHMEM/g @@ -2344,6 +2282,9 @@ s/@END_DATE/${END_DATE}/g s/@JOB_SGMT/${JOB_SGMT}/g s/@NUM_SGMT/${NUM_SGMT}/g +s/@CONUS/${CONUS}/g +s/@STRETCH_FAC/${STRETCH_FAC}/g + /SATSIM_DT/a GEOSCHEMCHEM_DT: $GEOSCHEMCHEM_DT s/@INTERPOLATE_SST/$INTERPOLATE_SST/g @@ -2368,23 +2309,24 @@ s?@BACM_1M_?$BACM_1M_?g s?@GFDL_1M_?$GFDL_1M_?g s?@MGB2_2M_?$MGB2_2M_?g -s?@GFDL_HYDRO?$GFDL_HYDRO?g - -s?@FV_MAKENH?$FV_MAKENH?g -s?@FV_HYDRO?$FV_HYDRO?g - -s?@GFDL_PROG_CCN?$GFDL_PROG_CCN?g -s?@GFDL_USE_CCN?$GFDL_USE_CCN?g - EOF -# Added FV3 Specific Parameters -# ----------------------------- +# Added FV3/GFDL-MP Specific Parameters +# ------------------------------------- cat >> $HOMDIR/sedfile << EOF s^@HYDROSTATIC^$HYDROSTATIC^g s/@GRID_FILE/$GRID_FILE/g +s?@FV_SCHMIDT?$SCHMIDT?g +s?@FV_STRETCH_FAC?$STRETCH_FAC?g +s?@FV_TARGET_LON?$TARGET_LON?g +s?@FV_TARGET_LAT?$TARGET_LAT?g +s?@FV_MAKENH?$FV_MAKENH?g +s?@FV_HYDRO?$FV_HYDRO?g +s?@GFDL_PROG_CCN?$GFDL_PROG_CCN?g +s?@GFDL_USE_CCN?$GFDL_USE_CCN?g +s?@GFDL_HYDRO?$GFDL_HYDRO?g EOF @@ -2748,14 +2690,6 @@ if( $RATS_PROVIDER == PCHEM ) then awk '{ if ($1~"ENABLE_PCHEM:") { sub(/FALSE/,"TRUE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc endif -# Turn on GOCART.data -# ------------------- -if( $AERO_PROVIDER == GOCART.data ) then - /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp - cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ - awk '{ if ($1~"ENABLE_GOCART_DATA:") { sub(/FALSE/,"TRUE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc -endif - # Turn on TR GridComp # ------------------- /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp @@ -2780,24 +2714,24 @@ else awk '{ if ($1~"Z0_FORMULATION:") { sub(/4/,"2") }; print }' > $EXPDIR/RC/GEOS_SurfaceGridComp.rc endif -# Turn on GOCART -# -------------- -if( $GOKART == TRUE ) then - /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp - cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ - awk '{ if ($1~"ENABLE_GOCART:") { sub(/FALSE/,"TRUE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc +# Enable DATA_DRIVEN GOCART2G +# --------------------------- +if( $AERO_PROVIDER == GOCART2G ) then + if ($DATA_DRIVEN == TRUE ) then + /bin/mv $EXPDIR/RC/GOCART2G_GridComp.rc $EXPDIR/RC/GOCART2G_GridComp.tmp + cat $EXPDIR/RC/GOCART2G_GridComp.tmp | \ + sed -e '/ACTIVE_INSTANCES_DU:/ s/DU /DU.data /' \ + -e '/ACTIVE_INSTANCES_SS:/ s/SS /SS.data /' \ + -e '/ACTIVE_INSTANCES_SU:/ s/SU /SU.data /' \ + -e '/ACTIVE_INSTANCES_NI:/ s/NI /NI.data /' \ + -e '/ACTIVE_INSTANCES_CA:/ s/CA.oc /CA.oc.data /' \ + -e '/ACTIVE_INSTANCES_CA:/ s/CA.bc /CA.bc.data /' \ + -e '/ACTIVE_INSTANCES_CA:/ s/CA.br /CA.br.data /' > $EXPDIR/RC/GOCART2G_GridComp.rc + endif /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ awk '{ if ($1~"ENABLE_GOCART_DATA:") { sub(/TRUE/,"FALSE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc -else - /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp - cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ - awk '{ if ($1~"ENABLE_GOCART:") { sub(/TRUE/,"FALSE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc - - /bin/mv $EXPDIR/RC/Chem_Registry.rc $EXPDIR/RC/Chem_Registry.tmp - cat $EXPDIR/RC/Chem_Registry.tmp | \ - awk '{ if ( $1 ~ "doing" ) { sub(/yes/, "no" ) }; print }' > $EXPDIR/RC/Chem_Registry.rc endif # Remove FVWORK/EXPID syntax from GAAS_GridComp.rc for use in REPLAY @@ -2808,17 +2742,11 @@ endif # Turn on RATS_PROVIDER # --------------------- -if( $RATS_PROVIDER == PCHEM ) then - /bin/mv $EXPDIR/RC/Chem_Registry.rc $EXPDIR/RC/Chem_Registry.tmp - cat $EXPDIR/RC/Chem_Registry.tmp | \ - awk '{if ( $1 ~ "doing") { if ( $1 ~ "PC") sub(/no/, "yes" ); print;} else print }' > $EXPDIR/RC/Chem_Registry.rc -endif +# (By default, doing_PC is yes in RC/Chem_Registry.rc and RC/AMIP/Chem_Registry.rc) # Turn on TR GridComp # --------------------- - /bin/mv $EXPDIR/RC/Chem_Registry.rc $EXPDIR/RC/Chem_Registry.tmp - cat $EXPDIR/RC/Chem_Registry.tmp | \ - awk '{if ( $1 ~ "doing") { if ( $1 ~ "TR") sub(/no/, "yes" ); print;} else print }' > $EXPDIR/RC/Chem_Registry.rc +# (By default, ENABLE_TR is TRUE in RC/GEOS_ChemGridComp.rc) ####################################################################### diff --git a/gmichem_setup b/gmichem_setup index bac41cea..23b56fb2 100755 --- a/gmichem_setup +++ b/gmichem_setup @@ -198,14 +198,11 @@ echo " ${C2}c1440 - 1/16 deg (${C1} 6.25 km${C2}) ${CN}" echo " ${C2}c2880 - 1/32 deg (${C1} 3.125 km${C2}) ${CN}" echo " ${C2}c5760 - 1/64 deg (${C1} 1.5625 km${C2}) ${CN}" echo " ${C2} CONUS Stretched Grids " -echo " ${C2}c270 -- ${C1} 13.0 -100 km${C2}) ${CN} " -echo " ${C2}c540 -- ${C1} 7.0 - 50 km${C2}) ${CN} " -echo " ${C2}c1080 - ${C1} 3.5 - 25 km${C2}) ${CN} " -echo " ${C2}c2160 - ${C1} 1.25- 12 km${C2}) ${CN} " -echo " ${C2} DYAMOND Grids " -echo " ${C2}c768 -- 1/8 deg (${C1} 12.0 km${C2}) ${CN}" -echo " ${C2}c1536 - 1/16 deg (${C1} 6.0 km${C2}) ${CN}" -echo " ${C2}c3072 - 1/32 deg (${C1} 3.0 km${C2}) ${CN}" +echo " ${C2}c270 -- ${C1} 16.0 -100 km${C2}) ${CN} " +echo " ${C2}c540 -- ${C1} 8.0 - 50 km${C2}) ${CN} " +echo " ${C2}c1080 - ${C1} 4.0 - 25 km${C2}) ${CN} " +echo " ${C2}c1536 - ${C1} 2.0 - 20 km${C2}) ${CN} " +echo " ${C2}c2160 - ${C1} 2.0 - 12 km${C2}) ${CN} " echo " " set HRCODE = `echo $<` set HRCODE = `echo $HRCODE | tr "[:upper:]" "[:lower:]"` @@ -223,10 +220,8 @@ if( $HRCODE != 'c12' & \ $HRCODE != 'c270' & \ $HRCODE != 'c540' & \ $HRCODE != 'c1080' & \ - $HRCODE != 'c2160' & \ - $HRCODE != 'c768' & \ $HRCODE != 'c1536' & \ - $HRCODE != 'c3072' ) goto HRCODE + $HRCODE != 'c2160' ) goto HRCODE set Resolution = $HRCODE @@ -327,10 +322,8 @@ if( $HRCODE == 'c180' | \ $HRCODE == 'c270' | \ $HRCODE == 'c540' | \ $HRCODE == 'c1080' | \ - $HRCODE == 'c2160' | \ - $HRCODE == 'c768' | \ $HRCODE == 'c1536' | \ - $HRCODE == 'c3072' ) then + $HRCODE == 'c2160' ) then set DEFAULT_DO_IOS = TRUE echo "Do you wish to ${C1}IOSERVER${CN}? (Default: ${C2}YES${CN} or ${C2}TRUE${CN})" @@ -911,11 +904,9 @@ if( $AGCM_IM == "c12" ) then set DT = 1800 set SOLAR_DT = `expr $DT \* 2` set IRRAD_DT = `expr $DT \* 2` - set SATSIM_DT = `expr $DT \* 2` set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GMICHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 12 set AGCM_JM = `expr $AGCM_IM \* 6` # C12 MOM6 should be 1x6 to match the default 3x2 ocean layout @@ -940,11 +931,9 @@ if( $AGCM_IM == "c24" ) then set DT = 1800 set SOLAR_DT = `expr $DT \* 2` set IRRAD_DT = `expr $DT \* 2` - set SATSIM_DT = `expr $DT \* 2` set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GMICHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 24 set AGCM_JM = `expr $AGCM_IM \* 6` set NX = 4 @@ -964,11 +953,9 @@ if( $AGCM_IM == "c48" ) then set DT = 1800 set SOLAR_DT = `expr $DT \* 2` set IRRAD_DT = `expr $DT \* 2` - set SATSIM_DT = `expr $DT \* 2` set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GMICHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 48 set AGCM_JM = `expr $AGCM_IM \* 6` set NX = 6 @@ -986,7 +973,6 @@ if( $AGCM_IM == "c90" ) then set DT = 900 set SOLAR_DT = `expr $DT \* 2` set IRRAD_DT = `expr $DT \* 2` - set SATSIM_DT = `expr $DT \* 2` set AGCM_IM = 90 set AGCM_JM = `expr $AGCM_IM \* 6` if( $OGCM == TRUE ) then @@ -998,9 +984,8 @@ if( $AGCM_IM == "c90" ) then set NY = `expr $NX \* 6` set OCEAN_DT = $IRRAD_DT endif - set CHEM_DT = $DT + set LONG_DT = $DT set GMICHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` set HIST_JM = `expr $AGCM_IM \* 2 + 1` @@ -1014,10 +999,8 @@ if( $AGCM_IM == "c180" ) then set DT = 600 set SOLAR_DT = `expr $DT \* 2` set IRRAD_DT = `expr $DT \* 2` - set SATSIM_DT = `expr $DT \* 2` - set CHEM_DT = $DT + set LONG_DT = $DT set GMICHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 180 set AGCM_JM = `expr $AGCM_IM \* 6` if( $OGCM == TRUE ) then @@ -1043,14 +1026,12 @@ if( $AGCM_IM == "c360" ) then set DT = 450 set SOLAR_DT = `expr $DT \* 2` set IRRAD_DT = `expr $DT \* 2` - set SATSIM_DT = `expr $DT \* 2` set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GMICHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 360 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 14 + set NX = 12 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1067,14 +1048,12 @@ if( $AGCM_IM == "c720" ) then set DT = 225 set SOLAR_DT = `expr $DT \* 2` set IRRAD_DT = `expr $DT \* 2` - set SATSIM_DT = `expr $DT \* 2` set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = 450 set GMICHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 720 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 20 + set NX = 24 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1092,14 +1071,12 @@ if( $AGCM_IM == "c1440" ) then set DT = 150 set SOLAR_DT = `expr $DT \* 2` set IRRAD_DT = `expr $DT \* 2` - set SATSIM_DT = `expr $DT \* 2` set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GMICHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 1440 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 30 + set NX = 48 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1115,16 +1092,14 @@ if( $AGCM_IM == "c1440" ) then endif if( $AGCM_IM == "c2880" ) then set DT = 75 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 + set SOLAR_DT = 1800 + set IRRAD_DT = 1800 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GMICHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 2880 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 30 + set NX = 96 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1140,17 +1115,15 @@ if( $AGCM_IM == "c2880" ) then set DEF_IOS_NDS = 4 endif if( $AGCM_IM == "c5760" ) then - set DT = 150 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 + set DT = 30 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GMICHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 5760 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 60 + set NX = 192 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1166,18 +1139,17 @@ if( $AGCM_IM == "c5760" ) then set DEF_IOS_NDS = 4 endif # CONUS Stretched Grids +set CONUS = '#' if( $AGCM_IM == "c270" ) then - set DT = 225 + set DT = 600 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GMICHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 270 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 9 + set NX = 18 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1190,19 +1162,19 @@ if( $AGCM_IM == "c270" ) then set CNV_NX = 8 set POST_NDS = 32 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif if( $AGCM_IM == "c540" ) then - set DT = 150 + set DT = 300 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GMICHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 540 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 18 + set NX = 36 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1215,43 +1187,18 @@ if( $AGCM_IM == "c540" ) then set CNV_NX = 8 set POST_NDS = 32 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif if( $AGCM_IM == "c1080" ) then - set DT = 75 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 + set DT = 150 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set GMICHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 1080 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 36 - set NY = `expr $NX \* 6 \* 2` - set HYDROSTATIC = $USE_HYDROSTATIC - set HIST_IM = `expr $AGCM_IM \* 4` - set HIST_JM = `expr $AGCM_IM \* 2 + 1` - set GRID_FILE = "Gnomonic_c${AGCM_IM}.dat" - set NUM_READERS = 6 - set JOB_SGMT = 00000001 - set NUM_SGMT = 1 - set ATMOS_RES = CF1080x6C - set CNV_NX = 8 - set POST_NDS = 32 - set USE_SHMEM = 1 -endif -if( $AGCM_IM == "c2160" ) then - set DT = 60 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 - set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT - set GMICHEM_DT = `expr $DT \* 2` -# set GOCART_DT = `expr $DT \* 2` - set AGCM_IM = 2160 - set AGCM_JM = `expr $AGCM_IM \* 6` set NX = 72 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC @@ -1261,49 +1208,23 @@ if( $AGCM_IM == "c2160" ) then set NUM_READERS = 6 set JOB_SGMT = 00000001 set NUM_SGMT = 1 - set ATMOS_RES = CF2160x6C + set ATMOS_RES = CF1080x6C set CNV_NX = 8 set POST_NDS = 32 set USE_SHMEM = 1 -endif -# DYAMOND Resolutions -if( $AGCM_IM == "c768" ) then - set DT = 180 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 - set OCEAN_DT = $IRRAD_DT - set CHEM_DT = 900 - set GMICHEM_DT = $CHEM_DT -# set GOCART_DT = $CHEM_DT - set AGCM_IM = 768 - set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 32 - set NY = `expr $NX \* 6` - set HYDROSTATIC = $USE_HYDROSTATIC - set HIST_IM = `expr $AGCM_IM \* 4` - set HIST_JM = `expr $AGCM_IM \* 2 + 1` - set GRID_FILE = "Gnomonic_c${AGCM_IM}.dat" - set NUM_READERS = 6 - set JOB_SGMT = 00000005 - set NUM_SGMT = 1 - set ATMOS_RES = CF0768x6C - set CNV_NX = 8 - set POST_NDS = 16 - set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif if( $AGCM_IM == "c1536" ) then - set DT = 90 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 + set DT = 75 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = 900 - set GMICHEM_DT = $CHEM_DT -# set GOCART_DT = $CHEM_DT + set LONG_DT = 900 + set GMICHEM_DT = `expr $DT \* 2` set AGCM_IM = 1536 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 64 + set NX = 96 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1316,31 +1237,33 @@ if( $AGCM_IM == "c1536" ) then set CNV_NX = 8 set POST_NDS = 16 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 3.0 endif -if( $AGCM_IM == "c3072" ) then - set DT = 45 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 +if( $AGCM_IM == "c2160" ) then + set DT = 60 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = 900 - set GMICHEM_DT = $CHEM_DT -# set GOCART_DT = $CHEM_DT - set AGCM_IM = 3072 + set LONG_DT = 300 + set GMICHEM_DT = `expr $DT \* 2` + set AGCM_IM = 2160 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 64 - set NY = `expr $NX \* 6` + set NX = 192 + set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` set HIST_JM = `expr $AGCM_IM \* 2 + 1` set GRID_FILE = "Gnomonic_c${AGCM_IM}.dat" set NUM_READERS = 6 - set JOB_SGMT = 00000005 + set JOB_SGMT = 00000001 set NUM_SGMT = 1 - set ATMOS_RES = CF3072x6C + set ATMOS_RES = CF2160x6C set CNV_NX = 8 - set POST_NDS = 16 + set POST_NDS = 32 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif set IS_FCST = 0 @@ -1390,7 +1313,7 @@ set GFDL_HYDRO = ".TRUE." set GFDL_PROG_CCN = "prog_ccn = .true." set GFDL_USE_CCN = "use_ccn = .true." -# BACM_1M and GFDL do not use WSUB_NATURE, so this eliminates a regrid +# BACM_1M and GFDL do not use WSUB_CLIM, so this eliminates a regrid if ( "$CLDMICRO" == "BACM_1M" | "$CLDMICRO" == "GFDL_1M" ) then set MP_NO_USE_WSUB = "" else @@ -1418,6 +1341,17 @@ else endif endif +if ($CONUS == '#') then + set SCHMIDT = "do_schmidt = .false." + set STRETCH_FAC = "stretch_fac = 1.0" + set TARGET_LON = "target_lon = 0.0" + set TARGET_LAT = "target_lat = 0.0" +else + set SCHMIDT = "do_schmidt = .true." + set STRETCH_FAC = "stretch_fac = $STRETCH_FACTOR" + set TARGET_LON = "target_lon = -98.35" + set TARGET_LAT = "target_lat = 39.5" +endif ####################################################################### # Check for land surface and runoff routing models # @@ -1499,9 +1433,8 @@ echo "Specify the AERO_PROVIDER by number:" echo "------------------------------------" echo " ${C2}0${CN} none" echo " ${C2}1${CN} GOCART2G (Default)" -echo " ${C2}2${CN} GOCART.data" -echo " ${C2}3${CN} GMICHEM" -echo " ${C2}4${CN} CARMA" +echo " ${C2}2${CN} GMICHEM" +echo " ${C2}3${CN} CARMA" echo "------------------------------------" set APNum = '' @@ -1527,89 +1460,63 @@ set PCHEM_CLIM_YEARS = "" if($APNum == 0) then set AERO_PROVIDER = none - set GOKART2G = FALSE - set GOKART = FALSE - set GOKARTDATA = FALSE + set LGOCART2G = FALSE set GOCART = "#" set HIST_GOCART = "#DELETE" - set USE_AEROSOL_NN = "USE_AEROSOL_NN" + set USE_AEROSOL_NN = "USE_AEROSOL_NN: .FALSE." endif if($APNum == 1) then set AERO_PROVIDER = GOCART2G - set GOKART2G = TRUE - set GOKART = FALSE - set GOKARTDATA = FALSE - set GOCART = "" - set HIST_GOCART = "" - set USE_AEROSOL_NN = "#USE_AEROSOL_NN" -endif - -if($APNum == 2) then - set AERO_PROVIDER = GOCART.data - - set GOKART2G = FALSE - set GOKART = FALSE - set GOKARTDATA = TRUE - set GOCART = "#" - set HIST_GOCART = "#DELETE" - set USE_AEROSOL_NN = "USE_AEROSOL_NN" + set LGOCART2G = TRUE + set USE_AEROSOL_NN = "USE_AEROSOL_NN: .TRUE." - # GOCART.data uses MERRA2OX currently - set MERRA2OX_SPECIES = "" - set PCHEM_CLIM_YEARS = 39 -endif +GOCART: + echo "Do you wish to run ${C1}GOCART${CN} with ${C2}Actual${CN} or ${C2}Climatological${CN} Aerosols? (Enter: ${C2}A${CN} (Default) or ${C2}C${CN})" + set DATA_DRIVEN = $< + if( .$DATA_DRIVEN == . ) set DATA_DRIVEN = A + set DATA_DRIVEN = `echo $DATA_DRIVEN | tr "[:lower:]" "[:upper:]"` + if( $DATA_DRIVEN != 'A' & $DATA_DRIVEN != 'C' ) then + echo + echo "${C1}GOCART${CN} must be set equal to ${C2}A${CN} or ${C2}C${CN}!" + goto GOCART + else + echo + endif -if($APNum == 3) then - set AERO_PROVIDER = GMICHEM + if( $DATA_DRIVEN == "A" ) set DATA_DRIVEN = FALSE # Use Actual Aerosols + if( $DATA_DRIVEN == "C" ) set DATA_DRIVEN = TRUE # Use Climatological Aerosols - set GOKART2G = FALSE - set GOKART = FALSE - set GOKARTDATA = FALSE - set GOCART = "#" - set HIST_GOCART = "#DELETE" - set USE_AEROSOL_NN = "USE_AEROSOL_NN" -endif + if( $DATA_DRIVEN == FALSE ) then -if($APNum == 4) then - set AERO_PROVIDER = CARMA + set GOCART = "" + set HIST_GOCART = "" - set GOKART2G = FALSE - set GOKART = FALSE - set GOKARTDATA = FALSE - set GOCART = "#" - set HIST_GOCART = "#DELETE" - set USE_AEROSOL_NN = "#USE_AEROSOL_NN" -endif + else + set GOCART = "#" + set HIST_GOCART = "#DELETE" -if( $GOKART2G == TRUE ) then + endif # Emission Files # -------------- EMISSIONS: set EMISSIONS = '' - echo - echo "-------------------------------------------------" - echo "Enter the GOCART ${C1}Emission Files${CN} to use: " - echo "-------------------------------------------------" - echo " ${C2}AMIP${CN} (Default)" - echo " ${C2}OPS${CN}" - echo "-------------------------------------------------" + echo "Enter the GOCART ${C1}Emission Files${CN} to use: ${C2}AMIP${CN} (Default) or ${C2}OPS${CN}:" set EMISSIONS = $< if( .$EMISSIONS == . ) then - set EMISSIONS = AMIP + set EMISSIONS = AMIP else - set EMISSIONS = `echo $EMISSIONS | tr "[:lower:]" "[:upper:]"` - if( $EMISSIONS != AMIP & \ - $EMISSIONS != OPS ) then - echo - echo " Sorry. Invalid choice. Try again." - goto EMISSIONS - else - echo - endif + set EMISSIONS = `echo $EMISSIONS | tr "[:lower:]" "[:upper:]"` + if( $EMISSIONS != OPS & $EMISSIONS != AMIP) then + echo + echo "${C1}Emission Files${CN} must be equal to: ${C2}AMIP${CN} or ${C2}OPS${CN}!" + goto EMISSIONS + else + echo + endif endif set EMISSIONS = ${EMISSIONS}_EMISSIONS @@ -1623,8 +1530,28 @@ EMISSIONS: set MERRA2OX_SPECIES = '' set PCHEM_CLIM_YEARS = 39 endif + +endif + +if($APNum == 2) then + set AERO_PROVIDER = GMICHEM + + set LGOCART2G = FALSE + set GOCART = "#" + set HIST_GOCART = "#DELETE" + set USE_AEROSOL_NN = "USE_AEROSOL_NN: .FALSE." endif +if($APNum == 3) then + set AERO_PROVIDER = CARMA + + set LGOCART2G = FALSE + set GOCART = "#" + set HIST_GOCART = "#DELETE" + set USE_AEROSOL_NN = "USE_AEROSOL_NN: .TRUE." +endif + + # Should we run HEMCO for MEGAN emissions? # ---------------------------------------- MEGANviaHEMCO: @@ -1650,6 +1577,37 @@ endif # ------------- set RATS_PROVIDER = GMICHEM + +####################################################################### +# Confirm HEARTBEAT time for the model +####################################################################### + +# Per W. Putman recommendation, set heartbeat to 450s anytime BACM_1M is selected +if( "$CLDMICRO" == "BACM_1M" ) then + set DT = 450 + set LONG_DT = 450 +endif + +ASKHB: +echo "Enter ${C1}HEARTBEAT_DT${CN} to use" +echo " ${C2}1. Hit ENTER to use the recommended default of ${DT} ${CN}" +echo " ${C2}2. Type an integer (in seconds) to overide the default value ${CN}" + +set HEARTBEAT = $< +if( .$HEARTBEAT == . ) then + set HEARTBEAT = $DT +else + set HEARTBEAT = `echo $HEARTBEAT | awk '{print ($0+0)}'` + if ( ! $HEARTBEAT > 0 ) then + echo + echo "${C1}HEARTBEAT${CN} must be a valid integer using one of the options below!" + goto ASKHB + endif +endif + +set DT = $HEARTBEAT + + ####################################################################### # Create Desired HISTORY template ####################################################################### @@ -1796,10 +1754,10 @@ if( $SITE == 'NAS' ) then setenv CONVERT_P "PBS -l select=${CNV_NX}:ncpus=${NCPUS_PER_NODE}:mpiprocs=${NCPUS_PER_NODE}:model=${MODEL}" # PE Configuration for gcm_convert.j setenv MOVE_P "PBS -l select=1:ncpus=1" # PE Configuration for gcm_moveplot.j - setenv BCSDIR /nobackup/gmao_SIteam/ModelData/bcs/${LSM_BCS}/${LSM_BCS}_${OCEAN_TAG} # location of Boundary Conditions - setenv REPLAY_ANA_EXPID ONLY_MERRA2_SUPPORTED # Default Analysis Experiment for REPLAY - setenv REPLAY_ANA_LOCATION ONLY_MERRA2_SUPPORTED # Default Analysis Location for REPLAY - setenv M2_REPLAY_ANA_LOCATION /nobackup/gmao_SIteam/ModelData/merra2/data # Default Analysis Location for M2 REPLAY + setenv BCSDIR /nobackup/gmao_SIteam/ModelData/bcs/${LSM_BCS}/${LSM_BCS}_${OCEAN_TAG} # location of Boundary Conditions + setenv REPLAY_ANA_EXPID ONLY_MERRA2_SUPPORTED # Default Analysis Experiment for REPLAY + setenv REPLAY_ANA_LOCATION ONLY_MERRA2_SUPPORTED # Default Analysis Location for REPLAY + setenv M2_REPLAY_ANA_LOCATION /nobackup/gmao_SIteam/ModelData/merra2/data # Default Analysis Location for M2 REPLAY if( ${OGCM_IM}x${OGCM_JM} == "1440x720" ) then setenv SSTDIR /nobackup/gmao_SIteam/ModelData/fvInput/g5gcm/bcs/SST/${OGCM_IM}x${OGCM_JM} # location of SST Boundary Conditions @@ -2444,9 +2402,6 @@ s?@PCHEM_CLIM_YEARS?$PCHEM_CLIM_YEARS?g s?@RATS_PROVIDER?$RATS_PROVIDER?g s?@AERO_PROVIDER?$AERO_PROVIDER?g -#.sds.. need to uncomment out if AERO_PROVIDER=[none, GMIDATA] -s?^#USE_AEROSOL_NN?$USE_AEROSOL_NN?g - s?@OANA_PROVIDER?GMICHEM?g s?@EMISSIONS?$EMISSIONS?g @@ -2454,12 +2409,6 @@ s^@DYCORE^$DYCORE^g s^@AGCM_GRIDNAME^$AGCM_GRIDNAME^g s^@OGCM_GRIDNAME^$OGCM_GRIDNAME^g -s^SOLAR_DT: 3600^SOLAR_DT: $SOLAR_DT^ -s^IRRAD_DT: 3600^IRRAD_DT: $IRRAD_DT^ -s^SATSIM_DT: 1800^SATSIM_DT: $SATSIM_DT^ - -s/@GOCART_DT/$DT/g - s?@IS_FCST?$IS_FCST?g s^@BOOT^YES^g s^@BCSRES^$BCSRES^g @@ -2472,7 +2421,7 @@ s/@DT/$DT/g s/@SOLAR_DT/$SOLAR_DT/g s/@IRRAD_DT/$IRRAD_DT/g s/@OCEAN_DT/$OCEAN_DT/g -s/@CHEM_DT/$CHEM_DT/g +s/@LONG_DT/$LONG_DT/g s/@NX/$NX/g s/@NY/$NY/g s/@USE_SHMEM/$USE_SHMEM/g @@ -2502,6 +2451,9 @@ s/@END_DATE/${END_DATE}/g s/@JOB_SGMT/${JOB_SGMT}/g s/@NUM_SGMT/${NUM_SGMT}/g +s/@CONUS/${CONUS}/g +s/@STRETCH_FAC/${STRETCH_FAC}/g + s/@INTERPOLATE_SST/$INTERPOLATE_SST/g s/@HIST_IM/$HIST_IM/g s/@HIST_JM/$HIST_JM/g @@ -2524,23 +2476,24 @@ s?@BACM_1M_?$BACM_1M_?g s?@GFDL_1M_?$GFDL_1M_?g s?@MGB2_2M_?$MGB2_2M_?g -s?@GFDL_HYDRO?$GFDL_HYDRO?g - -s?@FV_MAKENH?$FV_MAKENH?g -s?@FV_HYDRO?$FV_HYDRO?g - -s?@GFDL_PROG_CCN?$GFDL_PROG_CCN?g -s?@GFDL_USE_CCN?$GFDL_USE_CCN?g - EOF -# Added FV3 Specific Parameters -# ----------------------------- +# Added FV3/GFDL-MP Specific Parameters +# ------------------------------------- cat >> $HOMDIR/sedfile << EOF s^@HYDROSTATIC^$HYDROSTATIC^g s/@GRID_FILE/$GRID_FILE/g +s?@FV_SCHMIDT?$SCHMIDT?g +s?@FV_STRETCH_FAC?$STRETCH_FAC?g +s?@FV_TARGET_LON?$TARGET_LON?g +s?@FV_TARGET_LAT?$TARGET_LAT?g +s?@FV_MAKENH?$FV_MAKENH?g +s?@FV_HYDRO?$FV_HYDRO?g +s?@GFDL_PROG_CCN?$GFDL_PROG_CCN?g +s?@GFDL_USE_CCN?$GFDL_USE_CCN?g +s?@GFDL_HYDRO?$GFDL_HYDRO?g EOF @@ -2644,24 +2597,25 @@ set LCARMA = FALSE set LMATRIX = FALSE set LMAM = FALSE set LDNA = FALSE +set LGOCART = FALSE +set LGOCART_DATA = FALSE -set LGOCART_DATA = $GOKARTDATA -set LGOCART = $GOKART -set LGOCART2G = $GOKART2G -set LDU = $GOKART2G -set LSS = $GOKART2G -set LCA_OC = $GOKART2G -set LCA_BC = $GOKART2G -set LCA_BR = $GOKART2G -set LNI = $GOKART2G -set LSU = $GOKART2G -set LACHEM = $GOKART2G +# already set LGOCART2G + +set LDU = $LGOCART2G +set LSS = $LGOCART2G +set LCA_OC = $LGOCART2G +set LCA_BC = $LGOCART2G +set LCA_BR = $LGOCART2G +set LNI = $LGOCART2G +set LSU = $LGOCART2G +set LACHEM = $LGOCART2G # Use HEMCO for GOCART2G, GMI, or both set LHEMCO = FALSE @ HEMCOinst = 0 -if ( $GOKART2G == TRUE ) then +if ( $LGOCART2G == TRUE ) then set LHEMCO = TRUE @ HEMCOinst = $HEMCOinst + 1 endif @@ -2803,26 +2757,23 @@ set file = $HOMDIR/AGCM.rc /bin/mv $file $HOMDIR/dummy #.sds... special case for AERO_PROVIDER=GMICHEM or CARMA(temporary?) set these- -set DOIT = FALSE -if ( $AERO_PROVIDER == 'CARMA' ) then - set DOIT = TRUE -endif -if ( $AERO_PROVIDER == 'GMICHEM' ) then - set DOIT = TRUE -endif -if ( $DOIT == 'TRUE' ) then - echo 'DU_OPTICS: ExtData/g5chem/x/opticsBands_DU.v15_5.RRTMG.nc' >> $HOMDIR/dummy - echo 'SS_OPTICS: ExtData/g5chem/x/opticsBands_SS.v3_5.RRTMG.nc' >> $HOMDIR/dummy - echo 'SU_OPTICS: ExtData/g5chem/x/opticsBands_SU.v2_5.RRTMG.nc' >> $HOMDIR/dummy - echo 'OC_OPTICS: ExtData/g5chem/x/opticsBands_OC.v1_5.RRTMG.nc' >> $HOMDIR/dummy - echo 'BC_OPTICS: ExtData/g5chem/x/opticsBands_BC.v1_5.RRTMG.nc' >> $HOMDIR/dummy +if ( $AERO_PROVIDER == 'GMICHEM' || $AERO_PROVIDER == 'CARMA' ) then + echo 'DU_OPTICS: ExtData/g5chem/x/opticsBands_DU.v15_5.RRTMG.nc' >> $HOMDIR/dummy + echo 'SS_OPTICS: ExtData/g5chem/x/opticsBands_SS.v3_5.RRTMG.nc' >> $HOMDIR/dummy + echo 'SU_OPTICS: ExtData/g5chem/x/opticsBands_SU.v2_5.RRTMG.nc' >> $HOMDIR/dummy + echo 'OC_OPTICS: ExtData/g5chem/x/opticsBands_OC.v1_5.RRTMG.nc' >> $HOMDIR/dummy + echo 'BC_OPTICS: ExtData/g5chem/x/opticsBands_BC.v1_5.RRTMG.nc' >> $HOMDIR/dummy echo 'BRC_OPTICS: ExtData/g5chem/x/opticsBands_BRC.v2_5.RRTMG.nc' >> $HOMDIR/dummy - echo 'NI_OPTICS: ExtData/g5chem/x/opticsBands_NI.v2_5.RRTMG.nc' >> $HOMDIR/dummy + echo 'NI_OPTICS: ExtData/g5chem/x/opticsBands_NI.v2_5.RRTMG.nc' >> $HOMDIR/dummy endif #.sds... end cat $HOMDIR/dummy | sed -e "/SATSIM_DT/a GMICHEM_DT: $GMICHEM_DT" > $file +# Add AERO-related flag +/bin/mv $file $HOMDIR/dummy +cat $HOMDIR/dummy | sed -e "/GMICHEM_DT/a $USE_AEROSOL_NN" > $file + ## Change from GF to RAS for now: #/bin/mv $file $HOMDIR/dummy #cat $HOMDIR/dummy | sed -e "s/CONVPAR_OPTION: GF/CONVPAR_OPTION: RAS/" > $file @@ -2883,18 +2834,6 @@ else awk '{ if ($1~"Z0_FORMULATION:") { sub(/4/,"2") }; print }' > $EXPDIR/RC/GEOS_SurfaceGridComp.rc endif -# Turn on GOCART.data -# ------------------- -if( $LGOCART_DATA == TRUE ) then - /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp - cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ - awk '{ if ($1~"ENABLE_GOCART_DATA:") { sub(/FALSE/,"TRUE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc -else - /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp - cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ - awk '{ if ($1~"ENABLE_GOCART_DATA:") { sub(/TRUE/,"FALSE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc -endif - # Turn on GOCART # -------------- if( $LGOCART == TRUE ) then @@ -2926,9 +2865,27 @@ cat $CHEMREG_OPS.tmp | awk '{ if ( $1 ~ "doing_" ) { sub(/yes/, "no" ) }; print cat $CHEMREG_AMIP.tmp | awk '{ if ( $1 ~ "doing_" ) { sub(/yes/, "no" ) }; print }' > $CHEMREG_AMIP /bin/rm $CHEMREG_AMIP.tmp +# Turn off GOCART_DATA +# -------------------- +/bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp +cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ +awk '{ if ($1~"ENABLE_GOCART_DATA:") { sub(/TRUE/,"FALSE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc + # Turn on GOCART2G # ---------------- if( $LGOCART2G == TRUE ) then + if ($DATA_DRIVEN == TRUE ) then + /bin/mv $EXPDIR/RC/GOCART2G_GridComp.rc $EXPDIR/RC/GOCART2G_GridComp.tmp + cat $EXPDIR/RC/GOCART2G_GridComp.tmp | \ + sed -e '/ACTIVE_INSTANCES_DU:/ s/DU /DU.data /' \ + -e '/ACTIVE_INSTANCES_SS:/ s/SS /SS.data /' \ + -e '/ACTIVE_INSTANCES_SU:/ s/SU /SU.data /' \ + -e '/ACTIVE_INSTANCES_NI:/ s/NI /NI.data /' \ + -e '/ACTIVE_INSTANCES_CA:/ s/CA.oc /CA.oc.data /' \ + -e '/ACTIVE_INSTANCES_CA:/ s/CA.bc /CA.bc.data /' \ + -e '/ACTIVE_INSTANCES_CA:/ s/CA.br /CA.br.data /' > $EXPDIR/RC/GOCART2G_GridComp.rc + endif + /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ awk '{ if ($1~"ENABLE_GOCART2G:") { sub(/FALSE/,"TRUE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc @@ -2944,14 +2901,6 @@ if( $LACHEM == TRUE ) then /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ awk '{ if ($1~"ENABLE_ACHEM:") { sub(/FALSE/,"TRUE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc - - /bin/mv $CHEMREG_OPS $CHEMREG_OPS.tmp - cat $CHEMREG_OPS.tmp | awk '{ if ( $1 ~ "doing_OCS:" ) { sub(/no/, "yes" ) }; print }' > $CHEMREG_OPS - /bin/rm $CHEMREG_OPS.tmp - - /bin/mv $CHEMREG_AMIP $CHEMREG_AMIP.tmp - cat $CHEMREG_AMIP.tmp | awk '{ if ( $1 ~ "doing_OCS:" ) { sub(/no/, "yes" ) }; print }' > $CHEMREG_AMIP - /bin/rm $CHEMREG_AMIP.tmp else /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ @@ -2970,7 +2919,7 @@ if( $LHEMCO == TRUE ) then awk '{ if ($1~"HEMCO_Instances:") { print "HEMCO_Instances: " xx; next; }; print }' xx="$HEMCOinst" \ > $EXPDIR/RC/HEMCO_GridComp.rc - if ( $GOKART2G == FALSE ) then + if ( $LGOCART2G == FALSE ) then # Set GOCART to be instance 999, and GMI to be instance 1 # (by default the G2G instance is 1, and GMI instance is 2) sed -e 's/001/999/' $EXPDIR/RC/HEMCO_GridComp.rc > $EXPDIR/RC/HEMCO_GridComp.tmp @@ -2991,20 +2940,6 @@ endif cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ awk '{ if ($1~"ENABLE_GMICHEM:") { sub(/FALSE/,"TRUE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc -# # Turn on GOCART.data if it is the AERO_PROVIDER -# # ---------------------------------------------- -# if( $AERO_PROVIDER == GOCART.data ) then -# /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp -# cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ -# awk '{ if ($1~"ENABLE_GOCART_DATA:") { sub(/FALSE/,"TRUE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc -# endif -# -# if( $AERO_PROVIDER == GMICHEM ) then -# /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp -# cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ -# awk '{ if ($1~"ENABLE_GOCART_DATA:") { sub(/TRUE/,"FALSE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc -# endif - # Remove FVWORK/EXPID syntax from GAAS_GridComp.rc for use in REPLAY # ------------------------------------------------------------------ /bin/mv $EXPDIR/RC/GAAS_GridComp.rc $EXPDIR/RC/GAAS_GridComp.tmp diff --git a/logging.yaml b/logging.yaml index a5c4feda..bcafbe3f 100644 --- a/logging.yaml +++ b/logging.yaml @@ -1,5 +1,29 @@ schema_version: 1 +# Example on how to use the logging.yaml file based on +# +# https://github.com/GEOS-ESM/MAPL/wiki/How-to-use-the-MAPL-logging-library,-aka-%22pFlogger%22 +# +# Let us say you want to get all the debugging loggers +# from ExtData in MAPL. To do this you first want to +# set the 'console' handler below to DEBUG level: +# +# handlers: +# console: +# class: streamhandler +# formatter: basic +# unit: OUTPUT_UNIT +# level: DEBUG +# +# Now we need to add a logger for ExtData. We do this +# by adding the following to the loggers section: +# +# loggers: +# CAP.EXTDATA: +# handlers: [console] +# level: WARNING +# root_level: DEBUG + ############################### locks: mpi: @@ -80,23 +104,23 @@ root: loggers: errors: - handlers: [errors] - level: ERROR + handlers: [errors] + level: ERROR CAP: - level: WARNING - root_level: INFO + level: WARNING + root_level: INFO MAPL: - handlers: [mpi_shared] - level: WARNING - root_level: INFO + handlers: [mpi_shared] + level: WARNING + root_level: INFO MAPL.profiler: - handlers: [console_plain] - propagate: FALSE - level: WARNING - root_level: INFO + handlers: [console_plain] + propagate: FALSE + level: WARNING + root_level: INFO # Note: When enabling another logger, make sure # indentation matches that of the above @@ -108,6 +132,8 @@ loggers: # SHARED.GMAOSHARED.GEOSSHARED.QSAT: + # CAP.EXTDATA: + # CAP.HISTORY: # CAP.GCM.DATATM: # CAP.GCM.AGCM: # CAP.GCM.AGCM.SCMDYNAMICS: @@ -124,21 +150,20 @@ loggers: # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.HEMCO: # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.PCHEM: # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.ACHEM: - # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART: - # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART.BC: - # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART.BRC: + # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART2G: + # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART2G.CA.bc: + # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART2G.CA.br: + # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART2G.CA.oc: + # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART2G.DU: + # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART2G.NI: + # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART2G.SS: + # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART2G.SU: # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART.CFC: # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART.CH4: # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART.CO2: # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART.CO: - # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART.DU: - # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART.NI: # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART.O3: - # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART.OC: # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART.Rn: - # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART.SS: - # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART.SU: - # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GOCART.data: # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.GAAS: # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.H2O: # CAP.GCM.AGCM.PHYSICS.CHEMISTRY.STRATCHEM: diff --git a/scm_run.j b/scm_run.j index 0c380aeb..ea685aa7 100755 --- a/scm_run.j +++ b/scm_run.j @@ -26,6 +26,6 @@ setenv EXPDIR @EXPDIR cd $EXPDIR -@EXTDATA2G $GEOSBIN/construct_extdata_yaml_list.py GEOS_ChemGridComp.rc +$GEOSBIN/construct_extdata_yaml_list.py GEOS_ChemGridComp.rc $RUN_CMD 1 ./GEOSgcm.x diff --git a/scm_setup b/scm_setup index 73474441..119fd75e 100755 --- a/scm_setup +++ b/scm_setup @@ -91,8 +91,6 @@ usage () echo " Optional argument: " echo " --num_levels: number of levels (72, 71, 91, 132, 137, and 181 allowed)." echo - echo " --extdata2g: run with extdata2g" - echo echo } @@ -103,7 +101,6 @@ selected_case=NULL expdir=NULL account=NULL nlev=72 -use_extdata2g=FALSE while [ "${1+defined}" ] do @@ -128,10 +125,6 @@ do nlev=$1 shift ;; - "--extdata2g") - shift - use_extdata2g=TRUE - ;; "--help" | "-h") usage exit 0 @@ -430,28 +423,11 @@ mkdir -p $expdir/ExtData year=$(cat $expdir/cap_restart | cut -c1-4) -if [[ $use_extdata2g == TRUE ]] -then - /bin/cp $INSTALLDIR/etc/*.yaml $expdir - /bin/cp $INSTALLDIR/etc/AMIP/*.yaml $expdir - /bin/mv $expdir/WSUB_ExtData.yaml $expdir/WSUB_ExtData.tmp - cat $expdir/WSUB_ExtData.tmp | sed -e '/collection:/ s#WSUB_Wvar_positive_05hrdeg.*#/dev/null#' > $expdir/WSUB_ExtData.yaml - /bin/rm $expdir/WSUB_ExtData.tmp -else - if [[ "$year" -lt "2000" ]] - then - echo "Before 2000, using AMIP.20C" - /bin/cp $INSTALLDIR/etc/AMIP.20C/*.rc $expdir - else - echo "After 2000, using AMIP" - /bin/cp $INSTALLDIR/etc/AMIP/*.rc $expdir - fi - - # Turn off wsub as we are 1moment - /bin/mv $expdir/WSUB_ExtData.rc $expdir/WSUB_ExtData.tmp - cat $expdir/WSUB_ExtData.tmp | sed -e '/^WSUB_NATURE/ s#ExtData.*#/dev/null#' > $expdir/WSUB_ExtData.rc - /bin/rm $expdir/WSUB_ExtData.tmp -fi +/bin/cp $INSTALLDIR/etc/*.yaml $expdir +/bin/cp $INSTALLDIR/etc/AMIP/*.yaml $expdir +/bin/mv $expdir/WSUB_ExtData.yaml $expdir/WSUB_ExtData.tmp +cat $expdir/WSUB_ExtData.tmp | sed '/collection:/ s#WSUB_SWclim.*#/dev/null#' > $expdir/WSUB_ExtData.yaml +/bin/rm $expdir/WSUB_ExtData.tmp /bin/cp $SCMDIR/general/* $expdir @@ -477,8 +453,8 @@ then temp=$digits$nlev padlev=${temp:(-${#digits})} - $ISED "s/L72/L${nlev}/g" $expdir/*.rc - $ISED "s/L72/L${nlev}/g" $expdir/*.yaml + $ISED -e "s/L72/L${nlev}/g" -e "s/z72/z${nlev}/g" $expdir/*.rc + $ISED -e "s/L72/L${nlev}/g" -e "s/z72/z${nlev}/g" $expdir/*.yaml $ISED "/AGCM_LM:/c\AGCM_LM: ${nlev}" $expdir/AGCM.rc $ISED "/AGCM.LM:/c\AGCM.LM: ${nlev}" $expdir/AGCM.rc @@ -494,21 +470,6 @@ fi /bin/ln -s $CHMDIR/g5gcm $expdir/ExtData /bin/ln -s $CHMDIR/chemistry $expdir/ExtData -if [[ $use_extdata2g == TRUE ]] -then - echo "USE_EXTDATA2G: .true." >> $expdir/CAP.rc - EXTDATA2G="" -else - if [[ -e $expdir/ExtData.rc ]] - then - /bin/rm -f $expdir/ExtData.rc - fi - - extdata_files=`/bin/ls -1 $expdir/*_ExtData.rc` - cat $extdata_files > $expdir/ExtData.rc - EXTDATA2G="# ONLY FOR ExtData2G" -fi - # Handle scm_run.j /bin/cp $INSTALLDIR/bin/scm_run.j $expdir @@ -534,7 +495,6 @@ s?@BATCH_TASKS?$BATCH_TASKS?g s?@BATCH_TIME?$BATCH_TIME?g s?@BATCH_GROUP?$BATCH_GROUP?g s?@BATCH_JOBNAME?$BATCH_JOBNAME?g -s?@EXTDATA2G?$EXTDATA2G?g EOF $ISED -f $expdir/sedfile $expdir/scm_run.j diff --git a/stratchem_setup b/stratchem_setup index 000ceaf8..c1450985 100755 --- a/stratchem_setup +++ b/stratchem_setup @@ -198,14 +198,11 @@ echo " ${C2}c1440 - 1/16 deg (${C1} 6.25 km${C2}) ${CN}" echo " ${C2}c2880 - 1/32 deg (${C1} 3.125 km${C2}) ${CN}" echo " ${C2}c5760 - 1/64 deg (${C1} 1.5625 km${C2}) ${CN}" echo " ${C2} CONUS Stretched Grids " -echo " ${C2}c270 -- ${C1} 13.0 -100 km${C2}) ${CN} " -echo " ${C2}c540 -- ${C1} 7.0 - 50 km${C2}) ${CN} " -echo " ${C2}c1080 - ${C1} 3.5 - 25 km${C2}) ${CN} " -echo " ${C2}c2160 - ${C1} 1.25- 12 km${C2}) ${CN} " -echo " ${C2} DYAMOND Grids " -echo " ${C2}c768 -- 1/8 deg (${C1} 12.0 km${C2}) ${CN}" -echo " ${C2}c1536 - 1/16 deg (${C1} 6.0 km${C2}) ${CN}" -echo " ${C2}c3072 - 1/32 deg (${C1} 3.0 km${C2}) ${CN}" +echo " ${C2}c270 -- ${C1} 16.0 -100 km${C2}) ${CN} " +echo " ${C2}c540 -- ${C1} 8.0 - 50 km${C2}) ${CN} " +echo " ${C2}c1080 - ${C1} 4.0 - 25 km${C2}) ${CN} " +echo " ${C2}c1536 - ${C1} 2.0 - 20 km${C2}) ${CN} " +echo " ${C2}c2160 - ${C1} 2.0 - 12 km${C2}) ${CN} " echo " " set HRCODE = `echo $<` set HRCODE = `echo $HRCODE | tr "[:upper:]" "[:lower:]"` @@ -223,10 +220,8 @@ if( $HRCODE != 'c12' & \ $HRCODE != 'c270' & \ $HRCODE != 'c540' & \ $HRCODE != 'c1080' & \ - $HRCODE != 'c2160' & \ - $HRCODE != 'c768' & \ $HRCODE != 'c1536' & \ - $HRCODE != 'c3072' ) goto HRCODE + $HRCODE != 'c2160' ) goto HRCODE set Resolution = $HRCODE @@ -327,10 +322,8 @@ if( $HRCODE == 'c180' | \ $HRCODE == 'c270' | \ $HRCODE == 'c540' | \ $HRCODE == 'c1080' | \ - $HRCODE == 'c2160' | \ - $HRCODE == 'c768' | \ $HRCODE == 'c1536' | \ - $HRCODE == 'c3072' ) then + $HRCODE == 'c2160' ) then set DEFAULT_DO_IOS = TRUE echo "Do you wish to ${C1}IOSERVER${CN}? (Default: ${C2}YES${CN} or ${C2}TRUE${CN})" @@ -814,11 +807,9 @@ if( $AGCM_IM == "c12" ) then set DT = 1800 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set SC_SPLIT = 1 -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 12 set AGCM_JM = `expr $AGCM_IM \* 6` # C12 MOM6 should be 1x6 to match the default 3x2 ocean layout @@ -843,11 +834,9 @@ if( $AGCM_IM == "c24" ) then set DT = 1800 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set SC_SPLIT = 1 -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 24 set AGCM_JM = `expr $AGCM_IM \* 6` set NX = 4 @@ -867,11 +856,9 @@ if( $AGCM_IM == "c48" ) then set DT = 1800 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set SC_SPLIT = 1 -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 48 set AGCM_JM = `expr $AGCM_IM \* 6` set NX = 6 @@ -889,7 +876,6 @@ if( $AGCM_IM == "c90" ) then set DT = 450 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set AGCM_IM = 90 set AGCM_JM = `expr $AGCM_IM \* 6` if( $OGCM == TRUE ) then @@ -901,9 +887,8 @@ if( $AGCM_IM == "c90" ) then set NY = `expr $NX \* 6` set OCEAN_DT = $IRRAD_DT endif - set CHEM_DT = $DT + set LONG_DT = $DT set SC_SPLIT = 1 -# set GOCART_DT = `expr $DT \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` set HIST_JM = `expr $AGCM_IM \* 2 + 1` @@ -917,10 +902,8 @@ if( $AGCM_IM == "c180" ) then set DT = 600 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 - set CHEM_DT = $DT + set LONG_DT = $DT set SC_SPLIT = 1 -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 180 set AGCM_JM = `expr $AGCM_IM \* 6` if( $OGCM == TRUE ) then @@ -946,11 +929,9 @@ if( $AGCM_IM == "c360" ) then set DT = 450 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set SC_SPLIT = 1 -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 360 set AGCM_JM = `expr $AGCM_IM \* 6` set NX = 12 @@ -970,14 +951,12 @@ if( $AGCM_IM == "c720" ) then set DT = 225 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set SC_SPLIT = 1 -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 720 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 16 + set NX = 24 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -993,16 +972,14 @@ if( $AGCM_IM == "c720" ) then endif if( $AGCM_IM == "c1440" ) then set DT = 150 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 + set SOLAR_DT = 1800 + set IRRAD_DT = 1800 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set SC_SPLIT = 1 -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 1440 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 30 + set NX = 48 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1018,16 +995,14 @@ if( $AGCM_IM == "c1440" ) then endif if( $AGCM_IM == "c2880" ) then set DT = 75 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 + set SOLAR_DT = 1800 + set IRRAD_DT = 1800 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set SC_SPLIT = 1 -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 2880 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 30 + set NX = 96 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1043,17 +1018,15 @@ if( $AGCM_IM == "c2880" ) then set DEF_IOS_NDS = 4 endif if( $AGCM_IM == "c5760" ) then - set DT = 150 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 + set DT = 30 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set SC_SPLIT = 1 -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 5760 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 60 + set NX = 192 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1069,18 +1042,17 @@ if( $AGCM_IM == "c5760" ) then set DEF_IOS_NDS = 4 endif # CONUS Stretched Grids +set CONUS = '#' if( $AGCM_IM == "c270" ) then - set DT = 225 + set DT = 600 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set SC_SPLIT = 1 -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 270 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 9 + set NX = 18 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1093,19 +1065,19 @@ if( $AGCM_IM == "c270" ) then set CNV_NX = 8 set POST_NDS = 32 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif if( $AGCM_IM == "c540" ) then - set DT = 150 + set DT = 300 set SOLAR_DT = 3600 set IRRAD_DT = 3600 - set SATSIM_DT = 3600 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set SC_SPLIT = 1 -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 540 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 18 + set NX = 36 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1118,43 +1090,18 @@ if( $AGCM_IM == "c540" ) then set CNV_NX = 8 set POST_NDS = 32 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif if( $AGCM_IM == "c1080" ) then - set DT = 75 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 + set DT = 150 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT + set LONG_DT = $DT set SC_SPLIT = 1 -# set GOCART_DT = `expr $DT \* 2` set AGCM_IM = 1080 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 36 - set NY = `expr $NX \* 6 \* 2` - set HYDROSTATIC = $USE_HYDROSTATIC - set HIST_IM = `expr $AGCM_IM \* 4` - set HIST_JM = `expr $AGCM_IM \* 2 + 1` - set GRID_FILE = "Gnomonic_c${AGCM_IM}.dat" - set NUM_READERS = 6 - set JOB_SGMT = 00000001 - set NUM_SGMT = 1 - set ATMOS_RES = CF1080x6C - set CNV_NX = 8 - set POST_NDS = 32 - set USE_SHMEM = 1 -endif -if( $AGCM_IM == "c2160" ) then - set DT = 60 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 - set OCEAN_DT = $IRRAD_DT - set CHEM_DT = $DT - set SC_SPLIT = 1 -# set GOCART_DT = `expr $DT \* 2` - set AGCM_IM = 2160 - set AGCM_JM = `expr $AGCM_IM \* 6` set NX = 72 set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC @@ -1164,49 +1111,23 @@ if( $AGCM_IM == "c2160" ) then set NUM_READERS = 6 set JOB_SGMT = 00000001 set NUM_SGMT = 1 - set ATMOS_RES = CF2160x6C + set ATMOS_RES = CF1080x6C set CNV_NX = 8 set POST_NDS = 32 set USE_SHMEM = 1 -endif -# DYAMOND Resolutions -if( $AGCM_IM == "c768" ) then - set DT = 180 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 - set OCEAN_DT = $IRRAD_DT - set CHEM_DT = 900 - set SC_SPLIT = 1 -# set GOCART_DT = $CHEM_DT - set AGCM_IM = 768 - set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 32 - set NY = `expr $NX \* 6` - set HYDROSTATIC = $USE_HYDROSTATIC - set HIST_IM = `expr $AGCM_IM \* 4` - set HIST_JM = `expr $AGCM_IM \* 2 + 1` - set GRID_FILE = "Gnomonic_c${AGCM_IM}.dat" - set NUM_READERS = 6 - set JOB_SGMT = 00000005 - set NUM_SGMT = 1 - set ATMOS_RES = CF0768x6C - set CNV_NX = 8 - set POST_NDS = 16 - set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif if( $AGCM_IM == "c1536" ) then - set DT = 90 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 + set DT = 75 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = 900 + set LONG_DT = 300 set SC_SPLIT = 1 -# set GOCART_DT = $CHEM_DT set AGCM_IM = 1536 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 64 + set NX = 96 set NY = `expr $NX \* 6` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` @@ -1219,31 +1140,33 @@ if( $AGCM_IM == "c1536" ) then set CNV_NX = 8 set POST_NDS = 16 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 3.0 endif -if( $AGCM_IM == "c3072" ) then - set DT = 45 - set SOLAR_DT = 3600 - set IRRAD_DT = 3600 - set SATSIM_DT = 3600 +if( $AGCM_IM == "c2160" ) then + set DT = 60 + set SOLAR_DT = 900 + set IRRAD_DT = 900 set OCEAN_DT = $IRRAD_DT - set CHEM_DT = 900 + set LONG_DT = 300 set SC_SPLIT = 1 -# set GOCART_DT = $CHEM_DT - set AGCM_IM = 3072 + set AGCM_IM = 2160 set AGCM_JM = `expr $AGCM_IM \* 6` - set NX = 64 - set NY = `expr $NX \* 6` + set NX = 192 + set NY = `expr $NX \* 6 \* 2` set HYDROSTATIC = $USE_HYDROSTATIC set HIST_IM = `expr $AGCM_IM \* 4` set HIST_JM = `expr $AGCM_IM \* 2 + 1` set GRID_FILE = "Gnomonic_c${AGCM_IM}.dat" set NUM_READERS = 6 - set JOB_SGMT = 00000005 + set JOB_SGMT = 00000001 set NUM_SGMT = 1 - set ATMOS_RES = CF3072x6C + set ATMOS_RES = CF2160x6C set CNV_NX = 8 - set POST_NDS = 16 + set POST_NDS = 32 set USE_SHMEM = 1 + set CONUS = '' + set STRETCH_FACTOR = 2.5 endif set IS_FCST = 0 @@ -1293,7 +1216,7 @@ set GFDL_HYDRO = ".TRUE." set GFDL_PROG_CCN = "prog_ccn = .true." set GFDL_USE_CCN = "use_ccn = .true." -# BACM_1M and GFDL do not use WSUB_NATURE, so this eliminates a regrid +# BACM_1M and GFDL do not use WSUB_CLIM, so this eliminates a regrid if ( "$CLDMICRO" == "BACM_1M" | "$CLDMICRO" == "GFDL_1M" ) then set MP_NO_USE_WSUB = "" else @@ -1321,6 +1244,17 @@ else endif endif +if ($CONUS == '#') then + set SCHMIDT = "do_schmidt = .false." + set STRETCH_FAC = "stretch_fac = 1.0" + set TARGET_LON = "target_lon = 0.0" + set TARGET_LAT = "target_lat = 0.0" +else + set SCHMIDT = "do_schmidt = .true." + set STRETCH_FAC = "stretch_fac = $STRETCH_FACTOR" + set TARGET_LON = "target_lon = -98.35" + set TARGET_LAT = "target_lat = 39.5" +endif ####################################################################### # Check for land surface and runoff routing models # @@ -1396,10 +1330,10 @@ endif # ---------------- GOCART: echo "Do you wish to run ${C1}GOCART${CN} with ${C2}Actual${CN} or ${C2}Climatological${CN} Aerosols? (Enter: ${C2}A${CN} (Default) or ${C2}C${CN})" -set GOKART = $< -if( .$GOKART == . ) set GOKART = A -set GOKART = `echo $GOKART | tr "[:lower:]" "[:upper:]"` -if( $GOKART != 'A' & $GOKART != 'C' ) then +set DATA_DRIVEN = $< +if( .$DATA_DRIVEN == . ) set DATA_DRIVEN = A +set DATA_DRIVEN = `echo $DATA_DRIVEN | tr "[:lower:]" "[:upper:]"` +if( $DATA_DRIVEN != 'A' & $DATA_DRIVEN != 'C' ) then echo echo "${C1}GOCART${CN} must be set equal to ${C2}A${CN} or ${C2}C${CN}!" goto GOCART @@ -1407,8 +1341,8 @@ else echo endif -if( $GOKART == "A" ) set GOKART = TRUE # Use Actual Aerosols -if( $GOKART == "C" ) set GOKART = FALSE # Use Climatological Aerosols +if( $DATA_DRIVEN == "A" ) set DATA_DRIVEN = FALSE # Use Actual Aerosols +if( $DATA_DRIVEN == "C" ) set DATA_DRIVEN = TRUE # Use Climatological Aerosols # Default setup for linkbcs emissions set OPS_SPECIES = "#" @@ -1416,11 +1350,19 @@ set CMIP_SPECIES = "#" set MERRA2OX_SPECIES = "#" set PCHEM_CLIM_YEARS = "" -if( $GOKART == TRUE ) then +set AERO_PROVIDER = GOCART2G + +if( $DATA_DRIVEN == FALSE ) then + + set GOCART = "" + set HIST_GOCART = "" -set GOCART = "" -set GOCART_INTERNAL = "GOCART_INTERNAL" -set HIST_GOCART = "" +else + + set GOCART = "#" + set HIST_GOCART = "#DELETE" + +endif # Emission Files # -------------- @@ -1453,42 +1395,41 @@ EMISSIONS: set PCHEM_CLIM_YEARS = 39 endif -# AERO Provider + +# RATS Provider # ------------- - set AERO_PROVIDER = GOCART2G -#AERO: -#echo "Enter the ${C1}AERO_PROVIDER${CN}: ${C2}GOCART${CN} (Default) or ${C2}GOCART.data${CN}:" -# set AERO_PROVIDER = $< -# if( .$AERO_PROVIDER == . ) then -# set AERO_PROVIDER = GOCART -# else -# if( $AERO_PROVIDER != GOCART.data & $AERO_PROVIDER != GOCART ) then -# echo -# echo "${C1}AERO_PROVIDER${CN} must be equal to ${C2}GOCART${CN} or ${C2}GOCART.data${CN}!" -# goto AERO -# else -# echo -# endif -# endif +set RATS_PROVIDER = STRATCHEM -else -# GOKART = FALSE -# -------------- -set AERO_PROVIDER = GOCART.data -set EMISSIONS = "" -set GOCART = "#" -set HIST_GOCART = "#DELETE" +####################################################################### +# Confirm HEARTBEAT time for the model +####################################################################### + +# Per W. Putman recommendation, set heartbeat to 450s anytime BACM_1M is selected +if( "$CLDMICRO" == "BACM_1M" ) then + set DT = 450 + set LONG_DT = 450 +endif -# GOCART.data uses MERRA2OX currently -set MERRA2OX_SPECIES = "" -set PCHEM_CLIM_YEARS = 39 +ASKHB: +echo "Enter ${C1}HEARTBEAT_DT${CN} to use" +echo " ${C2}1. Hit ENTER to use the recommended default of ${DT} ${CN}" +echo " ${C2}2. Type an integer (in seconds) to overide the default value ${CN}" +set HEARTBEAT = $< +if( .$HEARTBEAT == . ) then + set HEARTBEAT = $DT +else + set HEARTBEAT = `echo $HEARTBEAT | awk '{print ($0+0)}'` + if ( ! $HEARTBEAT > 0 ) then + echo + echo "${C1}HEARTBEAT${CN} must be a valid integer using one of the options below!" + goto ASKHB + endif endif -# RATS Provider -# ------------- -set RATS_PROVIDER = STRATCHEM +set DT = $HEARTBEAT + ####################################################################### # Create Desired HISTORY template @@ -1636,10 +1577,10 @@ if( $SITE == 'NAS' ) then setenv CONVERT_P "PBS -l select=${CNV_NX}:ncpus=${NCPUS_PER_NODE}:mpiprocs=${NCPUS_PER_NODE}:model=${MODEL}" # PE Configuration for gcm_convert.j setenv MOVE_P "PBS -l select=1:ncpus=1" # PE Configuration for gcm_moveplot.j - setenv BCSDIR /nobackup/gmao_SIteam/ModelData/bcs/${LSM_BCS}/${LSM_BCS}_${OCEAN_TAG} # location of Boundary Conditions - setenv REPLAY_ANA_EXPID ONLY_MERRA2_SUPPORTED # Default Analysis Experiment for REPLAY - setenv REPLAY_ANA_LOCATION ONLY_MERRA2_SUPPORTED # Default Analysis Location for REPLAY - setenv M2_REPLAY_ANA_LOCATION /nobackup/gmao_SIteam/ModelData/merra2/data # Default Analysis Location for M2 REPLAY + setenv BCSDIR /nobackup/gmao_SIteam/ModelData/bcs/${LSM_BCS}/${LSM_BCS}_${OCEAN_TAG} # location of Boundary Conditions + setenv REPLAY_ANA_EXPID ONLY_MERRA2_SUPPORTED # Default Analysis Experiment for REPLAY + setenv REPLAY_ANA_LOCATION ONLY_MERRA2_SUPPORTED # Default Analysis Location for REPLAY + setenv M2_REPLAY_ANA_LOCATION /nobackup/gmao_SIteam/ModelData/merra2/data # Default Analysis Location for M2 REPLAY if( ${OGCM_IM}x${OGCM_JM} == "1440x720" ) then setenv SSTDIR /nobackup/gmao_SIteam/ModelData/fvInput/g5gcm/bcs/SST/${OGCM_IM}x${OGCM_JM} # location of SST Boundary Conditions @@ -2284,8 +2225,6 @@ s^@DYCORE^$DYCORE^g s^@AGCM_GRIDNAME^$AGCM_GRIDNAME^g s^@OGCM_GRIDNAME^$OGCM_GRIDNAME^g -s/@GOCART_DT/$DT/g - s?@IS_FCST?$IS_FCST?g s^@BOOT^YES^g s^@BCSRES^$BCSRES^g @@ -2297,9 +2236,8 @@ s^@TILEBIN^$TILEBIN^g s/@DT/$DT/g s/@SOLAR_DT/$SOLAR_DT/g s/@IRRAD_DT/$IRRAD_DT/g -s/@SATSIM_DT/$SATSIM_DT/g s/@OCEAN_DT/$OCEAN_DT/g -s/@CHEM_DT/$CHEM_DT/g +s/@LONG_DT/$LONG_DT/g s/@SC_SPLIT/$SC_SPLIT/g s/@NX/$NX/g s/@NY/$NY/g @@ -2330,6 +2268,9 @@ s/@END_DATE/${END_DATE}/g s/@JOB_SGMT/${JOB_SGMT}/g s/@NUM_SGMT/${NUM_SGMT}/g +s/@CONUS/${CONUS}/g +s/@STRETCH_FAC/${STRETCH_FAC}/g + s/@INTERPOLATE_SST/$INTERPOLATE_SST/g s/@HIST_IM/$HIST_IM/g s/@HIST_JM/$HIST_JM/g @@ -2352,23 +2293,24 @@ s?@BACM_1M_?$BACM_1M_?g s?@GFDL_1M_?$GFDL_1M_?g s?@MGB2_2M_?$MGB2_2M_?g -s?@GFDL_HYDRO?$GFDL_HYDRO?g - -s?@FV_MAKENH?$FV_MAKENH?g -s?@FV_HYDRO?$FV_HYDRO?g - -s?@GFDL_PROG_CCN?$GFDL_PROG_CCN?g -s?@GFDL_USE_CCN?$GFDL_USE_CCN?g - EOF -# Added FV3 Specific Parameters -# ----------------------------- +# Added FV3/GFDL-MP Specific Parameters +# ------------------------------------- cat >> $HOMDIR/sedfile << EOF s^@HYDROSTATIC^$HYDROSTATIC^g s/@GRID_FILE/$GRID_FILE/g +s?@FV_SCHMIDT?$SCHMIDT?g +s?@FV_STRETCH_FAC?$STRETCH_FAC?g +s?@FV_TARGET_LON?$TARGET_LON?g +s?@FV_TARGET_LAT?$TARGET_LAT?g +s?@FV_MAKENH?$FV_MAKENH?g +s?@FV_HYDRO?$FV_HYDRO?g +s?@GFDL_PROG_CCN?$GFDL_PROG_CCN?g +s?@GFDL_USE_CCN?$GFDL_USE_CCN?g +s?@GFDL_HYDRO?$GFDL_HYDRO?g EOF @@ -2465,15 +2407,10 @@ set LPCHEM = FALSE set LSTRATCHEM = TRUE set LGMICHEM = FALSE set LGEOSCHEMCHEM = FALSE -set LHEMCO = FALSE -set LGOCART = $GOKART -if( $GOKART == TRUE ) then - set LGOCART_DATA = FALSE -else - set LGOCART_DATA = TRUE -endif +set LGOCART = FALSE +set LGOCART_DATA = FALSE -set RSNAMES = "LH2O LMAM LCARMA LPCHEM LSTRATCHEM LGMICHEM LGEOSCHEMCHEM LHEMCO LGOCART LGOCART_DATA" +set RSNAMES = "LH2O LMAM LCARMA LPCHEM LSTRATCHEM LGMICHEM LGEOSCHEMCHEM LGOCART LGOCART_DATA" set RSTYPES = "INTERNAL IMPORT" set FILE = AGCM.rc.tmpl @@ -2614,14 +2551,6 @@ if( $RATS_PROVIDER == PCHEM ) then awk '{ if ($1~"ENABLE_PCHEM:") { sub(/FALSE/,"TRUE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc endif -# Turn on GOCART.data -# ------------------- -if( $AERO_PROVIDER == GOCART.data ) then - /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp - cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ - awk '{ if ($1~"ENABLE_GOCART_DATA:") { sub(/FALSE/,"TRUE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc -endif - # Turn on TR GridComp # ------------------- /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp @@ -2646,33 +2575,24 @@ else awk '{ if ($1~"Z0_FORMULATION:") { sub(/4/,"2") }; print }' > $EXPDIR/RC/GEOS_SurfaceGridComp.rc endif -# Turn on GOCART -# -------------- -if( $GOKART == TRUE ) then - /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp - cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ - awk '{ if ($1~"ENABLE_GOCART:") { sub(/FALSE/,"TRUE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc - - /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp - cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ - awk '{ if ($1~"ENABLE_GOCART_DATA:") { sub(/TRUE/,"FALSE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc - - /bin/mv $EXPDIR/RC/Chem_Registry.rc $EXPDIR/RC/Chem_Registry.tmp - cat $EXPDIR/RC/Chem_Registry.tmp | \ - awk '{ if ( $1 ~ "doing_CO:" ) { sub(/yes/, "no" ) }; print }' > $EXPDIR/RC/Chem_Registry.rc - - /bin/mv $EXPDIR/RC/Chem_Registry.rc $EXPDIR/RC/Chem_Registry.tmp - cat $EXPDIR/RC/Chem_Registry.tmp | \ - awk '{ if ( $1 ~ "doing_NI:" ) { sub(/yes/, "no" ) }; print }' > $EXPDIR/RC/Chem_Registry.rc - - /bin/mv $EXPDIR/RC/AMIP/Chem_Registry.rc $EXPDIR/RC/AMIP/Chem_Registry.tmp - cat $EXPDIR/RC/AMIP/Chem_Registry.tmp | \ - awk '{ if ( $1 ~ "doing_CO:" ) { sub(/yes/, "no" ) }; print }' > $EXPDIR/RC/AMIP/Chem_Registry.rc +# Enable DATA_DRIVEN GOCART2G +# --------------------------- +if( $AERO_PROVIDER == GOCART2G ) then + if ($DATA_DRIVEN == TRUE ) then + /bin/mv $EXPDIR/RC/GOCART2G_GridComp.rc $EXPDIR/RC/GOCART2G_GridComp.tmp + cat $EXPDIR/RC/GOCART2G_GridComp.tmp | \ + sed -e '/ACTIVE_INSTANCES_DU:/ s/DU /DU.data /' \ + -e '/ACTIVE_INSTANCES_SS:/ s/SS /SS.data /' \ + -e '/ACTIVE_INSTANCES_SU:/ s/SU /SU.data /' \ + -e '/ACTIVE_INSTANCES_NI:/ s/NI /NI.data /' \ + -e '/ACTIVE_INSTANCES_CA:/ s/CA.oc /CA.oc.data /' \ + -e '/ACTIVE_INSTANCES_CA:/ s/CA.bc /CA.bc.data /' \ + -e '/ACTIVE_INSTANCES_CA:/ s/CA.br /CA.br.data /' > $EXPDIR/RC/GOCART2G_GridComp.rc + endif +endif - /bin/mv $EXPDIR/RC/AMIP/Chem_Registry.rc $EXPDIR/RC/AMIP/Chem_Registry.tmp - cat $EXPDIR/RC/AMIP/Chem_Registry.tmp | \ - awk '{ if ( $1 ~ "doing_NI:" ) { sub(/yes/, "no" ) }; print }' > $EXPDIR/RC/AMIP/Chem_Registry.rc -else +# Turn off GOCART +# --------------- /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ awk '{ if ($1~"ENABLE_GOCART:") { sub(/TRUE/,"FALSE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc @@ -2684,7 +2604,12 @@ else /bin/mv $EXPDIR/RC/AMIP/Chem_Registry.rc $EXPDIR/RC/AMIP/Chem_Registry.tmp cat $EXPDIR/RC/AMIP/Chem_Registry.tmp | \ awk '{ if ( $1 ~ "doing" ) { sub(/yes/, "no" ) }; print }' > $EXPDIR/RC/AMIP/Chem_Registry.rc -endif + +# Turn off GOCART_DATA +# -------------------- +/bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp +cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ +awk '{ if ($1~"ENABLE_GOCART_DATA:") { sub(/TRUE/,"FALSE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc # Turn on STRATCHEM # ----------------- @@ -2724,9 +2649,7 @@ endif # Turn on TR GridComp # --------------------- - /bin/mv $EXPDIR/RC/GEOS_ChemGridComp.rc $EXPDIR/RC/GEOS_ChemGridComp.tmp - cat $EXPDIR/RC/GEOS_ChemGridComp.tmp | \ - awk '{ if ($1~"ENABLE_TR:") { sub(/FALSE/,"TRUE") }; print }' > $EXPDIR/RC/GEOS_ChemGridComp.rc +# (By default, ENABLE_TR is TRUE in RC/GEOS_ChemGridComp.rc) ############################################################### # Distinguish between the Full and Reduced StratChem mechanisms