Skip to content

Conversation

@Jeff-Duda
Copy link

@Jeff-Duda Jeff-Duda commented Jul 18, 2025

Reference: #145

See the below examples for more information.
MPAS-Dev/MPAS#930
MPAS-Dev/MPAS#931

Test cases included the 1.25 km and 3 km realtime configurations being run by David Dowell on Jet. I copied the input files from the 1.25 km run initialized 18 June 2025 at 06Z and from the 3 km run initialized at 14 July 2025 at 00Z. The requested output files are present in the diagnc files for both runs, and futher MPASSIT runs show these arrays look good and appear to display the requested information.

Case comparison test results have run, but this webpage won't let me attach the file and it is very long to paste here. How shall I share the results?

…t output time):

-Instantaneous precipitation rate
-Composite reflectivity
-1-minute average precipitation rate
-5-minute average precipitation rate
-10-minute average precipitation rate
@clark-evans
Copy link
Collaborator

@Jeff-Duda thanks for the PR -- I'm glad the painful authentication issues have been squared away!

I'm seeing some conflicts with mpas_atm_core.F and mpas_atmphys_interface.F, all of which appear to tie to Anders' hail diagnostics added with v8.3.0-1.4. Could you please update your branch to v8.3.0-1.8 at your earliest convenience? That should resolve these conflicts.

@Jeff-Duda
Copy link
Author

@clark-evans, so, I went through this late on Friday with @jderrico-noaa . She showed me my merge conflicts and I did correct those in my repo. I committed them and ran the push step, but it seems something hasn't gone right yet. How do I know what I still need to do to correct this?

@clark-evans
Copy link
Collaborator

@clark-evans, so, I went through this late on Friday with @jderrico-noaa . She showed me my merge conflicts and I did correct those in my repo. I committed them and ran the push step, but it seems something hasn't gone right yet. How do I know what I still need to do to correct this?

I can see it here on the web -- at the bottom of this discussion, it shows "This branch has conflicts that must be resolved." It gives me the option of looking at them in the web editor, which is how I was able to find where they exist. That doesn't get everything quite resolved, though.

@clark-evans
Copy link
Collaborator

@clark-evans, so, I went through this late on Friday with @jderrico-noaa . She showed me my merge conflicts and I did correct those in my repo. I committed them and ran the push step, but it seems something hasn't gone right yet. How do I know what I still need to do to correct this?

I can see it here on the web -- at the bottom of this discussion, it shows "This branch has conflicts that must be resolved." It gives me the option of looking at them in the web editor, which is how I was able to find where they exist. That doesn't get everything quite resolved, though.

Oddly enough, I just got an email with the merge of gsl/develop into your branch...from five days ago. Not sure what's going on with that, but glad it resolved itself! There will be one last update to do before merging, and either Janet or I will give you a heads-up once your PR reaches to the top of the queue for review/merging.

In the meantime, could you please run the prePR set of regression tests from Mike Barlage's mpas_testcase repo? Fuller documentation is available in this Google doc.

@Jeff-Duda
Copy link
Author

In the meantime, could you please run the prePR set of regression tests from Mike Barlage's mpas_testcase repo? Fuller documentation is available in this Google doc.

I am running into severe errors trying to do this using that document. I do not know how to fix them.

@AndersJensen-NOAA
Copy link
Collaborator

@Jeff-Duda Thanks for getting this PR together. Is your new refl10cm max variable different from ours, which is named refl10cm_max? I'll take a look at the code and provide feedback soon.

@Jeff-Duda
Copy link
Author

Is your new refl10cm max variable different from ours, which is named refl10cm_max? I'll take a look at the code and provide feedback soon.

Yes, @AndersJensen-NOAA , the new variable is a time-maximum of the composite (vertical-max) reflectivity, whereas refl10cm_max in the pre-existing code is instantaneous composite reflectivity.

@Jeff-Duda
Copy link
Author

Is this PR waiting on any action from me?

@AndersJensen-NOAA
Copy link
Collaborator

Is this PR waiting on any action from me?

