geoschem / geos-chem

GEOS-Chem "Science Codebase" repository. Contains GEOS-Chem science routines, run directory generation scripts, and interface code. This repository is used as a submodule within the GCClassic and GCHP wrappers, as well as in other modeling contexts (external ESMs).
http://geos-chem.org
Other
167 stars 160 forks source link

Error with GCv14.4.3 TOMAS15- Cannot get field SPC_ACET #2496

Closed reginaluu closed 1 day ago

reginaluu commented 5 days ago

Your name

Regina Luu

Your affiliation

University of California, Irvine

What happened? What did you expect to happen?

Hello,

I am currently trying to run a GEOS-Chem v14.4.3 TOMAS simulation starting in 20180101. I used the restart file from my dry run and renamed the file to match the simulation interval while also changing the set time and set date in the file. I also changed the time cycle flags for the restart file fields to CS and C. I keep encountering the same error:

HEMCO ERROR: Cannot find file for current simulation time: ./Restarts/GEOSChem.Restart.20180101_0000z.nc4 - Cannot get field SPC_ACET. Please check file name and time (incl. time range flag) in the config. File

This was unexpected as the file name and time in the config file seem correct.

What are the steps to reproduce the bug?

  1. Set simulation interval from 20180101 to 20180201
  2. active_Strat_H2O false
  3. The transport time step: 600, chemistry: 1200
  4. Used /ExtData/GEOSCHEM_RESTARTS/v2021-12/GEOSChem.Restart.TOMAS15.20190701_0000z.nc4 as restart file and renamed to match config file as well as changing the set time and date

Please attach any relevant configuration and log files.

GC.log geoschem_config.txt HEMCO.log HEMCO_Config.txt HISTORY.txt log.dryrun.unique.txt summarize_build.txt

What GEOS-Chem version were you using?

14.4.3

What environment were you running GEOS-Chem on?

Local cluster

What compiler and version were you using?

cmake 3.17.5

Will you be addressing this bug yourself?

No

In what configuration were you running GEOS-Chem?

GCClassic

What simulation were you running?

Full chemistry

As what resolution were you running GEOS-Chem?

4x5

What meterology fields did you use?

MERRA-2

Additional information

Full chemistry extra option: TOMAS15

yantosca commented 5 days ago

Thanks for writing @reginaluu and nice to hear from you again. I think the issue is that you are trying to start a simulation for 20180101 00:00 but the default TOMAS restart file has a timestamp of 20190701 00:00 .

GEOS-Chem Classic simulations are designed to fail with the Cannot find file for current simulation time error if the starting date of the simulation doesn't match the timestamp in the restart file. This was a request by the GEOS-Chem Steering Committee, in order to prevent simulations from starting with the "wrong" restart file (which could lead to confusion and wasted runs).

You can fix this by resetting the time cycle flag for the SPC_ entry in HEMCO_Config.rc from EFYO to CYS (or even EY should work too). That will tell HEMCO to ignore the timestamp restriction and to read the file anyway. This is common practice for when you are starting from a dry-run and need to spin up your simulation. We take the restart files from our 1-year benchmarks which are run for the year 2019. So the dry-run wouldn't be able to pick up a restart file for 2018.

Also see this documentation on our ReadTheDocs which explains it in a bit more detail:

reginaluu commented 5 days ago

Hi Bob,

I tried resetting the time cycle flag to CYS but I am still running into the same error. Perhaps I am missing something else? HEMCO.log HEMCO_Config.txt GC.log

yantosca commented 2 days ago

Hi @reginaluu, I took a look at your HEMCO_Config.rc file. I noticed that you have CY but not CYS. The S tells HEMCO to skip species not found in the restart file. So I would try this:

(((GC_RESTART
* SPC_           ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 SpeciesRst_?ALL?    $YYYY/$MM/$DD/$HH CYS  xyz 1 * - 1 1
* DELPDRY        ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Met_DELPDRY         $YYYY/$MM/$DD/$HH CYS  xyz 1 * - 1 1
* KPP_HVALUE     ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_KPPHvalue      $YYYY/$MM/$DD/$HH CYS  xyz 1 * - 1 1
* WETDEP_N       ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_WetDepNitrogen $YYYY/$MM/$DD/$HH CYS  xy  1 * - 1 1
* DRYDEP_N       ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_DryDepNitrogen $YYYY/$MM/$DD/$HH CYS  xy  1 * - 1 1
* SO2_AFTERCHEM  ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_SO2AfterChem   $YYYY/$MM/$DD/$HH CYS  xyz 1 * - 1 1
* H2O2_AFTERCHEM ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_H2O2AfterChem  $YYYY/$MM/$DD/$HH CYS  xyz 1 * - 1 1
* AEROH2O_SNA    ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_AeroH2OSNA     $YYYY/$MM/$DD/$HH CYS  xyz 1 * - 1 1
* ORVCSESQ       ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_ORVCSESQ       $YYYY/$MM/$DD/$HH CYS  xyz 1 * - 1 1
* JOH            ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_JOH            $YYYY/$MM/$DD/$HH CYS  xy  1 * - 1 1
* JNO2           ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_JNO2           $YYYY/$MM/$DD/$HH CYS  xy  1 * - 1 1
* STATE_PSC      ./Restarts/GEOSChem.Restart.$YYYY$MM$DD_$HH$MNz.nc4 Chem_StatePSC       $YYYY/$MM/$DD/$HH CYS  xyz count * - 1 1
)))GC_RESTART
reginaluu commented 1 day ago

Thank you! This solution worked for me!