geoschem / GCHP

The "superproject" wrapper repository for GCHP, the high-performance instance of the GEOS-Chem chemical-transport model.

Home Page:https://gchp.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Single column/grid subset mode?

ian-ross opened this issue · comments

Name and Institution (Required)

Name: Ian Ross
Institution: MIT (LAE)

Confirm you have reviewed the following documentation

New GCHP feature or discussion

Summary: Is there any way to run GCHP in a single column setup, or on a subset of the full cubed-sphere grid?

This is very much a niche question, but we (mostly @ShreyaSharma2023 with a little help from me) are working on coupling the MAM modal aerosol model to GCHP, and it seems as though it would be useful for development turnaround to be able to run GCHP in a single column mode. I've worked on GCM parameterizations in CESM before now, and there's a very nice single column version of the atmosphere model (https://www.cesm.ucar.edu/models/simple/scam) that's really helpful for this, since you can quickly run tests of your parameterization code within the full atmosphere code right there on your development laptop.

The changes related to MAM are probably going to touch a lot of processes within GCHP as we go on, and I'd like to understand early on what would be the best practices for doing this sort of development, so that we can move quickly without having to run a full global GCHP simulation every time we make changes.

From looking through the GCHP documentation and source, my guess is that there isn't a single column option. Am I missing something? And if not, are there any recommendations for how to speed up the develop/test cycle when working on GCHP? (Obviously, we may just have to deal with it as best we can. But it would be useful to know that up front so we can organize our work most effectively.)

Thanks!

HI @ian-ross, unfortunately no, there is not an option to run a single column or even a subregion of the globe. What you can do is run at very low resolution, for short periods of time, and with certain components and most (or all) emissions off. This will lighten the compute load and speed up the model for testing.

What are the specific timing and compute resource constraints you are running up against? When I develop with the full chemistry model the time to rebuild and rerun is very short (order of minutes). If you are not reaching that turnaround time then let me know what your settings are and I can try to help you speed things up.

Hi @lizziel, thanks for the information! I'm not yet at the point where I'm running into resource constraints (I'm really only just getting going with this), but I wanted to check that there wasn't a capability that I'd missed in the documentation. From what you say, we're not going to have a problem anyway — it sounds as though short times, low spatial resolution and managing the processes we have running will be enough to work efficiently. That's really helpful to know.

Just to check one thing: when you say "very low resolution", do you mean CS_RES = 24? That's the lowest resolution that seems to work in setCommonRunSettings.sh.

@ian-ross: Yes, c24 is the coarsest resolution possible. GCHP needs to use numbers of cores that are multiples of 6 (one core per cubed-sphere face).

@yantosca - one slight nuance: you can run at even lower resolutions, although you still need at least 6 cores (e.g. C12), as GMAO sometimes do this. However, we don't currently supply a restart file for that, and you'd definitely want to turn off transport. I'd say C24 is as coarse as you can go and still run a scientifically meaningful global simulation (and the transport will throw a hissy fit if the resolution is too low because you can't fill the halo).

@ian-ross, if for whatever reason you want to try to run at C6 or C12 there is guidance for creating a restart file on GCPy ReadTheDocs.

OK, that all sounds good to me. Thanks a lot!