Skip to content

Stochastic physics clean and updates to CA#832

Merged
DeniseWorthen merged 34 commits into
ufs-community:developfrom
pjpegion:new_stoch
Sep 30, 2021
Merged

Stochastic physics clean and updates to CA#832
DeniseWorthen merged 34 commits into
ufs-community:developfrom
pjpegion:new_stoch

Conversation

@pjpegion
Copy link
Copy Markdown
Collaborator

@pjpegion pjpegion commented Sep 24, 2021

PR Checklist

  • Ths PR is up-to-date with the top of all sub-component repositories except for those sub-components which are the subject of this PR. Please consult the ufs-weather-model wiki if you are unsure how to do this.

  • This PR has been tested using a branch which is up-to-date with the top of all sub-component repositories except for those sub-components which are the subject of this PR

  • An Issue describing the work contained in this PR has been created either in the subcomponent(s) or in the ufs-weather-model. The Issue should be created in the repository that is most relevant to the changes in contained in the PR. The Issue and the dependent sub-component PR
    are specified below.

  • If new or updated input data is required by this PR, it is clearly stated in the text of the PR.

Instructions: All subsequent sections of text should be filled in as appropriate.

The information provided below allows the code managers to understand the changes relevant to this PR, whether those changes are in the ufs-weather-model repository or in a subcomponent repository. Ufs-weather-model code managers will use the information provided to add any applicable labels, assign reviewers and place it in the Commit Queue. Once the PR is in the Commit Queue, it is the PR owner's responsiblity to keep the PR up-to-date with the develop branch of ufs-weather-model.

Description

Provide a detailed description of what this PR does. What bug does it fix, or what feature does it add? Is a change of answers expected from this PR? Are any library updates included in this PR (modulefiles etc.)?

The pull request includes a clean-up of the stochastic physics code and updates to the stand alone unit tests, which are now in the unit_tests sub-directory.
This PR also includes changes to the CA code for reproducibility for different process layouts and ca_global restart capability.

Issue(s) addressed

Link the issues to be closed with this PR, whether in this repository, or in another repository.
(Remember, issues must always be created before starting work on a PR branch!)

Testing

How were these changes tested? What compilers / HPCs was it tested with? Are the changes covered by regression tests? (If not, why? Do new tests need to be added?) Have regression tests and unit tests (utests) been run? On which platforms and with which compilers? (Note that unit tests can only be run on tier-1 platforms)

Changes were tests on hera using intel and gnu compiler. There are 2 new tests, control_ca_restart and datm_stochy_gefs. In addition, the control_ca test results have changed.

  • Hera.gnu, baselines change with addition of two tests:
control_ca_debug
control_stochy_debug
  • Hera.intel, baselines change with one new test and 3 tests with answer changes:
datm_cdeps_stochy_gefs (new test)
cpld_ca
control_ca
control_ca_debug

These tests have do_ca=.true. All other tests do not currently use CA.

Dependencies

If testing this branch requires non-default branches in other repositories, list them. Those branches should have matching names (ideally).

Do PRs in upstream repositories need to be merged first?
If so add the "waiting for other repos" label and list the upstream PRs

@pjpegion
Copy link
Copy Markdown
Collaborator Author

pjpegion commented Sep 24, 2021

I ran the full GNU regression tests on hera, and the model is crashing in the control_flake and control_stochy tests, and I will update and I figure out what is going on.

@pjpegion
Copy link
Copy Markdown
Collaborator Author

Found the bug, there was an uninitialized array in spectral_transforms.F90. Gnu regression tests now pass on hera.

@DeniseWorthen DeniseWorthen added the Baseline Updates Current baselines will be updated. label Sep 27, 2021
Comment thread MOM6-interface/CMakeLists.txt Outdated
Comment thread MOM6-interface/CMakeLists.txt Outdated
Comment thread MOM6-interface/mom6_files.cmake Outdated
Comment thread tests/parm/input.mom6.nml.IN Outdated
Comment thread tests/parm/input.mom6_ccpp.nml.IN Outdated
@jiandewang
Copy link
Copy Markdown
Collaborator

@pjpegion
https://github.com/pjpegion/ufs-weather-model/blob/new_stoch/.gitmodules#L30-L32
you are still pointing MOM6 to EMC repo, needs to use your MOM PR branch for ufs testing

@pjpegion
Copy link
Copy Markdown
Collaborator Author

@pjpegion
https://github.com/pjpegion/ufs-weather-model/blob/new_stoch/.gitmodules#L30-L32
you are still pointing MOM6 to EMC repo, needs to use your MOM PR branch for ufs testing

Sorry, I always forget about the gitmodules. fixed now

@pjpegion pjpegion closed this Sep 27, 2021
@pjpegion pjpegion reopened this Sep 27, 2021
@jiandewang
Copy link
Copy Markdown
Collaborator

@pjpegion
Copy link
Copy Markdown
Collaborator Author

@pjpegion
https://github.com/pjpegion/ufs-weather-model/blob/new_stoch/.gitmodules#L32
you forgot to modify the branch name here

I don't think the brach name matters since the checkout should point to a specific has, but I updated it, along with the stochastic_physics branch name

Comment thread tests/parm/MOM_input_template_025 Outdated
@junwang-noaa
Copy link
Copy Markdown
Collaborator

MOM6 PR points to an issue, not a PR

@DeniseWorthen
Copy link
Copy Markdown
Collaborator

@MinsukJi-NOAA did CI run?

@junwang-noaa
Copy link
Copy Markdown
Collaborator

junwang-noaa commented Sep 30, 2021 via email

@jiandewang
Copy link
Copy Markdown
Collaborator

MOM6 PR has been merged

@MinsukJi-NOAA
Copy link
Copy Markdown
Contributor

Failed control_restart CI can be fixed with this change related to the utest script. I think we can implement it either here or in the next PR.

diff --git a/tests/utests/rst.sh b/tests/utests/rst.sh
index edd1dc9..5d6f2de 100644
--- a/tests/utests/rst.sh
+++ b/tests/utests/rst.sh
@@ -4,6 +4,7 @@ source $PATHRT/utests/std.sh
 # Set up date and time of restart files for restart run
 FHROT=12
 RESTART_FILE_PREFIX="${SYEAR}${SMONTH}${SDAY}.$(printf "%02d" $(( SHOUR + FHROT  )))0000"
+DEP_RUN=${TEST_NAME}
 
 if [[ $application == 'global' ]]; then
   OUTPUT_FH="3 -1"
@@ -18,7 +19,6 @@ elif [[ $application == 'cpld' ]]; then
   RESTART_FILE_SUFFIX_HRS="${SYEAR}-${SMONTH}-${SDAY}-$(printf "%02d" $(( ${FHROT} )))"
   RESTART_FILE_SUFFIX_SECS="${SYEAR}-${SMONTH}-${SDAY}-$(printf "%02d" $(( ${FHROT}*3600 )))"
   RESTART_N=$((FHMAX-$FHROT))
-  DEP_RUN=${TEST_NAME}
 fi
 
 WARM_START=.T.

@DeniseWorthen
Copy link
Copy Markdown
Collaborator

DeniseWorthen commented Sep 30, 2021

Do SHOUR and FHROT and FHMAX need to be variables ($SHOUR,$FHROT,$FHMAX)?

@MinsukJi-NOAA
Copy link
Copy Markdown
Contributor

Do SHOUR and FHROT need to be variables ($SHOUR,$FHROT)?

Not when used like this $(( SHOUR + FHROT ))

@pjpegion
Copy link
Copy Markdown
Collaborator Author

Is the change only moving DEP_RUN outside the if statement?

@MinsukJi-NOAA
Copy link
Copy Markdown
Contributor

MinsukJi-NOAA commented Sep 30, 2021

Is the change only moving DEP_RUN outside the if statement?

Yes

@pjpegion
Copy link
Copy Markdown
Collaborator Author

I'm just waiting in the merge of fv3atm.

@junwang-noaa
Copy link
Copy Markdown
Collaborator

@pjpegion fv3 PR was merged

Copy link
Copy Markdown
Collaborator

@DeniseWorthen DeniseWorthen left a comment

Choose a reason for hiding this comment

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

All submodules look correct to me.

@climbfuji
Copy link
Copy Markdown
Collaborator

@lisa-bengtsson any last words of wisdom, or are you ok with this PR? Please approve if yes.

@lisa-bengtsson
Copy link
Copy Markdown
Contributor

@lisa-bengtsson any last words of wisdom, or are you ok with this PR? Please approve if yes.

Thank you for all your hard work everyone. I will approve this PR.

@DeniseWorthen
Copy link
Copy Markdown
Collaborator

I second the hard work comment. We'll be able to close multiple issues w/ this PR.

@MinsukJi-NOAA
Copy link
Copy Markdown
Contributor

@DeniseWorthen CI all passed

@DeniseWorthen DeniseWorthen merged commit 39dd5ba into ufs-community:develop Sep 30, 2021
@pjpegion pjpegion deleted the new_stoch branch September 30, 2021 17:49
@pjpegion
Copy link
Copy Markdown
Collaborator Author

Can we close this issue?

@DeniseWorthen
Copy link
Copy Markdown
Collaborator

DeniseWorthen commented Dec 15, 2021

Yes---this is the PR. Is there an associated issue that needs closing?

zhanglikate pushed a commit to zhanglikate/ufs-weather-model that referenced this pull request Oct 20, 2025
* Perturbation/increment file for cold starts: move the call to read_da_inc outside the if external_ic/restart logic.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Baseline Updates Current baselines will be updated.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CA fails debug mode with GNU compiler control_ca test is not reproducible with 2-threads Add ocean stochastic physics

8 participants