Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revamp HISTORY.rc template and process_hist.csh #129

Open
gmao-rreichle opened this issue Feb 25, 2020 · 5 comments
Open

Revamp HISTORY.rc template and process_hist.csh #129

gmao-rreichle opened this issue Feb 25, 2020 · 5 comments
Assignees
Labels
0-diff cleanup documentation Improvements or additions to documentation

Comments

@gmao-rreichle
Copy link
Contributor

@smahanam @weiyuan-jiang

I'm writing up this issue for later, after we have dealt with the SLES12 etc merger and released a new beta tag.

GEOSldas_HIST.rc (after process_hist.csh) leaves the user without a reasonably complete HISTORY.rc file that contains definitions for all available standard output collections.

The current work flow is oriented toward (i) setting up the nightly test cases and (ii) helping the user with defining output collections that change depending on whether Catchment or CatchmentCN is used.

An alternative approach for (i) would be to provide separate HISTORY.rc files for the nightly test cases (similar to the HISTORY.rc files that are specific to MERRA-2, FP, etc in the AGCM), and to have one "primary" HISTORY.rc.tmpl (template) file that contains definitions for all standard collections, with users just uncommenting the ones that they want to write. Or, alternatively, process_hist.csh could keep everything, with or without comments as desired for the test case.

Re. (ii), we could either define entirely new collections that are specific to CatchmentCN, or we could keep the existing model of having a script (process_hist.csh) that generates a HISTORY.rc.tmpl file specific to either Catchment or CatchmentCN, depending on the model choice in LDAS.rc. The latter approach would be better if the plan is to add all the carbon-related variables into the "lnd" collection in future FP or reanalysis products that use CatchmentCN. But it's not clear that this would indeed be the best approach. A separate "land carbon" collection may be preferable. In any case, this can also be decided later.

Unfortunately, GEOSldas presents additional complications:

  1. If running on EASE tiles, only tile-space output is available. (Is this still true with MAPL-2?) This could be addressed with comments in HISTORY.rc or through process_hist.csh

  2. The "GridComp" name isn't always obvious. E.g., TSOIL output needs to come from the ENSAVG GridComp so that it is in the desired Kelvin units, even if we're running a single-member, model-only simulation without perturbation (see also soil (and snow?) temperatures in units of Kelvin throughout ; do not write TSURF into "offline" catch restarts #114).

For now, I think we should change GEOSldas_HIST.rc and process_hist.csh such that the resulting HISTORY.rc file contains the full set of collection definition, along with a set of often-used GEOS DC/PC lat/long grids (at least 576-by-361 and 1152-by-721), without having process_hist.csh remove any collections or gridlabels. This will make it easier for the user to edit HISTORY.rc.

@smahanam
Copy link

@gmao-rreichle, you have the long term plan for GEOSldas and the only only one who knows every aspect. I am just giving you another line to think:
We have the below entry in GEOSldas_CAP.rc - we can play with HIST_CF: to set the right collections for special cases like nightly tests. (I think nightly test uses a different script that Matt has, if so, we can modify Matt's script, I don't know).

MAPLROOT_COMPNAME: GEOSldas
ROOT_NAME: GEOSldas
ROOT_CF: LDAS.rc
HIST_CF: HISTORY.rc

@saraqzhang
Copy link
Contributor

the "lnd" collection has different names for TSOIL: TP1 from CATCH or TSOIL1TILE from ENSAVG. Current develop branch generates history.rc lnd collection with 'TP1' , 'ENSAVG' ,... . that requires user to correct those names before running ensemble or assimilation. appropriate name choice should be built in the procedure of generating history.rc

@gmao-rreichle
Copy link
Contributor Author

@smahanam @saraqzhang : Thanks for your input, which is much appreciated.

The units of TPx and TSOILx are a concern, see issue #114 . I'm not sure yet about the best way to address this. One obstacle is that the "ENSAVG" GridComp is not fully functional for CatchCN, and using "TSOILTILEx" from "ENSAVG" (and renaming it to "TSOILx") probably only works for Catch. Probably the best solution is to change the GCM Grid Comp and have all TPx and TSOILx variables outside of subroutine catchment() in units of Kelvin, as suggested in #114 . The downside is that we do not control the GCM Grid Comp and it will take time to get changes into their develop branch.

Other desirable edits related to this issue:

@gmao-rreichle gmao-rreichle added 0-diff cleanup documentation Improvements or additions to documentation labels May 2, 2020
@gmao-rreichle
Copy link
Contributor Author

gmao-rreichle commented May 2, 2020

Additional task: Create Wiki page about HISTORY options. Pull relevant information from GEOSldas tutorial. See also #206.

@gmao-rreichle
Copy link
Contributor Author

On 4 May 2020, @gmao-rreichle received email from @smahanam below.
@gmao-rreichle copied files mentioned in email to /discover/home/rreichle/Sarith_HISTORYrcFiles/


From: Sarith Mahanama sarith.mahanama@ssaihq.com
Mon 04-May-20 7:31 AM

[...]

I modified process_rst.csh [process_hist.csh??] and GEOSldas_HIST.rc a while ago and used ldas_setup create a series of HISTORY.rc files for different combinations.
From my own experience as an user, more often when I run CF experiments, I would like to write few variables in tile-space, so I add a collection my own since GEOSldas by default produce CF output in 2D space. For this, all I need is a tile-space example in HISTORY.rc which I usually take from an EASE experiment. I thought adding a sample tile-space collection to CF and leave it commented, but I saw this catch_progn_incr is available for all combinations, that example helps.

Please take a look at below HISTORY files and see the new format is cleaner than the current version. The modified process_rst.csh and GEOSldas_HIST.rc are also at the same place, you will see they can be cleaned up a bit.

(1)
LSM_CHOICE: 1
GRIDNAME: SMAP-EASEv2-M36
AEROSOL_DEPOSITION: 0
RUN_IRRIG: 0
LAND_ASSIM: NO
PERTURBATIONS: 0
/discover/nobackup/smahanam/HISTORY.1.rc

(2)
LSM_CHOICE: 1
GRIDNAME: SMAP-EASEv2-M36
AEROSOL_DEPOSITION: 1
RUN_IRRIG: 1
LAND_ASSIM: NO
PERTURBATIONS: 0
/discover/nobackup/smahanam/HISTORY.2.rc

(3)
LSM_CHOICE: 2
GRIDNAME: SMAP-EASEv2-M36
AEROSOL_DEPOSITION: 1
RUN_IRRIG: 1
LAND_ASSIM: NO
PERTURBATIONS: 0
/discover/nobackup/smahanam/HISTORY.3.rc

(4)
LSM_CHOICE: 2
GRIDNAME: PE12x72-CF
AEROSOL_DEPOSITION: 1
RUN_IRRIG: 1
LAND_ASSIM: NO
PERTURBATIONS: 0
/discover/nobackup/smahanam/HISTORY.4.rc

(5)
LSM_CHOICE: 1
GRIDNAME: SMAP-EASEv2-M09
AEROSOL_DEPOSITION: 0
RUN_IRRIG: 0
LAND_ASSIM: YES
PERTURBATIONS: 0
/discover/nobackup/smahanam/HISTORY.5.rc

(6)
LSM_CHOICE: 1
GRIDNAME: SMAP-EASEv2-M09
AEROSOL_DEPOSITION: 0
RUN_IRRIG: 0
LAND_ASSIM: YES
PERTURBATIONS: 1
/discover/nobackup/smahanam/HISTORY.6.rc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0-diff cleanup documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

4 participants