@Jeff-Duda The PR is in the queue. No actions from you are needed at this time. There may be some changes requested during review though. For example, we'll likely request the addition of config flags so that these diagnostics can be turned on or off. If you are not familiar with how to do that in MPAS, we can help.

@AndersJensen-NOAA
Copy link
Collaborator

@Jeff-Duda Can you pull in the latest changes from gsl-develop into your PR branch? Our latest code has some automatic tests that will run.

init_rolling_precip_array(z) = .true.
end if
end do
! if all is okay, allocate rolling precip arrays just once and never again
Copy link
Collaborator

Choose a reason for hiding this comment

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

For lines 1074-1088, instead of repeating code, can this be in a loop?

Copy link
Author

Choose a reason for hiding this comment

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

@AndersJensen-NOAA I can do this, but it will require a different array to hold all precip intervals in one array, which will render the check on line ~1068 moot; the code will not be able to distinguish whether the model time step is too coarse for just the 1-minute precip (but okay for 5- and 10-minute rolling precip) or too coarse for 1- and 5-minute precip but okay for 10-minute precip. I don't know how critical this warning actually is, though, as it is mostly self-explanatory and easy to account for.

END IF
! 10-minute prate
IF (allocated(rolling_precip_10min)) THEN
DO k = sub_limit(3)-1,1,-1
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is it possible to check all allocations at once and then combine these since sub_limit(1) < sub_limit(2) < sub_limit(3)?

DO k = sub_limit(3)-1,1-1
rolling_precip_10min(k+1,:) = rolling_precip_10min(k,:)
IF k <= sub_limit(2) rolling_precip_5min(k+1,:) = rolling_precip_5min(k,:)
IF k <= sub_limit(1) rolling_precip_1min(k+1,:) = rolling_precip_1min(k,:)

@Jeff-Duda
Copy link
Author

@Jeff-Duda Can you pull in the latest changes from gsl-develop into your PR branch? Our latest code has some automatic tests that will run.

@AndersJensen-NOAA How do I do that?

@clark-evans
Copy link
Collaborator

@Jeff-Duda Can you pull in the latest changes from gsl-develop into your PR branch? Our latest code has some automatic tests that will run.

@AndersJensen-NOAA How do I do that?

I went ahead and took care of that for you through the web interface. You'll want to make sure to sync your local copy, though.

@Jeff-Duda
Copy link
Author

@Jeff-Duda Can you pull in the latest changes from gsl-develop into your PR branch? Our latest code has some automatic tests that will run.

@AndersJensen-NOAA How do I do that?

I went ahead and took care of that for you through the web interface. You'll want to make sure to sync your local copy, though.

What does it mean to "sync my local copy"?

@clark-evans
Copy link
Collaborator

@Jeff-Duda Can you pull in the latest changes from gsl-develop into your PR branch? Our latest code has some automatic tests that will run.

@AndersJensen-NOAA How do I do that?

I went ahead and took care of that for you through the web interface. You'll want to make sure to sync your local copy, though.

What does it mean to "sync my local copy"?

The copy at https://github.com/Jeff-Duda/MPAS-Model/tree/prate_max has been updated with the latest gsl/develop, so you'll want to go to where you were developing it (presumably on disk somewhere) and sync with the remote. See also: https://stackoverflow.com/questions/6373277/synchronizing-a-local-git-repository-with-a-remote-one.

@Jeff-Duda
Copy link
Author

My apologies to everyone who received a request to review just now. That was an indavertent click.

@Jeff-Duda
Copy link
Author

@clark-evans and @AndersJensen-NOAA I have made some code changes, committed them, git-pulled to sync my local fork, then git-pushed the changes back.

Did I miss anything? What is currently needed from me?

@clark-evans
Copy link
Collaborator

@clark-evans and @AndersJensen-NOAA I have made some code changes, committed them, git-pulled to sync my local fork, then git-pushed the changes back.

Did I miss anything? What is currently needed from me?

Hmmm, it doesn't look like the remote repo has yet updated with your changes -- the last commit is my syncing of the repo with gsl/develop ~5 h ago.

@Jeff-Duda
Copy link
Author

Here's a record of what commands I issued:

