CTSM warm start coupling with single column mode. New ne3np4 boundary data for use with SCAM-SE.
Description:
These updates allow CTSM to run in a warm start configuration, allowing interpolation of spun up initial conditions to a single column when running in SCAM mode. These mods are also compatible with the SE grid and also include new defaults for low resolution spectral element (ne3np4) boundary data.
Specific notes:
With the addition of initial condition interpolation CTSM needs access to the original grid in addition to the single column target of the interpolation. A flag and code was added to the interpolation subroutines to interpolate IC data on the CTSM array of nested input grids to a single column when running in single column mode. These mods allow a single column land simulation in a coupled configuration over an arbitrary column of the global grid.
Contributors other than yourself, if any: None.
CTSM Issues Fixed (include github issue #):
#1362
Are answers expected to change (and if so in what way)? No - This is new functionality
Any User Interface Changes (namelist or namelist defaults changes)? Namelist default addition of new ne3np4 boundary data for use with SCAM running the spectral element dycore.
Testing performed, if any: CAM regression testing with active land all pass comparison to baseline showing these code mods do not affect answers. CAM has a regression test for checking bit for bit reproducibility between a base 3d run of CAM against a single column run made with forcing captured from the base run. CTSM is an active component of these tests and exercises IC interpolation which demonstrates that the changes work as expected. These tests are run on Izumi and Derecho under the standard supported compilers.
Tasks to finish:
- [ ] #2835 gets merged to the cesm cleanup branch
- [ ] This needs to be rebased to the same branch
- [ ] Add some restart tests for PTSMODE to the test list (remove one SMS test and upgrade to ERS, add a ERI test as well)
Thanks for opening this PR, @jtruesdal. This doesn't seem like a ton of code changes on the CLM side. Hopefully we can merge this relatively easily. Let's discuss this in our next SE meeting @ekluzek and decide who can look at this.
@ekluzek @wwieder Just Checking in any timeframe for review?
@jtruesdal thanks for the ping, appreciate it. We are working hard before the LMWG meeting next week on other things. So this will need to wait until after that. I've added our "next" label to make sure we talk about it in our next CTSM SE meeting. I skimmed over this, and there's enough that I need to comment on that I'll wait for later to do a full review. We are also working on a system of 2 week cycles (or sprints) for our planning. So we should review it in the next sprint, and at least give you an idea of what sprint this will slide into for your planning.
We had some PTSMODE tests that test SCAM for standalone CTSM previously (and with this coming in we should add more), but in looking at the latest code they must have been removed (accidentally I would guess). So we need to add those back in and also add some more testing for this in I cases. Since, this would be adding in new tests, that would mean this is a b4b task, and we might move it to the b4b-dev branch which should facilitate it getting to that branch sooner. But, I'm going to confirm that with my full review.
Discussed at CTSM SE meeting today. Can't work on this now; @ekluzek and @wwieder to discuss.
@jtruesdal sorry we haven't got to this in a long time. We figure this is a post science capability/functionality "chill" deadline thing and will get back to it after we are done with that deadline.