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
164 stars 156 forks source link

[FEATURE REQUEST] Read and allocate state_met fields based on simulation and components on #499

Open lizziel opened 3 years ago

lizziel commented 3 years ago

This feature request replaces prior feature request https://github.com/geoschem/geos-chem/issues/91 which mainly concerned the CH4 and tagged CH4 simulations. This feature request is more generic, to reduce memory and increase speed of the model by reading meteorology fields and allocating State_met variables based on what is needed for the simulation type and components being run. This should be done for both GEOS-Chem Classic and GCHP, and the implementations for each will be slightly different.

msulprizio commented 3 years ago

For GEOS-Chem Classic, we already did this for met fields needed for the lightning NOx extension (see https://github.com/geoschem/geos-chem/issues/279). We may be able use what was done there and extend it to other GEOS-Chem options, HEMCO options, or simulation types.

lizziel commented 3 years ago

A note for GCHP implementation of this feature request: to selectively read met fields based on simulation type there will need to be changes made to file geos-chem/Interfaces/GCHP/Registry/Chem_Registry.rc. I believe it would need to be at compile time, but that should be checked. That file lists all met-fields that are read by MAPL ExtData as imports. Anything listed there will be read and requires an entry in ExtData.rc.

Currently we have a single fixed Chem_Registry.rc for all simulations. It includes lightning flash rates and convective cloud top depth, both of which are part of the OFFLINE_LIGHTNING inventory. For this reason those fields are included in the transport tracer ExtData.rc despite not being used. I was going to delete those fields from the file to clean up for the 13.0.0 release but then realized that would cause the simulation to crash since they are also listed in Chem_Registry.rc. That issue can be addressed with this feature request.

lizziel commented 1 year ago

I am revisiting this issue because @christophkeller reported that State_Met%ALBD is only used for RRTMG and APM. However, we read it and store it in all simulations.