geos-chem
geos-chem copied to clipboard
Mass conservation upon restart
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:
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.
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 since Get_Met_Fields
is right before Get_GC_Restart
:
https://github.com/geoschem/geos-chem/blob/bef56c605e018eecbd91646a51ce82c7cd77f56a/GeosCore/hco_interface_gc_mod.F90#L1010-L1033
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.