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

Update gcycle to be able to read re-gridded GSI increment land files. #1010

Open
wants to merge 7 commits into
base: develop
Choose a base branch
from

Conversation

ClaraDraper-NOAA
Copy link
Contributor

DESCRIPTION OF CHANGES:

Generalized the reading in of land increments to be:

  1. soil increment OR snow increment file
  2. on the GSI output grid to be regridded within global_cycle OR on the native model grid

Native model grid files may come from JEDI, or be from GSI and been regridded using a separate program. The read routine will detect which.

Also, changed the number of soil levels to be updated from 3 to 2. This will change the test output for all tests adding soil increments.

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.

  • [ hera only - I don't have access to the others] Compile branch on all Tier 1 machines using Intel (Orion, Jet, Hera, Hercules and WCOSS2).
  • Compile branch on Hera using GNU.
  • Compile branch in 'Debug' mode on WCOSS2.
  • Run unit tests locally on any Tier 1 machine.
  • Run relevant consistency tests locally on all Tier 1 machines.

Optional test.

  • Run full set of chgres_cube consistency tests on Hera.

Describe any additional tests performed.

DEPENDENCIES:

None.

DOCUMENTATION:

ISSUE:

addresses issue 1008

@ClaraDraper-NOAA
Copy link
Contributor Author

@GeorgeGayno-NOAA Submitting this as a draft for now, while I do the tests. I'm not sure which are the unit tests and which are the consistency tests?

I'm currently running rt.sh, with all the tests commented out except global_cycle.
I expect it to be zero-diff without the lsoil_incr change in global_cycle.sh, so am checking that, then will change the lsoil_incr.
I'll check it compiles with gnu on hera.
What other test should I do? ( note: I don't have access to any machines other than hera and gaeia)

@GeorgeGayno-NOAA GeorgeGayno-NOAA self-requested a review December 16, 2024 17:48
@GeorgeGayno-NOAA
Copy link
Collaborator

@GeorgeGayno-NOAA Submitting this as a draft for now, while I do the tests. I'm not sure which are the unit tests and which are the consistency tests?

I'm currently running rt.sh, with all the tests commented out except global_cycle. I expect it to be zero-diff without the lsoil_incr change in global_cycle.sh, so am checking that, then will change the lsoil_incr. I'll check it compiles with gnu on hera. What other test should I do? ( note: I don't have access to any machines other than hera and gaeia)

The regression tests are in ./reg_tests/global_cycle. To run just the global_cycle test, you can invoke ./driver.hera.sh from the command line with no arguments. You don't need to bother with the ./rt.sh script.

The unit tests may be run by some slight modifications to the ./build_all.sh script:

 # The unit test data download is part of the build system. Not all machines can
 # access the EMC ftp site, so turn off the build (-DBUILD_TESTING=OFF) of the units tests accordingly.
 # Those with access to the EMC ftp site are: Orion and Hera.
-CMAKE_FLAGS+=" -DBUILD_TESTING=${BUILD_TESTING:-OFF}"
+CMAKE_FLAGS+=" -DBUILD_TESTING=${BUILD_TESTING:-ON}"

You may also need to update ./cmake/mpiexec.hera for an ACCOUNT you have access to.

@ClaraDraper-NOAA
Copy link
Contributor Author

All 5 consistency checks passed on hera.
Compiled with gnu on hera.

@ClaraDraper-NOAA
Copy link
Contributor Author

@GeorgeGayno-NOAA How do I confirm that the ctests passed. The first pass through, they didn't and I fixed it. build_all.sh compiled, but I can't find a report of the test results.

@GeorgeGayno-NOAA
Copy link
Collaborator

@GeorgeGayno-NOAA How do I confirm that the ctests passed. The first pass through, they didn't and I fixed it. build_all.sh compiled, but I can't find a report of the test results.

When I test your branch on Hera, I see one unit test failing:

      Start 26: global_cycle-ftst_read_increments
26/38 Test #26: global_cycle-ftst_read_increments ...........***Failed    3.74 sec

The test results will be in ./build/Testing/Temporary/LastTest.log. The test fails because of a missing file:

 FATAL ERROR: OPENING FILE: ./fnbgsi.001: No such file or directory
 STOP.

I can take a look.

@ClaraDraper-NOAA
Copy link
Contributor Author

@GeorgeGayno-NOAA Is that from standard out? I think I'm not actually running the tests. Let me follow up on that.

@GeorgeGayno-NOAA
Copy link
Collaborator

@GeorgeGayno-NOAA Is that from standard out? I think I'm not actually running the tests. Let me follow up on that.

That is the output from the build_all.sh script after setting BUILD_TESTING=ON and uncommenting 'ctest' at the bottom.

@ClaraDraper-NOAA
Copy link
Contributor Author

@GeorgeGayno-NOAA Is that from standard out? I think I'm not actually running the tests. Let me follow up on that.

That is the output from the build_all.sh script after setting BUILD_TESTING=ON and uncommenting 'ctest' at the bottom.

Just came here to say I found the ctest line! I'm running it now. I'll sort out the failing test.

@ClaraDraper-NOAA
Copy link
Contributor Author

I fixed it. The reg_tests and ctests pass on hera, and gnu compilation works on hera. Converting from a draft. Yuan Xue and Tseganeh Gichamo would be good reviewers.

@ClaraDraper-NOAA ClaraDraper-NOAA marked this pull request as ready for review December 18, 2024 15:05
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.

Do we need another regression test for a GSI case on the native grid?

ClaraDraper-NOAA added a commit to ClaraDraper-NOAA/global-workflow that referenced this pull request Dec 18, 2024
i) write out the ensemble mean reanalysis, and apply it to the deterministic member.
ii) replace UFS_UTILS regridding of Gaussian soil analysis to model grid with an external ESMF-based program (with appropriate land masking)

Requires:
sorc/gsi_enkf.fd develop after Tue Nov 12. Latest works.
sorc/gdas.cd/sorc/da-utils PR: NOAA-EMC/DA-utils#5
sorc/ufs_utils.fd from PR: ufs-community/UFS_UTILS#1010
!! -DO_SNO_INC_JEDI Do land increments to snow states on cubed-sphere tiles
!! (Noah land model only).
!! -DO_SOI_INC Do land increments to soil states
!! -INTERP_LNDINC Land increment us from GSI and needs to be regridded
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
!! -INTERP_LNDINC Land increment us from GSI and needs to be regridded
!! -INTERP_LNDINC Land increment is from GSI and needs to be regridded

@yuanxue2870
Copy link
Collaborator

Overall, looks good to me. Thanks!

@GeorgeGayno-NOAA
Copy link
Collaborator

@ClaraDraper-NOAA - make sure you have merged the latest updates from 'develop'.

@GeorgeGayno-NOAA GeorgeGayno-NOAA requested a review from tsga January 13, 2025 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants