Closed JiaweiZhuang closed 3 years ago
Another potential bottleneck in CH4 simulations is that, some OpenMP loops parallelize over tracers, for example in advection solver:
but there is only one tracer in CH4 simulation, so this loop is not parallelizable.
If the use case is to run ensembles of CH4 simulations, it would be useful to define tens or hundreds of "tagged CH4" tracers, each behave independently but can share the same I/O time and allow more parallelization. From this CH4 species table, maybe such multi-tracer capability is already available?
We used to have a tagged-CH4 simulation capability. In that case you would be looping over multiple CH4 tracers. I am not sure if this tagCH4 simulation is still supported (or if it has been broken by recent updates). Worst to worst, we could remove the OMP commands there.
We used to have a tagged-CH4 simulation capability. In that case you would be looping over multiple CH4 tracers. I am not sure if this tagCH4 simulation is still supported (or if it has been broken by recent updates). Worst to worst, we could remove the OMP commands there.
The tagCH4 capability is still working in GEOS-Chem 12. We include a 4x5_tagCH4 run directory in the unit tester.
In https://github.com/geoschem/geos-chem/issues/279, Lee Murray wrote:
There are quite a few met fields that are never used by GEOS-Chem, e.g., the SEAICE{01..90} fields are only used by the Hg simulation, and some are just read in to be re-written as diagnostic output. It would be more generic if GEOS-Chem had the feature to ignore any met field specified in HEMCO_Config.rc with /dev/null, as I believe GCHP allows? Since the speciality simulations that do not use lightning NOx don't call the lightning NOx extension, it doesn't matter what is in the lightning flash State_Met field. This would facilitate coupling with met fields from other external GCMs/CCMs as well.
I am closing this issue. See new feature request https://github.com/geoschem/geos-chem/issues/499 for a more generic request for memory reduction and model speed increase via restriction of met-field read and State_Met allocation for both GEOS-Chem Classic and GCHP.
I notice that CH4 simulations spend ~50% of time on HEMCO I/O, for both global and nested settings.
Here's 1-month global 4x5 timing:
Here's 1-month nested NA 0.25x0.3125 timing:
The transport & PBL mixing calculation is so fast, so most time is just waiting for the slow I/O. From the List of GEOS-FP met fields, it seems to me that most of metfields are not needed by CH4-only simulation. Just need to keep the met variables associated with "CH4 simulation", "Advection" and "PBL mixing".
Is it possible to skip the reading of unused met variables via FlexGrid? How much speed-up can we expect? If the real bottleneck is opening & closing files, I can also merge the actually-used variables into a single file.