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).
Both GC-Classics and GCHP are not able to conserve mass upon restart.
@lizziel:
Initial global mass change upon startup and then stabilizes. Mass conservation is better after a short spin-up period. Issues with unit conversion during restart handling? In theory, passive tracer mass in restart should be conserved upon startup and across a run.
This could be the result of not properly scaling mixing ratios based on DELP_DRY_RESTART and DELP_DRY_MET.
Mixing ratios should be scaled based on scaled_MR = MR_restart * DELP_DRY_RESTART / DELP_DRY_MET when everything is first read into the model. Then all processes including transport, convection, and chemistry, etc can be executed.
It is recommended to either move Get_Met_Fields after Get_GC_Restart or move the reading of DELP_DRY_RESTART into Get_GC_Restart and complete the AirQnt-update_mixing_ratio there.
GCHP
GCHP advection is executed before geos-chem module, so it would be necessary to read DELP_DRY_RESTART in ChemComp Initialization state and do the scaling before AdvComp Run state.
Your name
Yuanjian Zhang
Your affiliation
WashU
What happened? What did you expect to happen?
Both GC-Classics and GCHP are not able to conserve mass upon restart.
@lizziel:
Also, see https://github.com/geoschem/geos-chem/issues/2014 and @lizziel's work for bit-of-bit reproducibility in https://github.com/geoschem/geos-chem/pull/2521
This could be the result of not properly scaling mixing ratios based on DELP_DRY_RESTART and DELP_DRY_MET.
Mixing ratios should be scaled based on
scaled_MR = MR_restart * DELP_DRY_RESTART / DELP_DRY_MET
when everything is first read into the model. Then all processes including transport, convection, and chemistry, etc can be executed.GC-Classics
https://github.com/geoschem/geos-chem/blob/bef56c605e018eecbd91646a51ce82c7cd77f56a/GeosCore/hco_interface_gc_mod.F90#L4415-L4419 Currently, the above snippet in
Get_Met_Fields
is not updating mixing ratios sinceGet_Met_Fields
is right beforeGet_GC_Restart
: https://github.com/geoschem/geos-chem/blob/bef56c605e018eecbd91646a51ce82c7cd77f56a/GeosCore/hco_interface_gc_mod.F90#L1010-L1033It is recommended to either move
Get_Met_Fields
afterGet_GC_Restart
or move the reading ofDELP_DRY_RESTART
intoGet_GC_Restart
and complete the AirQnt-update_mixing_ratio there.GCHP
GCHP advection is executed before geos-chem module, so it would be necessary to read DELP_DRY_RESTART in ChemComp Initialization state and do the scaling before AdvComp Run state.