(base) Jeffrey.Duda@Jet-fe5 /mnt/lfs5/BMC/wrfruc/jdduda/MPAS-Model/src/core_atmosphere/physics: git remote -vv
origin	git@github.com:Jeff-Duda/MPAS-Model.git (fetch)
origin	git@github.com:Jeff-Duda/MPAS-Model.git (push)
(base) Jeffrey.Duda@Jet-fe5 /mnt/lfs5/BMC/wrfruc/jdduda/MPAS-Model/src/core_atmosphere/physics: git push
Enter passphrase for key '/home/Jeffrey.Duda/.ssh/id_ed25519': 
To github.com:Jeff-Duda/MPAS-Model.git
 ! [rejected]          prate_max -> prate_max (non-fast-forward)
error: failed to push some refs to 'github.com:Jeff-Duda/MPAS-Model.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. If you want to integrate the remote changes,
hint: use 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
(base) Jeffrey.Duda@Jet-fe5 /mnt/lfs5/BMC/wrfruc/jdduda/MPAS-Model/src/core_atmosphere/physics: git pull
Enter passphrase for key '/home/Jeffrey.Duda/.ssh/id_ed25519': 
Enter passphrase for key '/home/Jeffrey.Duda/.ssh/id_ed25519': 
Auto-merging src/core_atmosphere/physics/mpas_atmphys_driver_microphysics.F
Merge made by the 'ort' strategy.
 .github/PULL_REQUEST_TEMPLATE.md                                         |   14 +--
 .github/workflows/build_mpas.yml                                         |  175 ++++++++++++++++++++++++++++++
 .github/workflows/build_mpas_intel.yml                                   |  145 +++++++++++++++++++++++++
 .github/workflows/run_mpas.yml                                           |  437 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 .github/workflows/run_mpas_hrrr.yml                                      |  440 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 .gitmodules                                                              |    3 +
 Makefile                                                                 |    2 +-
 README.md                                                                |    2 +-
 src/core_atmosphere/CMakeLists.txt                                       |   32 +++++-
 src/core_atmosphere/Externals.cfg                                        |    2 +-
 src/core_atmosphere/Registry.xml                                         |   49 ++++++---
 src/core_atmosphere/diagnostics/mpas_convective_diagnostics.F            |    8 +-
 src/core_atmosphere/dynamics/mpas_atm_time_integration.F                 |  174 +++++++++++++++++++++++++++++-
 src/core_atmosphere/mpas_atm_core.F                                      |    4 +-
 src/core_atmosphere/physics/Makefile                                     |   24 +++--
 src/core_atmosphere/physics/mpas_atmphys_control.F                       |   18 +++-
 src/core_atmosphere/physics/mpas_atmphys_driver.F                        |   27 ++++-
 src/core_atmosphere/physics/mpas_atmphys_driver_convection.F             |   72 +++++++++++--
 src/core_atmosphere/physics/mpas_atmphys_driver_microphysics.F           |    1 +
 src/core_atmosphere/physics/mpas_atmphys_driver_pbl.F                    |  141 ++++++++++++++++++++++--
 src/core_atmosphere/physics/mpas_atmphys_driver_smoke.F                  | 1134 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/core_atmosphere/physics/mpas_atmphys_init.F                          |   32 +++++-
 src/core_atmosphere/physics/mpas_atmphys_manager.F                       |   48 ++++++++-
 src/core_atmosphere/physics/mpas_atmphys_packages.F                      |   50 +++++++++
 src/core_atmosphere/physics/mpas_atmphys_update_surface.F                |   19 +++-
 src/core_atmosphere/physics/mpas_atmphys_vars.F                          |  106 ++++++++++++++++++
 src/core_atmosphere/physics/physics_noaa/GFL                             |    2 +-
 src/core_atmosphere/physics/physics_noaa/MYNN-EDMF                       |    2 +-
 src/core_atmosphere/physics/physics_noaa/SMOKE                           |    1 +
 src/core_atmosphere/physics/physics_noaa/TEMPO                           |    2 +-
 src/core_atmosphere/physics/physics_noahmp/src/SoilMoistureSolverMod.F90 |    2 +-
 src/core_atmosphere/physics/physics_noahmp/src/WaterMainGlacierMod.F90   |    6 +-
 src/core_atmosphere/physics/physics_noahmp/src/WaterMainMod.F90          |    4 +-
 src/core_atmosphere/physics/physics_wrf/module_mynnsfclay.F90            |    4 +-
 src/core_atmosphere/physics/registry.chemistry.xml                       |  484 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/core_init_atmosphere/Registry.xml                                    |    4 +-
 src/core_init_atmosphere/mpas_init_atm_cases.F                           |    2 -
 src/core_init_atmosphere/registry.chemistry.xml                          |  143 ++++++++++++++++++++++++
 src/core_landice/Registry.xml                                            |    2 +-
 src/core_ocean/Registry.xml                                              |    2 +-
 src/core_seaice/Registry.xml                                             |    2 +-
 src/core_sw/Registry.xml                                                 |    2 +-
 src/core_test/Registry.xml                                               |    2 +-
 testing_and_setup/ufs-community/cmp_rt2bl.py                             |  118 ++++++++++++++++++++
 testing_and_setup/ufs-community/environment.yml                          |   11 ++
 45 files changed, 3861 insertions(+), 93 deletions(-)
 create mode 100644 .github/workflows/build_mpas.yml
 create mode 100644 .github/workflows/build_mpas_intel.yml
 create mode 100644 .github/workflows/run_mpas.yml
 create mode 100644 .github/workflows/run_mpas_hrrr.yml
 create mode 100644 src/core_atmosphere/physics/mpas_atmphys_driver_smoke.F
 create mode 160000 src/core_atmosphere/physics/physics_noaa/SMOKE
 create mode 100644 src/core_atmosphere/physics/registry.chemistry.xml
 create mode 100644 src/core_init_atmosphere/registry.chemistry.xml
 create mode 100755 testing_and_setup/ufs-community/cmp_rt2bl.py
 create mode 100644 testing_and_setup/ufs-community/environment.yml

@Jeff-Duda
Copy link
Author

Sorry, I see now I forgot to re-enter 'git push'. I have just done that.

…ions should be computed based on choice of microphysics scheme.
@Jeff-Duda
Copy link
Author

It has been awhile since this PR was addressed, unfortunately due to the shutdown. But I did make code changes and committed them. But then I got some errors for whatever tests are being automatically conducted. There seems to remain only one error, and I doubt that it is within my control to fix. See the attached image.

Screenshot 2025-11-18 at 11 53 53 AM

@clark-evans
Copy link
Collaborator

It has been awhile since this PR was addressed, unfortunately due to the shutdown. But I did make code changes and committed them. But then I got some errors for whatever tests are being automatically conducted. There seems to remain only one error, and I doubt that it is within my control to fix. See the attached image.

Screenshot 2025-11-18 at 11 53 53 AM

Hi @Jeff-Duda -- we see that error crop up every so often here. Could you try to manually re-run the test? You should be able to do so from Github on the web - go to the PR, then choose "Checks," then choose the failing job, then at upper right you should have a button related to re-running tests. I select the "re-run failed checks" option, and that usually does the trick.

@Jeff-Duda
Copy link
Author

Thanks @clark-evans . The "checks" tab has 0 issues for me (I don't even see an option to re-run anything). Does this mean there actually are no problems now?

@clark-evans
Copy link
Collaborator

Thanks @clark-evans . The "checks" tab has 0 issues for me (I don't even see an option to re-run anything). Does this mean there actually are no problems now?

You may need to do it in your repo (e.g., from https://github.com/Jeff-Duda/MPAS-Model/actions/runs/19145980522/job/54723565349), as I don't think the testing workflows in this repo have yet been triggered for your PR. I think your codebase acquired the workflows after your last merge of gsl/develop into it, whereas on our end I have a "4 workflows awaiting approval" message on your PR.

@Jeff-Duda
Copy link
Author

Thanks, @clark-evans! Looks like the tests are now successful! @AndersJensen-NOAA, perhaps that means you can now re-evaluate?

@Jeff-Duda
Copy link
Author

What needs to happen here to get this PR moving again? It seems to have stalled.

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.

Add time-maximum precipitation and reflectivity to output

3 participants