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

add utility to generate warm-start files for MOM6 and CICE6; modify cpld_gridgen as required by new ocnice_prep utility (was #945) #942

Merged
merged 70 commits into from
Jun 14, 2024

Conversation

DeniseWorthen
Copy link
Contributor

@DeniseWorthen DeniseWorthen commented May 6, 2024

DESCRIPTION OF CHANGES:

Adds a new utility to down-scale MOM6 and CICE6 restarts from 1/4 deg tripole to a lower resolution, where they can be used as warm-start files.

TESTS CONDUCTED:

If there are changes to the build or source code, the tests below must be conducted. Contact a repository manager if you need assistance.

  • Compile branch on Hera using GNU. Currently, the head of 'develop' has a problem with the gnu build module. So, this test is being waived. There is no problem with the branch.
  • Compile branch in 'Debug' mode on WCOSS2. Done on Dogwood using cd7ba2d.
  • Run unit tests locally on any Tier 1 machine. Done on Dogwood using cd7ba2d.
  • Run cpld_gridgen and ocnice_prep consistency tests locally on all Tier 1 machines. Done on Orion using d07c282. Done on Dogwood, Hera, Jet and Hercules using cd7ba2d.

Describe any additional tests performed.

DEPENDENCIES:

A unit test testing the expected namelist and fields expected for ocean and ice has been added.
A simple regression test has been added which utilizes a staged copy of 1/4 deg ocean and ice ICs. These were obtained from the replay ICs staged on AWS https://noaa-ufs-gefsv13replay-pds.s3.amazonaws.com/2021/03/2021032206. The ice restart is renamed generically as ice.nc. The MOM restarts have been pre-processed using the following two NCO commands

ncks -v Temp,Salt,h,u MOM.res.nc ocean.nc
ncks -v v,sfc -A MOM.res_1.nc ocean.nc

DOCUMENTATION:

The code has been doxygenated and builds succesfully on hera. A basic description of the utility has also been added in the sorc/ocnice_prep.fd/docs.

Documentation for cpld_gridgen has also been updated to include a figure showing the tripole grid and to clarify the two types of weights produce: postitional weights (e.g. Cu->Ct) and mapping weights (e.g. tripole 1/4deg->rect 1/4 deg)

ISSUE:

@DeniseWorthen
Copy link
Contributor Author

@GeorgeGayno-NOAA I've added documentation and unit test. The test checks for invalid settings in either the nml or csv file that the code uses. At this point I need to start thinking about how to add a regression test for this utility. Minsuk created the testing framework for cpld_gridgen for me---this isn't really my expertise. Do you have any suggestions for how to proceed w/ adding a regression testing framework?

@GeorgeGayno-NOAA GeorgeGayno-NOAA self-requested a review May 9, 2024 12:02
@GeorgeGayno-NOAA
Copy link
Collaborator

@GeorgeGayno-NOAA I've added documentation and unit test. The test checks for invalid settings in either the nml or csv file that the code uses. At this point I need to start thinking about how to add a regression test for this utility. Minsuk created the testing framework for cpld_gridgen for me---this isn't really my expertise. Do you have any suggestions for how to proceed w/ adding a regression testing framework?

I can create the regression testing framework. Do you have the case(s) you want to run? Point me to the input data and a sample script.

@DeniseWorthen
Copy link
Contributor Author

@GeorgeGayno-NOAA If all the weights and input data have been staged, do you want me to create baselines for this PR?

@GeorgeGayno-NOAA
Copy link
Collaborator

@GeorgeGayno-NOAA If all the weights and input data have been staged, do you want me to create baselines for this PR?

The file whacker removed your weights files on WCOSS2 before I could host them. Sorry. Can you please regenerate?

You can create your baselines on the RDHPCS machines. Thanks.

@DeniseWorthen
Copy link
Contributor Author

@GeorgeGayno-NOAA Did you get the new weights files in place on jet? I'm getting a failure

FATAL ERROR: open: /lfs4/HFIP/hfv3gfs/emc.nemspara/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/050/tripole.mx050.Ct.to.Cu.bilinear.nc : No such file or directory

@DeniseWorthen
Copy link
Contributor Author

On WCOSS2, the new weights can be found at /lfs/h2/emc/stmp/denise.worthen/CPLD_GRIDGEN/rt_189836/

@GeorgeGayno-NOAA
Copy link
Collaborator

@GeorgeGayno-NOAA Did you get the new weights files in place on jet? I'm getting a failure

FATAL ERROR: open: /lfs4/HFIP/hfv3gfs/emc.nemspara/role.ufsutils/ufs_utils/reg_tests/cpld_gridgen/baseline_data/050/tripole.mx050.Ct.to.Cu.bilinear.nc : No such file or directory

Sorry. Try it now.

* use /work2 for cpld_grdgen and ocnprep on hercules. orion will
use /work
@DeniseWorthen
Copy link
Contributor Author

@GeorgeGayno-NOAA One thing I just noticed is that the RT, at least for cpld_gridgen and ocnice_prep both use the same stmp space on hercules and orion, so I switched both regtests to work2 for hercules.

Here are the ocnprep baselines:

jet: /lfs4/HFIP/h-nems/Denise.Worthen/OCNICE_PREP/BASELINE
hera: /scratch1/NCEPDEV/stmp4/Denise.Worthen/OCNICE_PREP/BASELINE
orion: /work/noaa/stmp/dworthen/OCNICE_PREP/BASELINE
hercules: /work2/noaa/stmp/dworthen/OCNICE_PREP/BASELINE
wcoss2: /lfs/h2/emc/stmp/denise.worthen/OCNICE_PREP/BASELINE

@GeorgeGayno-NOAA
Copy link
Collaborator

@GeorgeGayno-NOAA One thing I just noticed is that the RT, at least for cpld_gridgen and ocnice_prep both use the same stmp space on hercules and orion, so I switched both regtests to work2 for hercules.

Here are the ocnprep baselines:

jet: /lfs4/HFIP/h-nems/Denise.Worthen/OCNICE_PREP/BASELINE hera: /scratch1/NCEPDEV/stmp4/Denise.Worthen/OCNICE_PREP/BASELINE orion: /work/noaa/stmp/dworthen/OCNICE_PREP/BASELINE hercules: /work2/noaa/stmp/dworthen/OCNICE_PREP/BASELINE wcoss2: /lfs/h2/emc/stmp/denise.worthen/OCNICE_PREP/BASELINE

I hosted the baseline files in their official locations.

@DeniseWorthen
Copy link
Contributor Author

@GeorgeGayno-NOAA Everything is ready except for Jet. I'll need to wait until the issues w/ lfs4 are fixed.

* namelist is located in reg_tests/ocniceprep/parm
* remove MPI from CMakeLists.txt and hardwired outdir settings
 in cpld_gridgen and ocnice_prep RT scripts
@GeorgeGayno-NOAA
Copy link
Collaborator

@DeniseWorthen - one more thing before merging. The ./reg_tests/rt.sh script needs to be updated for the new test. I have made the update and tested on Hera. Please find it here: /scratch1/NCEPDEV/da/George.Gayno/ufs_utils.git/UFS_UTILS.denise/reg_tests

Copy link
Collaborator

@GeorgeGayno-NOAA GeorgeGayno-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Will merge.

@GeorgeGayno-NOAA GeorgeGayno-NOAA merged commit 1651c5c into ufs-community:develop Jun 14, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants