-
Notifications
You must be signed in to change notification settings - Fork 120
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
Standardize locations and directory names for staged input data #231
Comments
Related to ufs-community/regional_workflow#471. |
Thanks for writing up this issue in such a detailed manner. I think consolidating in this way would enhance ease of use going forward. We welcome others to chime in with concerns or suggestions. |
@mkavulich I am all for this reorganization:
The difficult part (I think) is that we share these directories with the global model, so they will have to do the same. @JacobCarley-NOAA is that correct? |
@gsketefian it is unclear to me how these fix files and directories are currently managed. On Cheyenne we are pointing to our own copies of the fix directories, so at least on that platform we are not uniform with how the global fix files are handled. On all platforms the fix subdirectories are the same, so it could be handled with a symbolic link on platforms where the global data is staged by the global group. But I don't know if this is the best way to go about it. |
In addition to the proposed changes above, I have also standardized the way that model input data is stored in its various subdirectories. The following text is also stored in a README file on disk in the input_model_data directory:
|
A few notes on model input data consolidation:
|
Description
We currently have a wide variety of directory names for storing static model input data for the UFS SRW, both static ("fix") input data for all cases, as well as pre-staged input and boundary condition data for workflow end-to-end (WE2E) tests. The variables that point to the various static and case-specific data, which are inhomogeneous across platforms, are:
We should standardize these across the tier-1 platforms, as this will provide many benefits:
In addition, we should maintain separate directories for "release" static data sets, which will ensure that changes on disk will not impact results for users of released code. Currently some platforms have implemented this for the v1.0 (e.g. /scratch2/BMC/det/UFS_SRW_App/v1p0/ on Hera) but it has not been done uniformly across platforms, and has not been done for all static/input data.
Solution
Here is the proposed solution:
Deprecate and remove the variables COMINgfs, TEST_COMINgfs because they duplicate the functionality of EXTRN_MDL_SOURCE_BASEDIR and TEST_EXTRN_MDL_SOURCE_BASEDIRThis naming convention (nowCOMIN
, see Variable forecast length broken when cycles start at later times. #743) is required by NCO standards, so will be left in for now.rename FIXLAM_NCO_BASEDIR to DOMAIN_PREGEN_BASEDIR (since these are domain-specific but not case-specific files, and they are not specific to NCO cases)
All static data for each tier 1 platform will be stored underneath the top-level "UFS_SRW_App" directory
Any static data that may change over time for different releases should be versioned in a subdirectory.
"Fix" files (generic static input) will be stored under a "fix" subdirectory (FIX_DIR)
DOMAIN_PREGEN_BASEDIR and TEST_PREGEN_BASEDIR will point to a "FV3LAM_pregen" subdirectory
TEST_EXTRN_MDL_SOURCE_BASEDIR will be stored under an "input_model_data" directory
Directories and/or files in develop or a release directory may be symbolic links pointing to a previous "release" directory (to avoid data duplication), but may not be the other way around (which may lead to changing of input for released code, and unexpected changing of results with the same code).
Alternatives
Suggestions are welcome; I'm not particularly tied to any one solution, we just need to converge on a single solution across platforms. In addition, if some of the "duplicate" variables I pointed out need to remain independent, let me know why and I can fit them into the above proposed heirarchy.
The text was updated successfully, but these errors were encountered: