diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index b14b1f621..c4ba4f38f 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -22,14 +22,7 @@ jobs: with: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-issue-label: 'stale' - exempt-issue-labels: - - 'category: Discussion' - - 'category: Feature Request' - - 'deferred' - - 'help needed: Open Research Problem' - - 'help needed: Request Input from Community' - - 'never stale' - - 'TODO: Documentation' + exempt-issue-labels: 'category: Discussion','category: Feature Request','deferred','help needed: Open Research Problem','help needed: Request Input from Community','never stale','TODO: Documentation' days-before-issue-stale: 30 days-before-issue-close: 7 stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. If there are no updates within 7 days it will be closed. You can add the "never stale" tag to prevent the issue from closing this issue.' diff --git a/CHANGELOG.md b/CHANGELOG.md index b7f695551..848820fbf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,29 @@ This file documents all notable changes to the GEOS-Chem repository starting in The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [Unreleased] - TBD +### Added +- Added initialization of PHOTDELTA in `ucx_h2so4phot` to avoid run-time error in CESM + +### Changed +- Alphabetically sort Complex SOA species into `geoschem_config.yml` in run directory creation +- Use hard-coded years for met fields and BC files in `HEMCO_Config.rc` so they are not read hourly +- Updated `run/CESM` with alphabetical sorting of species in `geoschem_config.yml` +- Added clarifying comments in GCHP configuration files for several settings, particularly related to domain decomposition, mass fluxes, and stretched grid +- Added pre-run GCHP configuration checks to `setCommonRunSettings.sh` related to domain decomposition, mass fluxes, and stretched grid. +- Changed search criteria for GCHP auto-update of met-field refresh frequency to not rely on presence of `MetDir` symlink in `ExtData.rc` file path + +### Fixed +- Fixed formatting error in `.github/workflows/stale.yml` that caused the Mark Stale Issues action not to run +- Fixed typo `$GCAPVERTRESL` -> `$GCAPVERTRES` in `HEMCO_Config.rc.fullchem` template file +- Fixed GCHP `ExtData.rc` entry for lightning climatology files + +### Removed +- Removed `BudgetWetDep*` entries from simulations with no soluble species in `HISTORY.rc` templates +- Disabled `run/CESM` ParaNOx extension by default in `HEMCO_Config.rc` +- Removed MPI broadcasts in CESM-only UCX code; MPI broadcast done at coupler level +- Remove enabling O-server in GCHP for high core counts + ## [14.4.0] - 2024-05-30 ### Added - Added `SpcConc%Units` for species-specific unit conversion diff --git a/GeosCore/ucx_mod.F90 b/GeosCore/ucx_mod.F90 index f72988ae7..185a6548a 100644 --- a/GeosCore/ucx_mod.F90 +++ b/GeosCore/ucx_mod.F90 @@ -3825,6 +3825,9 @@ SUBROUTINE UCX_H2SO4PHOT( Input_Opt, State_Chm, State_Grid, State_Met ) ! UCX_H2SO4PHOT begins here! !================================================================= + ! Initialize + PHOTDELTA = 0.0_fp + ! Copy fields from species database SO2_MW_G = State_Chm%SpcData(id_SO2)%Info%MW_g ! g/mol SO4_MW_G = State_Chm%SpcData(id_SO4)%Info%MW_g ! g/mol @@ -3903,8 +3906,6 @@ SUBROUTINE NOXCOEFF_INIT( Input_Opt, State_Grid, State_Chm ) USE State_Chm_Mod, ONLY : ChmState #if defined( MODEL_CESM ) USE UNITS, ONLY : freeUnit - USE CAM_ABORTUTILS, ONLY : endrun - USE SPMD_UTILS, ONLY : mpicom, masterprocid, mpi_success, mpi_real8 #endif ! ! !INPUT PARAMETERS: @@ -3930,10 +3931,6 @@ SUBROUTINE NOXCOEFF_INIT( Input_Opt, State_Grid, State_Chm ) INTEGER :: I, AS, IOS INTEGER :: IMON, ITRAC, ILEV INTEGER :: IU_FILE -#if defined( MODEL_CESM ) - INTEGER :: nSize ! Number of elements in State_Chm%NOXCOEFF - INTEGER :: ierr -#endif ! Strings CHARACTER(LEN=255) :: NOX_FILE @@ -4057,7 +4054,6 @@ SUBROUTINE NOXCOEFF_INIT( Input_Opt, State_Grid, State_Chm ) State_Chm%NOXCOEFF = 0.0e+0_fp #if defined( MODEL_CESM ) - nSize = State_Chm%JJNOXCOEFF * UCX_NLEVS * 6 * 12 IF ( Input_Opt%amIRoot ) THEN #endif ! Fill array @@ -4138,9 +4134,6 @@ SUBROUTINE NOXCOEFF_INIT( Input_Opt, State_Grid, State_Chm ) ENDDO !IMON #if defined( MODEL_CESM ) ENDIF - - CALL MPI_BCAST( State_Chm%NOXCOEFF, nSize, mpi_real8, masterprocid, mpicom, ierr ) - IF ( ierr /= mpi_success ) CALL endrun(subname//': MPI_BCAST ERROR: NOXCOEFF') #endif END SUBROUTINE NOXCOEFF_INIT diff --git a/run/CESM/HEMCO_Config.rc b/run/CESM/HEMCO_Config.rc index 2988dfe0a..f3fafd6ec 100644 --- a/run/CESM/HEMCO_Config.rc +++ b/run/CESM/HEMCO_Config.rc @@ -162,7 +162,7 @@ VerboseOnCores: root # Accepted values: root all # ----------------------------------------------------------------------------- 100 Custom : off - 101 SeaFlux : on DMS/ACET/ALD2/MENO3/ETNO3/MOH -102 ParaNOx : on NO/NO2/O3/HNO3 +102 ParaNOx : off NO/NO2/O3/HNO3 --> LUT data format : nc --> LUT source dir : $ROOT/PARANOX/v2015-02 103 LightNOx : off NO diff --git a/run/CESM/geoschem_config.yml b/run/CESM/geoschem_config.yml index d7a8a5270..be47c127c 100644 --- a/run/CESM/geoschem_config.yml +++ b/run/CESM/geoschem_config.yml @@ -94,6 +94,9 @@ operations: - AERI - ALD2 - ALK4 + - AONITA + - AROMP4 + - AROMP5 - ASOA1 - ASOA2 - ASOA3 @@ -101,9 +104,6 @@ operations: - ASOG1 - ASOG2 - ASOG3 - - AONITA - - AROMP4 - - AROMP5 - ATOOH - BALD - BCPI diff --git a/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.CH4 b/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.CH4 index 65adc314e..2ffe5ac87 100644 --- a/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.CH4 +++ b/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.CH4 @@ -618,7 +618,7 @@ VerboseOnCores: root # Accepted values: root all # --- GEOS-Chem boundary condition file --- #============================================================================== (((GC_BCs -* BC_ $ROOT/SAMPLE_BCs/v2021-07/CH4/GEOSChem.BoundaryConditions.$YYYY$MM$DD_0000z.nc4 SpeciesBC_?ADV? $YYYY/$MM/$DD/* EFY xyz 1 * - 1 1 +* BC_ $ROOT/SAMPLE_BCs/v2021-07/CH4/GEOSChem.BoundaryConditions.$YYYY$MM$DD_0000z.nc4 SpeciesBC_?ADV? 1900-2100/1-12/1-31/* EFY xyz 1 * - 1 1 )))GC_BCs #============================================================================== diff --git a/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.Hg b/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.Hg index afd03a7f0..9e7b0b253 100644 --- a/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.Hg +++ b/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.Hg @@ -500,7 +500,7 @@ VerboseOnCores: root # Accepted values: root all # --- GEOS-Chem boundary condition file --- #============================================================================== (((GC_BCs -* BC_ $ROOT/SAMPLE_BCs/v2019-05/tropchem/GEOSChem.BoundaryConditions.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesBC_?ADV? $YYYY/$MM/$DD/* EFY xyz 1 * - 1 1 +* BC_ $ROOT/SAMPLE_BCs/v2019-05/tropchem/GEOSChem.BoundaryConditions.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesBC_?ADV? 1900-2100/1-12/1-31/* EFY xyz 1 * - 1 1 )))GC_BCs (((CHEMISTRY_INPUT diff --git a/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.aerosol b/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.aerosol index f967196ff..e05a6df07 100644 --- a/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.aerosol +++ b/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.aerosol @@ -1967,7 +1967,7 @@ VerboseOnCores: root # Accepted values: root all # --- GEOS-Chem boundary condition file --- #============================================================================== (((GC_BCs -* BC_ $ROOT/SAMPLE_BCs/GC_14.3.0/fullchem/GEOSChem.BoundaryConditions.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesBC_?ADV? $YYYY/$MM/$DD/* EFY xyz 1 * - 1 1 +* BC_ $ROOT/SAMPLE_BCs/GC_14.3.0/fullchem/GEOSChem.BoundaryConditions.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesBC_?ADV? 1900-2100/1-12/1-31/* EFY xyz 1 * - 1 1 )))GC_BCs (((CHEMISTRY_INPUT diff --git a/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.carbon b/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.carbon index dd41b6536..e3d9f3a9a 100644 --- a/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.carbon +++ b/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.carbon @@ -1067,7 +1067,7 @@ Mask fractions: false # --- GEOS-Chem boundary condition file --- #============================================================================== (((GC_BCs -* BC_ $ROOT/SAMPLE_BCs/v2021-07/CH4/GEOSChem.BoundaryConditions.$YYYY$MM$DD_0000z.nc4 SpeciesBC_?ADV? $YYYY/$MM/$DD/* EFY xyz 1 * - 1 1 +* BC_ $ROOT/SAMPLE_BCs/v2021-07/CH4/GEOSChem.BoundaryConditions.$YYYY$MM$DD_0000z.nc4 SpeciesBC_?ADV? 1900-2100/1-12/1-31/* EFY xyz 1 * - 1 1 )))GC_BCs #============================================================================== diff --git a/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.fullchem b/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.fullchem index 8772c3bc7..b0c5bc5d8 100644 --- a/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.fullchem +++ b/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.fullchem @@ -1931,10 +1931,10 @@ VerboseOnCores: root # Accepted values: root all # #============================================================================== (((CMIP6_AIRCRAFT -0 CMIP6_AIR_NO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAP2VERTRESL.nc4 NO_air 1750-2100/1-12/1/0 C xyz kg/m2/s NO - 20 1 -0 CMIP6_AIR_CO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAP2VERTRESL.nc4 CO_air 1750-2100/1-12/1/0 C xyz kg/m2/s CO - 20 1 +0 CMIP6_AIR_NO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 NO_air 1750-2100/1-12/1/0 C xyz kg/m2/s NO - 20 1 +0 CMIP6_AIR_CO $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 CO_air 1750-2100/1-12/1/0 C xyz kg/m2/s CO - 20 1 0 CMIP6_AIR_SOAP - - - - - - SOAP 280 20 1 -0 CMIP6_AIR_SO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAP2VERTRESL.nc4 SO2_air 1750-2100/1-12/1/0 C xyz kg/m2/s SO2 - 20 1 +0 CMIP6_AIR_SO2 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 SO2_air 1750-2100/1-12/1/0 C xyz kg/m2/s SO2 - 20 1 0 CMIP6_AIR_SO4 - - - - - - SO4 63 20 1 0 CMIP6_AIR_pFe - - - - - - pFe 66 20 1 0 CMIP6_AIR_ACET - - - - - - ACET 601 20 1 @@ -1946,10 +1946,10 @@ VerboseOnCores: root # Accepted values: root all 0 CMIP6_AIR_PRPE - - - - - - PRPE 607 20 1 0 CMIP6_AIR_MACR - - - - - - MACR 608 20 1 0 CMIP6_AIR_RCHO - - - - - - RCHO 609 20 1 -0 CMIP6_AIR_NH3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAP2VERTRESL.nc4 NH3_air 1750-2100/1-12/1/0 C xyz kg/m2/s NH3 - 20 1 +0 CMIP6_AIR_NH3 $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 NH3_air 1750-2100/1-12/1/0 C xyz kg/m2/s NH3 - 20 1 # Assume all BC/OC is BCPI/OCPI -0 CMIP6_AIR_BCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAP2VERTRESL.nc4 BC_air 1750-2100/1-12/1/0 C xyz kg/m2/s BCPI - 20 1 -0 CMIP6_AIR_OCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAP2VERTRESL.nc4 OC_air 1750-2100/1-12/1/0 C xyz kg/m2/s OCPI - 20 1 +0 CMIP6_AIR_BCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 BC_air 1750-2100/1-12/1/0 C xyz kg/m2/s BCPI - 20 1 +0 CMIP6_AIR_OCPI $ROOT/CMIP6/v2021-01/$GCAPSCENARIO/$GCAPSCENARIO_$YYYY_AIR.$GCAPVERTRES.nc4 OC_air 1750-2100/1-12/1/0 C xyz kg/m2/s OCPI - 20 1 0 CMIP6_AIR_POG1 - - - - - - POG1 74/76 20 1 0 CMIP6_AIR_POG2 - - - - - - POG2 74/77 20 1 @@ -3492,7 +3492,7 @@ VerboseOnCores: root # Accepted values: root all # --- GEOS-Chem boundary condition file --- #============================================================================== (((GC_BCs -* BC_ $ROOT/SAMPLE_BCs/GC_14.3.0/fullchem/GEOSChem.BoundaryConditions.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesBC_?ADV? $YYYY/$MM/$DD/* EFY xyz 1 * - 1 1 +* BC_ $ROOT/SAMPLE_BCs/GC_14.3.0/fullchem/GEOSChem.BoundaryConditions.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesBC_?ADV? 1900-2100/1-12/1-31/* EFY xyz 1 * - 1 1 )))GC_BCs (((CHEMISTRY_INPUT diff --git a/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.gmao_metfields b/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.gmao_metfields index db7807b27..92e346dac 100644 --- a/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.gmao_metfields +++ b/run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.gmao_metfields @@ -45,85 +45,85 @@ METDIR: ${RUNDIR_MET_DIR} * PHIS $METDIR/$CNYR/01/$MET.$CNYR0101.CN.$RES.$NC PHIS */1/1/0 C xy 1 * - 1 1 # --- A1 fields --- -* ALBEDO $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC ALBEDO $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* CLDTOT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC CLDTOT $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* EFLUX $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC EFLUX $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* EVAP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC EVAP $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* FRSEAICE $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC FRSEAICE $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* FRSNO $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC FRSNO $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* GRN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC GRN $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* GWETROOT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC GWETROOT $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* GWETTOP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC GWETTOP $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* HFLUX $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC HFLUX $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* LAI $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC LAI $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* PARDF $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PARDF $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* PARDR $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PARDR $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* PBLH $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PBLH $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* PRECANV $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PRECANV $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* PRECCON $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PRECCON $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* PRECLSC $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PRECLSC $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* PRECSNO $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PRECSNO $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* PRECTOT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PRECTOT $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* QV2M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC QV2M $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* SEAICE00 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE00 $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* SEAICE10 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE10 $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* SEAICE20 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE20 $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* SEAICE30 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE30 $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* SEAICE40 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE40 $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* SEAICE50 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE50 $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* SEAICE60 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE60 $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* SEAICE70 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE70 $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* SEAICE80 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE80 $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* SEAICE90 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE90 $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* SLP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SLP $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* SNODP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SNODP $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* SNOMAS $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SNOMAS $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* SWGDN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SWGDN $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* TO3 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC TO3 $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* TROPPT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC TROPPT $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* TS $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC TS $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* T2M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC T2M $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* U10M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC U10M $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* USTAR $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC USTAR $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* V10M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC V10M $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 -* Z0M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC Z0M $YYYY/$MM/$DD/*/+30minute EFY xy 1 * - 1 1 +* ALBEDO $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC ALBEDO 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* CLDTOT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC CLDTOT 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* EFLUX $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC EFLUX 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* EVAP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC EVAP 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* FRSEAICE $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC FRSEAICE 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* FRSNO $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC FRSNO 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* GRN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC GRN 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* GWETROOT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC GWETROOT 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* GWETTOP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC GWETTOP 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* HFLUX $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC HFLUX 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* LAI $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC LAI 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* PARDF $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PARDF 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* PARDR $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PARDR 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* PBLH $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PBLH 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* PRECANV $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PRECANV 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* PRECCON $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PRECCON 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* PRECLSC $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PRECLSC 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* PRECSNO $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PRECSNO 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* PRECTOT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC PRECTOT 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* QV2M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC QV2M 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* SEAICE00 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE00 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* SEAICE10 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE10 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* SEAICE20 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE20 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* SEAICE30 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE30 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* SEAICE40 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE40 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* SEAICE50 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE50 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* SEAICE60 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE60 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* SEAICE70 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE70 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* SEAICE80 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE80 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* SEAICE90 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SEAICE90 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* SLP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SLP 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* SNODP $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SNODP 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* SNOMAS $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SNOMAS 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* SWGDN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC SWGDN 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* TO3 $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC TO3 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* TROPPT $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC TROPPT 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* TS $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC TS 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* T2M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC T2M 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* U10M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC U10M 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* USTAR $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC USTAR 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* V10M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC V10M 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 +* Z0M $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A1.$RES.$NC Z0M 1900-2100/1-12/1-31/*/+30minute EFY xy 1 * - 1 1 # --- A3cld fields --- -* CLOUD $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC CLOUD $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* OPTDEPTH $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC OPTDEPTH $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* QI $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC QI $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* QL $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC QL $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* TAUCLI $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC TAUCLI $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* TAUCLW $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC TAUCLW $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 +* CLOUD $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC CLOUD 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* OPTDEPTH $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC OPTDEPTH 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* QI $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC QI 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* QL $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC QL 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* TAUCLI $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC TAUCLI 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* TAUCLW $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3cld.$RES.$NC TAUCLW 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 # --- A3dyn fields --- -* DTRAIN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.$RES.$NC DTRAIN $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* OMEGA $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.$RES.$NC OMEGA $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* RH $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.$RES.$NC RH $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* U $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.$RES.$NC U $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* V $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.$RES.$NC V $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 +* DTRAIN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.$RES.$NC DTRAIN 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* OMEGA $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.$RES.$NC OMEGA 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* RH $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.$RES.$NC RH 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* U $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.$RES.$NC U 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* V $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3dyn.$RES.$NC V 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 # --- A3mstC fields --- -* DQRCU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.$RES.$NC DQRCU $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* DQRLSAN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.$RES.$NC DQRLSAN $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* REEVAPCN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.$RES.$NC REEVAPCN $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* REEVAPLS $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.$RES.$NC REEVAPLS $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 +* DQRCU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.$RES.$NC DQRCU 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* DQRLSAN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.$RES.$NC DQRLSAN 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* REEVAPCN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.$RES.$NC REEVAPCN 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* REEVAPLS $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstC.$RES.$NC REEVAPLS 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 # --- A3mstE fields --- -* CMFMC $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.$RES.$NC CMFMC $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* PFICU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.$RES.$NC PFICU $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* PFILSAN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.$RES.$NC PFILSAN $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* PFLCU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.$RES.$NC PFLCU $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 -* PFLLSAN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.$RES.$NC PFLLSAN $YYYY/$MM/$DD/*/+90minute EFY xyz 1 * - 1 1 +* CMFMC $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.$RES.$NC CMFMC 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* PFICU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.$RES.$NC PFICU 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* PFILSAN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.$RES.$NC PFILSAN 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* PFLCU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.$RES.$NC PFLCU 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 +* PFLLSAN $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.A3mstE.$RES.$NC PFLLSAN 1900-2100/1-12/1-31/*/+90minute EFY xyz 1 * - 1 1 # --- I3 fields --- -* PS $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC PS $YYYY/$MM/$DD/* EFY xy 1 * - 1 1 -* SPHU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC QV $YYYY/$MM/$DD/* EFY xyz 1 * - 1 1 -* TMPU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC T $YYYY/$MM/$DD/* EFY xyz 1 * - 1 1 +* PS $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC PS 1900-2100/1-12/1-31/* EFY xy 1 * - 1 1 +* SPHU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC QV 1900-2100/1-12/1-31/* EFY xyz 1 * - 1 1 +* TMPU $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC T 1900-2100/1-12/1-31/* EFY xyz 1 * - 1 1 -* PS_NEXTDAY $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC PS $YYYY/$MM/1-31/1/+1day EFY xy 1 * - 1 1 -* SPHU_NEXTDAY $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC QV $YYYY/$MM/1-31/1/+1day EFY xyz 1 * - 1 1 -* TMPU_NEXTDAY $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC T $YYYY/$MM/1-31/1/+1day EFY xyz 1 * - 1 1 +* PS_NEXTDAY $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC PS 1900-2100/1-12/1-31/1/+1day EFY xy 1 * - 1 1 +* SPHU_NEXTDAY $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC QV 1900-2100/1-12/1-31/1/+1day EFY xyz 1 * - 1 1 +* TMPU_NEXTDAY $METDIR/$YYYY/$MM/$MET.$YYYY$MM$DD.I3.$RES.$NC T 1900-2100/1-12/1-31/1/+1day EFY xyz 1 * - 1 1 #============================================================================== # --- Fields for lightning emissions (Extension 103) --- @@ -134,8 +134,8 @@ METDIR: ${RUNDIR_MET_DIR} #============================================================================== (((LightNOx (((.not.LightningClimatology -* FLASH_DENS $ROOT/OFFLINE_LIGHTNING/v2020-03/${RUNDIR_METLIGHTNING}/$YYYY/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_$YYYY_$MM.nc4 LDENS $YYYY/$MM/$DD/0-23/+90minute RFY3 xy 1 * - 1 1 -* CONV_DEPTH $ROOT/OFFLINE_LIGHTNING/v2020-03/${RUNDIR_METLIGHTNING}/$YYYY/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_$YYYY_$MM.nc4 CTH $YYYY/$MM/$DD/0-23/+90minute RFY3 xy 1 * - 1 1 +* FLASH_DENS $ROOT/OFFLINE_LIGHTNING/v2020-03/${RUNDIR_METLIGHTNING}/$YYYY/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_$YYYY_$MM.nc4 LDENS 1900-2100/1-12/1-31/0-23/+90minute RFY3 xy 1 * - 1 1 +* CONV_DEPTH $ROOT/OFFLINE_LIGHTNING/v2020-03/${RUNDIR_METLIGHTNING}/$YYYY/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_$YYYY_$MM.nc4 CTH 1900-2100/1-12/1-31/0-23/+90minute RFY3 xy 1 * - 1 1 ))).not.LightningClimatology (((LightningClimatology diff --git a/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.CH4 b/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.CH4 index d175f2487..ffafc62ae 100644 --- a/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.CH4 +++ b/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.CH4 @@ -136,10 +136,6 @@ COLLECTIONS: 'Restart', 'BudgetConvectionTrop_?ADV? ', 'BudgetConvectionPBL_?ADV? ', 'BudgetConvectionLevs1to35_?ADV? ', - 'BudgetWetDepFull_?WET? ', - 'BudgetWetDepTrop_?WET? ', - 'BudgetWetDepPBL_?WET? ', - 'BudgetWetDepLevs1to35_?WET? ', :: #============================================================================== # %%%%% THE CH4 COLLECTION %%%%% diff --git a/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.CO2 b/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.CO2 index 767356540..be4672d21 100644 --- a/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.CO2 +++ b/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.CO2 @@ -111,10 +111,6 @@ COLLECTIONS: 'Restart', 'BudgetConvectionTrop_?ADV? ', 'BudgetConvectionPBL_?ADV? ', 'BudgetConvectionLevs1to35_?ADV? ', - 'BudgetWetDepFull_?WET? ', - 'BudgetWetDepTrop_?WET? ', - 'BudgetWetDepPBL_?WET? ', - 'BudgetWetDepLevs1to35_?WET? ', :: #============================================================================== # %%%%% THE CO2 COLLECTION %%%%% diff --git a/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.carbon b/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.carbon index b0d89c647..fc9d39cca 100644 --- a/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.carbon +++ b/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.carbon @@ -136,10 +136,6 @@ COLLECTIONS: 'Restart', 'BudgetConvectionTrop_?ADV? ', 'BudgetConvectionPBL_?ADV? ', 'BudgetConvectionLevs1to35_?ADV? ', - 'BudgetWetDepFull_?WET? ', - 'BudgetWetDepTrop_?WET? ', - 'BudgetWetDepPBL_?WET? ', - 'BudgetWetDepLevs1to35_?WET? ', :: #============================================================================== # %%%%% THE Carbon COLLECTION %%%%% diff --git a/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.tagCO b/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.tagCO index e905d6354..b8bd57025 100644 --- a/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.tagCO +++ b/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.tagCO @@ -112,10 +112,6 @@ COLLECTIONS: 'Restart', 'BudgetConvectionTrop_?ADV? ', 'BudgetConvectionPBL_?ADV? ', 'BudgetConvectionLevs1to35_?ADV? ', - 'BudgetWetDepFull_?WET? ', - 'BudgetWetDepTrop_?WET? ', - 'BudgetWetDepPBL_?WET? ', - 'BudgetWetDepLevs1to35_?WET? ', :: #============================================================================== # %%%%% THE CloudConvFlux COLLECTION %%%%% diff --git a/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.tagO3 b/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.tagO3 index b9a2a6f43..891cdb3d9 100644 --- a/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.tagO3 +++ b/run/GCClassic/HISTORY.rc.templates/HISTORY.rc.tagO3 @@ -113,10 +113,6 @@ COLLECTIONS: 'Restart', 'BudgetConvectionTrop_?ADV? ', 'BudgetConvectionPBL_?ADV? ', 'BudgetConvectionLevs1to35_?ADV? ', - 'BudgetWetDepFull_?WET? ', - 'BudgetWetDepTrop_?WET? ', - 'BudgetWetDepPBL_?WET? ', - 'BudgetWetDepLevs1to35_?WET? ', :: #============================================================================== # %%%%% THE CloudConvFlux COLLECTION %%%%% diff --git a/run/GCHP/ExtData.rc.templates/ExtData.rc.fullchem b/run/GCHP/ExtData.rc.templates/ExtData.rc.fullchem index 0ca2b1315..47669b46b 100644 --- a/run/GCHP/ExtData.rc.templates/ExtData.rc.fullchem +++ b/run/GCHP/ExtData.rc.templates/ExtData.rc.fullchem @@ -32,14 +32,15 @@ ${RUNDIR_MET_EXTDATA_PRIMARY_EXPORTS} #============================================================================== # --- Fields for lightning emissions (Extension 103) --- # These fields are stored in State_Met, along with the other met fields +# Lines below are commented/uncommented by setCommonRunSettings.sh based +# on setting in HEMCO_Config.rc. #============================================================================== #FLASH_DENS 1 N Y F0;013000 none none LDENS ./HcoDir/OFFLINE_LIGHTNING/v2020-03/${RUNDIR_METLIGHTNING}/%y4/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_%y4_%m2.nc4 #CONV_DEPTH 1 N Y F0;013000 none none CTH ./HcoDir/OFFLINE_LIGHTNING/v2020-03/${RUNDIR_METLIGHTNING}/%y4/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_%y4_%m2.nc4 -# Climatology option (if using make sure two lines below are uncommented and -# two lines above are commented) -FLASH_DENS 1 N N F1980-%m2-01T00:00:00 none none LDENS ./HcoDir/OFFLINE_LIGHTNING/v2020-03/${RUNDIR_METLIGHTNING}/CLIM/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_${RUNDIR_MET_LCLIM}.ymonmean.nc4 -CONV_DEPTH 1 N N F1980-%m2-01T00:00:00 none none CTH ./HcoDir/OFFLINE_LIGHTNING/v2020-03/${RUNDIR_METLIGHTNING}/CLIM/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_${RUNDIR_MET_LCLIM}.ymonmean.nc4 +# Climatology option +FLASH_DENS 1 Y Y F1980-%m2-01T00:00:00 none none LDENS ./HcoDir/OFFLINE_LIGHTNING/v2020-03/${RUNDIR_METLIGHTNING}/CLIM/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_${RUNDIR_MET_LCLIM}.ymonmean.nc4 +CONV_DEPTH 1 Y Y F1980-%m2-01T00:00:00 none none CTH ./HcoDir/OFFLINE_LIGHTNING/v2020-03/${RUNDIR_METLIGHTNING}/CLIM/FLASH_CTH_${RUNDIR_METLIGHTNING}_${RUNDIR_METLIGHTNING_RES}_${RUNDIR_MET_LCLIM}.ymonmean.nc4 # #============================================================================== # --- Fields for RRTMG --- diff --git a/run/GCHP/GCHP.rc.template b/run/GCHP/GCHP.rc.template index dd093553e..f29f13c73 100644 --- a/run/GCHP/GCHP.rc.template +++ b/run/GCHP/GCHP.rc.template @@ -68,11 +68,18 @@ GCHPchem_REFERENCE_TIME: 121000 #----------------------------------------------------------------- PRINTRC: 0 -# Set the number of parallel I/O processes to use when -# RESTART_TYPE and or CHECKPOINT_TYPE are set to pbinary or pnc4 -#--------------------------------------------------------------- PARALLEL_READFORCING: 0 + +# Set the number of parallel I/O processes to use when reading restarts. +# Try something from 6 to 24 if reading a large restart file and have +# poor performance +#--------------------------------------------------------------- NUM_READERS: 1 + +# Set the number of parallel I/O processes to use when writing restarts. +# Try something from 6 to 24 if writing a large restart file and have +# poor performance +#--------------------------------------------------------------- NUM_WRITERS: 1 # Active observer when desired @@ -131,6 +138,8 @@ MEMORY_DEBUG_LEVEL: 0 # # %%% Option to write restart files via o-server +# %%% This should only be necessary with certain MPI stacks. Try changing +# %%% this to true if writing checkpoints causes the run to hang. # WRITE_RESTART_BY_OSERVER: NO diff --git a/run/GCHP/HEMCO_Config.rc.templates/HEMCO_Config.rc.carbon b/run/GCHP/HEMCO_Config.rc.templates/HEMCO_Config.rc.carbon index 845983b8f..334d9c7d3 100644 --- a/run/GCHP/HEMCO_Config.rc.templates/HEMCO_Config.rc.carbon +++ b/run/GCHP/HEMCO_Config.rc.templates/HEMCO_Config.rc.carbon @@ -1067,7 +1067,7 @@ Mask fractions: false # --- GEOS-Chem boundary condition file --- #============================================================================== (((GC_BCs -* BC_ $ROOT/SAMPLE_BCs/v2021-07/CH4/GEOSChem.BoundaryConditions.$YYYY$MM$DD_0000z.nc4 SpeciesBC_?ADV? $YYYY/$MM/$DD/* EFY xyz 1 * - 1 1 +* BC_ $ROOT/SAMPLE_BCs/v2021-07/CH4/GEOSChem.BoundaryConditions.$YYYY$MM$DD_0000z.nc4 SpeciesBC_?ADV? 1900-2100/1-12/1-31/* EFY xyz 1 * - 1 1 )))GC_BCs #============================================================================== diff --git a/run/GCHP/setCommonRunSettings.sh.template b/run/GCHP/setCommonRunSettings.sh.template index 011a952fa..667ab8615 100644 --- a/run/GCHP/setCommonRunSettings.sh.template +++ b/run/GCHP/setCommonRunSettings.sh.template @@ -10,6 +10,7 @@ # COMPUTE RESOURCES #------------------------------------------------ # Total cores must be divisible by 6 + TOTAL_CORES=${RUNDIR_NUM_CORES} NUM_NODES=${RUNDIR_NUM_NODES} NUM_CORES_PER_NODE=${RUNDIR_CORES_PER_NODE} @@ -17,7 +18,12 @@ NUM_CORES_PER_NODE=${RUNDIR_CORES_PER_NODE} #------------------------------------------------ # GRID RESOLUTION #------------------------------------------------ -# Integer representing number of grid cells per cubed-sphere face side +# Even integer representing number of grid cells per cubed-sphere face side +# +# NOTE: If using mass flux inputs then grid resolution must be evenly divisible +# by input mass flux resolution, or vice versa. Acceptable resolutions for GEOS-IT +# when using mass fluxes are therefore in set [10,30,90,180,360,540,720,etc] + CS_RES=${RUNDIR_CS_RES} #------------------------------------------------ @@ -30,6 +36,10 @@ CS_RES=${RUNDIR_CS_RES} # (4) STRETCH_FACTOR, TARGET_LAT, and TARGET_LON exactly match # the global attribute values of these parameters in the # initial restart file +# +# NOTE: Running with stretched grid requires using winds in advection. +# Create a new run directory to use winds if this one uses mass fluxes. + STRETCH_GRID=OFF STRETCH_FACTOR=2.0 TARGET_LAT=-45.0 @@ -39,12 +49,14 @@ TARGET_LON=170.0 # SIMULATION DURATION #------------------------------------------------ # Format is "YYYYMMDD HHmmSS". Example: "0000100 000000" for 1 month + Run_Duration="${RUNDIR_SIM_DUR_YYYYMMDD} ${RUNDIR_SIM_DUR_HHmmSS}" #------------------------------------------------------------ # GEOS-CHEM COMPONENTS #------------------------------------------------------------ # Sets values in geoschem_config.yml + Do_Chemistry=true Do_Advection=true Do_Cloud_Conv=true @@ -57,6 +69,8 @@ Do_WetDep=true # DIAGNOSTICS #--------------------------------------------------------------------- # Auto-update settings in HISTORY.rc for specific collections (enable with ON) +# NOTE: you must add new collections to the list below to auto-update them. + AutoUpdate_Diagnostics=OFF # Instructions to auto-update diagnostics @@ -67,7 +81,7 @@ AutoUpdate_Diagnostics=OFF # 3b. Set Diag_Duration for file write frequency, format "HHmmSS" # *Note that number of hours may exceed 2 digits, e.g. 744 for 744 hrs # 4. Edit Diag_Collections list to specify which collections to update -# + Diag_Monthly="${RUNDIR_HIST_MONTHLY_DIAG}" Diag_Frequency="${RUNDIR_HIST_TIME_AVG_FREQ}" Diag_Duration="${RUNDIR_HIST_TIME_AVG_DUR}" @@ -105,9 +119,6 @@ Diag_Collections=(SpeciesConc \ #------------------------------------------------------------ # MID-RUN CHECKPOINT FILES #------------------------------------------------------------ -Midrun_Checkpoint=OFF -Checkpoint_Freq=monthly - # Instructions for configuring restart output before end of run: # 1. Set Midrun_Checkpoint=ON # 2. Set Checkpoint_Freq to either monthly or a string of format HHmmss @@ -115,25 +126,70 @@ Checkpoint_Freq=monthly # More than 2 digits for hours is permitted, e.g. "1680000" for 7 days. # NOTE: Frequency of output will be measured from start date set in cap_restart. +Midrun_Checkpoint=OFF +Checkpoint_Freq=monthly + +#------------------------------------------------ +# REQUIRE ALL SPECIES IN INITIAL RESTART FILE +#------------------------------------------------ +# Set to 1 to require all species in restart; set to 0 to enable missing species. + +Require_Species_in_Restart=${RUNDIR_INITIAL_RESTART_SPECIES_REQUIRED} + ################################################################### # INFREQUENTLY CHANGED SETTINGS ################################################################### #------------------------------------------------ -# MODEL PHASE +# DOMAIN DECOMPOSITION #------------------------------------------------ -# FORWARD for forward model, ADJOINT for adjoint model -Model_Phase=FORWARD +# Enable auto-update of NX and NY based on core count by setting to ON. This +# will make NX by NY/6 as square as possible to reduce communication overhead +# in GCHP. Only disable this feature if using mass fluxes. -#------------------------------------------------ -# REQUIRE ALL SPECIES IN INITIAL RESTART FILE -#------------------------------------------------ -Require_Species_in_Restart=${RUNDIR_INITIAL_RESTART_SPECIES_REQUIRED} +AutoUpdate_NXNY=ON + +# Specify NX and NY below if not auto-updating. Otherwise leave blank. See rules below. + +NX= +NY= + +# Cores are distributed across each of the six cubed sphere faces using +# configurable parameters NX and NY. Each face is divided into NX by NY/6 +# regions and each of those regions is processed by a single core +# independent of which node it belongs to. +# +# Rules and tips for setting NX and NY manually: +# 1. NY must be an integer and a multiple of 6 +# 2. NX*NY must equal total number of cores (NUM_NODES*NUM_CORES_PER_NODE) +# 3. NX and NY should be as close to equal as possible (maximize squareness) +# Good examples: (NX=4,NY=24) -> 96 cores at 4x4 +# (NX=6,NY=24) -> 144 cores at 6x4 +# Bad examples: (NX=8,NY=12) -> 96 cores at 8x2 +# (NX=12,NY=12) -> 144 cores at 12x2 +# 4. Domain decomposition requires that CS_RES/NX >= 4 and CS_RES*6/NY >= 4, +# which puts an upper limit on total cores per grid resolution. +# c24: 216 cores (NX=6, NY=36 ) +# c48: 864 cores (NX=12, NY=72 ) +# c90: 3174 cores (NX=22, NY=132) +# c180: 12150 cores (NX=45, NY=270) +# c360: 48600 cores (NX=90, NY=540) +# Using fewer cores may still trigger a domain decomposition error, e.g.: +# c48: 768 cores (NX=16, NY=48) --> 48/16=3 will trigger FV3 error +# 5. If using mass flux inputs then both native mass flux resolution and model +# run resolution must be evenly divisible by both NX and NY/6. +# Example of C180 fluxes (e.g. GEOS-IT) run at C90: +# 96 cores, NX=4, NY/6=4 -> fail (90/4=22.5) +# 150 cores, NX=5, NY/6=5 -> success (180/5=36, 90/5=18) +# 216 cores, NX=6, NY/6=6 -> success (180/6=30, 90/6=15) +# 384 cores, NX=8, NY/6=8 -> fail (180/8=22.5) #------------------------------------------------ # TIMESTEPS #------------------------------------------------ -# Timesteps in GCHP are resolution-dependent +# Non-RRTMG timesteps in GCHP are resolution-dependent. +# Stretched grid timesteps are set based on the high-resolution region. + CS_RES_EFFECTIVE=${CS_RES} if [[ ${STRETCH_GRID} == 'ON' ]]; then CS_RES_EFFECTIVE=$( echo $CS_RES $STRETCH_FACTOR | awk '{printf "%.0f",$1*$2}' ) @@ -155,6 +211,7 @@ RRTMG_Timestep_sec=10800 # Mass tuning factor is used in the HEMCO DustDead extenstion for GEOS-Chem # benchmarking and is resolution-dependent. We recommend using offline dust # instead of the online extension for GCHP science runs. + dustEntry=$(grep "105.*DustDead" HEMCO_Config.rc || echo "missing") if [[ ${dustEntry} != "missing" ]]; then dustSetting=(${dustEntry// / }) @@ -188,6 +245,7 @@ fi # Mass tuning factor is used in the HEMCO DustDead extenstion for GEOS-Chem # benchmarking and is resolution-dependent. We recommend using offline dust # instead of the online extension for GCHP science runs. + TomasDustEntry=$(grep "131.*TOMAS_DustDead" HEMCO_Config.rc || echo "missing") if [[ ${TomasDustEntry} != "missing" ]]; then TomasDustSetting=(${TomasDustEntry// / }) @@ -213,39 +271,13 @@ if [[ ${TomasDustEntry} != "missing" ]]; then fi fi fi + #------------------------------------------------ -# DOMAIN DECOMPOSITION +# MODEL PHASE #------------------------------------------------ -# Enable auto-update of NX and NY based on core count by setting to ON. This -# will make NX by NY/6 as square as possible to reduce communication overhead -# in GCHP. -AutoUpdate_NXNY=ON +# FORWARD for forward model, ADJOINT for adjoint model -# Specify NX and NY if not auto-updating. See rules below. -NX= -NY= -# Cores are distributed across each of the six cubed sphere faces using -# configurable parameters NX and NY. Each face is divided into NX by NY/6 -# regions and each of those regions is processed by a single core -# independent of which node it belongs to. -# -# Rules and tips for setting NX and NY manually: -# 1. NY must be an integer and a multiple of 6 -# 2. NX*NY must equal total number of cores (NUM_NODES*NUM_CORES_PER_NODE) -# -# Good examples: (NX=4,NY=24) -> 96 cores at 4x4 -# (NX=6,NY=24) -> 144 cores at 6x4 -# Bad examples: (NX=8,NY=12) -> 96 cores at 8x2 -# (NX=12,NY=12) -> 144 cores at 12x2 -# 4. Domain decomposition requires that CS_RES/NX >= 4 and CS_RES*6/NY >= 4, -# which puts an upper limit on total cores per grid resolution. -# c24: 216 cores (NX=6, NY=36 ) -# c48: 864 cores (NX=12, NY=72 ) -# c90: 3174 cores (NX=22, NY=132) -# c180: 12150 cores (NX=45, NY=270) -# c360: 48600 cores (NX=90, NY=540) -# Using fewer cores may still trigger a domain decomposition error, e.g.: -# c48: 768 cores (NX=16, NY=48) --> 48/16=3 will trigger FV3 error +Model_Phase=FORWARD ############################### @@ -303,6 +335,13 @@ if (( ${NY}%6 != 0 )); then exit 1 fi +#### Check grid resolution +if (( (${CS_RES}) % 2 != 0 )); then + echo "ERROR: Cubed-sphere face does not have even number of grid cells per side. Update grid resolution in setCommonRunSettings.sh to be an even number." + exit 1 +fi + + #### Check that domain decomposition will not trigger a FV3 domain error if [[ $(( ${CS_RES}/${NX} )) -lt 4 || $(( ${CS_RES}*6/${NY} )) -lt 4 ]]; then echo "ERROR: NX and NY are set such that face side length divided by NX or NY/6 is less than 4. The cubed sphere compute domain has a minimum requirement of 4 points in NX and NY/6. This problem occurs when grid resolution is too low for core count requested. Edit setCommonRunSettings.sh to loower total number of cores or increase your grid resolution." @@ -345,6 +384,44 @@ if [[ ${STRETCH_GRID} == 'ON' ]]; then fi fi +#### Mass flux checks for grid resolution and domain decomposition +MassFlux_Entry=$(grep "MFXC" ExtData.rc || echo "missing") +if [[ ${MassFluxEntry} != "missing" ]]; then + + #### Get met grid res (assume GEOS-IT and GEOS-FP are the only options) + C180_Entry=$(grep "MFXC.*C180x180x6" ExtData.rc || echo "missing") + if [[ ${C180_Entry} != "missing" ]]; then + input_res=180 + else + input_res=720 + fi + if (( ${CS_RES} < ${input_res} )); then + lowest_res=${CS_RES} + highest_res=${input_res} + else + lowest_res=${input_res} + highest_res=${CS_RES} + fi + + #### Check that not using stretched grid + if [[ ${STRETCH_GRID} == 'ON' ]]; then + echo "ERROR: Do not use stretched grid when using mass flux inputs. Create a winds run directory for stretched grid simulations." + exit 1 + fi + + #### Check that input and grid resolutions are evenly divisible + if (( (${highest_res}) % (${lowest_res}) != 0 )); then + echo "ERROR: Mass flux input resolution and run grid resolution must be evenly divisible. Input resolution is ${input_res} but grid resolution is ${CS_RES}." + exit 1 + fi + + #### Check that grid/run resolutions are evenly divisible by NX and NY/6 + if (( ${lowest_res} % ${NX} != 0 || ${lowest_res} % (${NY}/6) != 0 )); then + echo "ERROR: Input and run resolutions must divide evenly by NX and NY/6 when using mass flux inputs. Manually set NX and NY in setCommonRunSettings.sh for your simulation. Current settings are input resolution ${input_res}, grid resolution ${CS_RES}, NX ${NX} and NY ${NY}." + exit 1 + fi +fi + ########################################## #### DEFINE FUNCTIONS TO UPDATE FILES ########################################## @@ -449,10 +526,11 @@ comment_line() { update_dyn_freq() { # String to search for - str="^[\t ]*$1.*MetDir" + str="^[\t ]*$1*[\t ]" # Check number of matches where first string is start of line, allowing for - # whitespace. # matches should be one; otherwise exit with an error. + # whitespace before and require whitespace after. # matches should be one; + # otherwise exit with an error. numlines=$(grep -c "$str" $2) if [[ ${numlines} == "0" ]]; then echo "ERROR: met-field $1 missing in $2" @@ -498,15 +576,6 @@ replace_val NX ${NX} GCHP.rc replace_val NY ${NY} GCHP.rc replace_val CoresPerNode ${NUM_CORES_PER_NODE} HISTORY.rc -#### If # cores exceeds 1000 then write restart via o-server -if [ ${TOTAL_CORES} -ge 1000 ]; then - print_msg "WARNING: write restarts by o-server is enabled since >=1000 cores" - replace_val WRITE_RESTART_BY_OSERVER YES GCHP.rc -else - print_msg "WARNING: write restarts by o-server is disabled since <1000 cores" - replace_val WRITE_RESTART_BY_OSERVER NO GCHP.rc -fi - ### Make sure adjoint diagnostics (if present) are commented out if using ### forward model, and uncommented if using adjoint. if [[ ${Model_Phase} == "FORWARD" ]]; then @@ -706,3 +775,5 @@ fi #### Done print_msg " " +print_msg "setCommonRunSettings.sh done" +print_msg " " diff --git a/run/shared/setupConfigFiles.sh b/run/shared/setupConfigFiles.sh index 0deeda069..1db10b6f1 100755 --- a/run/shared/setupConfigFiles.sh +++ b/run/shared/setupConfigFiles.sh @@ -156,8 +156,8 @@ function set_common_settings() { [[ ${sim_extra_option} =~ "complexSOA" ]] || \ [[ "x${sim_extra_option}" == "xAPM" ]]; then - # Add complex SOA species ASOA* and ASOG* following ALK4 - prev_line=' - ALK4' + # Add complex SOA species ASOA* and ASOG* following AROMP5 + prev_line=' - AROMP5' new_line='\ - ASOA1\ - ASOA2\ - ASOA3\