Skip to content

RRFSv1 updates: new fields#1473

Merged
BenjaminBlake-NOAA merged 22 commits intoNOAA-EMC:developfrom
EricJames-NOAA:rrfsv1_updates
Mar 26, 2026
Merged

RRFSv1 updates: new fields#1473
BenjaminBlake-NOAA merged 22 commits intoNOAA-EMC:developfrom
EricJames-NOAA:rrfsv1_updates

Conversation

@EricJames-NOAA
Copy link
Copy Markdown
Contributor

This PR adds several new fields for RRFSv1, based on developer and user requests:

(1) Vertically integrated total dust (COLMD), which is a sum of COLMD for coarse dust and fine dust
(2) Fire radiative power (FRADPOW)
(3) Total dust emissions (AEMFLX)
(4) Aerosol layer top (HGTMD), which is highest height where smoke + total dust exceeds 1 ug/m3
(5) Aerosol layer bottom (HGTMD), which is lowest height where smoke + total dust exceeds 1 ug/m3
(6) Aerosol layer mass-weighted centroid (HGTMD)

The code was tested on Jet for RRFSv1 output.

@BenjaminBlake-NOAA
Copy link
Copy Markdown
Collaborator

@EricJames-NOAA Thanks for submitting this PR to add these new fields for RRFSv1. I'll review and test your changes today.

@WenMeng-NOAA Let's process this PR next. We would like to get these new fields into the RRFS real-time parallel soon.

@BenjaminBlake-NOAA
Copy link
Copy Markdown
Collaborator

BenjaminBlake-NOAA commented Mar 23, 2026

@EricJames-NOAA I tested your changes on Ursa and I see 6 new fields in the 2DFLD GRIB2 file:

  • COLMD (aerosol=Dust dry:aerosol_size <1e-05) - vertically integrated total dust
  • FRADPOW
  • AEMFLX (aerosol=Dust dry:aerosol_size <1e-05) - total dust emissions
  • HGTMD (highest level > 1e-09) - aerosol layer top height
  • HGTMD (lowest level > 1e-09) - aerosol layer bottom height
  • HGTMD (entire atmosphere) - I assume this one is for aerosol layer mass-weighted centroid height

Here is my run directory on Ursa if you could check and make sure the results look good:
/scratch4/NCEPDEV/stmp/Benjamin.Blake/upp-URSA-1473/rrfs_2025040112
Thanks!

@BenjaminBlake-NOAA BenjaminBlake-NOAA added the Baseline Change The baselines of the UPP regression tests are changed. label Mar 23, 2026
INTEGER LLMH,I,J,L
REAL ALPM,DZ,PM,PWSUM,RHOAIR,DP,ES
REAL QDUM(ista:iend,jsta:jend), PWS(ista:iend,jsta:jend),QS(ista:iend,jsta:jend)
REAL COLMD(ista:iend,jsta:jend), COLMD2(ista:iend,jsta:jend)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@EricJames-NOAA May I suggest using dynamic arrays (allocatable) for these two new arrays and deallocating them at the end of this subroutine?

@EricJames-NOAA
Copy link
Copy Markdown
Contributor Author

@EricJames-NOAA I tested your changes on Ursa and I see 6 new fields in the 2DFLD GRIB2 file:

  • COLMD (aerosol=Dust dry:aerosol_size <1e-05) - vertically integrated total dust
  • FRADPOW
  • AEMFLX (aerosol=Dust dry:aerosol_size <1e-05) - total dust emissions
  • HGTMD (highest level > 1e-09) - aerosol layer top height
  • HGTMD (lowest level > 1e-09) - aerosol layer bottom height
  • HGTMD (entire atmosphere) - I assume this one is for aerosol layer mass-weighted centroid height

Here is my run directory on Ursa if you could check and make sure the results look good: /scratch4/NCEPDEV/stmp/Benjamin.Blake/upp-URSA-1473/rrfs_2025040112 Thanks!

@BenjaminBlake-NOAA thanks for the tests. I would like to double check the dust emission field, since the netCDF field was all zero in my earlier test. Can you share the dyn and phy files for your test run? Thanks!

@BenjaminBlake-NOAA
Copy link
Copy Markdown
Collaborator

@EricJames-NOAA Sure the dyn/phy files are located here:
/scratch4/NAGAPE/epic/role-epic/ursa/UPP/test_suite/data_in/rrfs

@WenMeng-NOAA
Copy link
Copy Markdown
Collaborator

@EricJames-NOAA I tested your changes on Ursa and I see 6 new fields in the 2DFLD GRIB2 file:

  • COLMD (aerosol=Dust dry:aerosol_size <1e-05) - vertically integrated total dust
  • FRADPOW
  • AEMFLX (aerosol=Dust dry:aerosol_size <1e-05) - total dust emissions
  • HGTMD (highest level > 1e-09) - aerosol layer top height
  • HGTMD (lowest level > 1e-09) - aerosol layer bottom height
  • HGTMD (entire atmosphere) - I assume this one is for aerosol layer mass-weighted centroid height

Here is my run directory on Ursa if you could check and make sure the results look good: /scratch4/NCEPDEV/stmp/Benjamin.Blake/upp-URSA-1473/rrfs_2025040112 Thanks!

@BenjaminBlake-NOAA thanks for the tests. I would like to double check the dust emission field, since the netCDF field was all zero in my earlier test. Can you share the dyn and phy files for your test run? Thanks!

@EricJames-NOAA The RRFS model output @BenjaminBlake-NOAA provided are from our UPP RTs. It appears to me a new variables will be read from RRFS model output in this PR. Would you provide us your new sample RRFS output for the RRFS standalone test?

@EricJames-NOAA
Copy link
Copy Markdown
Contributor Author

@EricJames-NOAA I tested your changes on Ursa and I see 6 new fields in the 2DFLD GRIB2 file:

  • COLMD (aerosol=Dust dry:aerosol_size <1e-05) - vertically integrated total dust
  • FRADPOW
  • AEMFLX (aerosol=Dust dry:aerosol_size <1e-05) - total dust emissions
  • HGTMD (highest level > 1e-09) - aerosol layer top height
  • HGTMD (lowest level > 1e-09) - aerosol layer bottom height
  • HGTMD (entire atmosphere) - I assume this one is for aerosol layer mass-weighted centroid height

Here is my run directory on Ursa if you could check and make sure the results look good: /scratch4/NCEPDEV/stmp/Benjamin.Blake/upp-URSA-1473/rrfs_2025040112 Thanks!

@BenjaminBlake-NOAA thanks for the tests. I would like to double check the dust emission field, since the netCDF field was all zero in my earlier test. Can you share the dyn and phy files for your test run? Thanks!

@EricJames-NOAA The RRFS model output @BenjaminBlake-NOAA provided are from our UPP RTs. It appears to me a new variables will be read from RRFS model output in this PR. Would you provide us your new sample RRFS output for the RRFS standalone test?

@WenMeng-NOAA the new variable read in (emdust) is already available in these files...we just haven't passed it into UPP before.

I checked Ben's test and made one additional changes (correcting units of dust emissions). Based on my tests, the new code appears to be working as intended.

EricJames-NOAA and others added 2 commits March 23, 2026 12:56
Co-authored-by: WenMeng-NOAA <48260754+WenMeng-NOAA@users.noreply.github.com>
Co-authored-by: WenMeng-NOAA <48260754+WenMeng-NOAA@users.noreply.github.com>
@WenMeng-NOAA
Copy link
Copy Markdown
Collaborator

@GangZhao-NOAA @jaymes-kenyon Please note that the correct grib2 name for fire radiative power is implemented in this PR, which impacts on 3DRTMA and MPAS products.

@WenMeng-NOAA WenMeng-NOAA added MPAS 3DRTMA bug Something isn't working labels Mar 24, 2026
@WenMeng-NOAA WenMeng-NOAA linked an issue Mar 24, 2026 that may be closed by this pull request
@jaymes-kenyon
Copy link
Copy Markdown
Contributor

This PR looks good! Once merged, I anticipate that several merge conflicts will arise within PR #1455, but I will fix those conflicts.

@WenMeng-NOAA
Copy link
Copy Markdown
Collaborator

Thanks for @BenjaminBlake-NOAA conducting the UPP RTs on WCOSS2.
From his testing, I confirm that proposed 6 new fields are output in the rrfs test as:

2DFLD18.tm00:
184:1060698926:d=2025040112:var discipline=2 master_table=2 parmcat=4 parm=36:surface:18 hour fcst:
151:786805359:d=2025040112:COLMD:entire atmosphere (considered as a single layer):18 hour fcst:aerosol=Dust Dry:aerosol_size <1e-05:
185:1062530942:d=2025040112:AEMFLX:entire atmosphere (considered as a single layer):18 hour fcst:aerosol=Dust Dry:aerosol_size <1e-05:
3:15465736:d=2025040112:HGTMD:highest level > 1e-09 kg/m^3:18 hour fcst:
4:18856259:d=2025040112:HGTMD:lowest level > 1e-09 kg/m^3:18 hour fcst:
152:789394348:d=2025040112:HGTMD:entire atmosphere (considered as a single layer):18 hour fcst:

@WenMeng-NOAA
Copy link
Copy Markdown
Collaborator

The UPP RTs have been completed on WCOSS2 and all expected changes have been confirmed. There will be baseline updates in the rrfs, mpas, 3drtma, rap, hrrr tests.

@BenjaminBlake-NOAA
Copy link
Copy Markdown
Collaborator

@clyden-noaa This PR is ready for testing on the RDHPCs. As @WenMeng-NOAA noted, baseline changes are expected for the rrfs, mpas, mpas_hfip, 3drtma, rap, and hrrr tests. I generated baseline data for you here on Ursa:

/scratch4/NCEPDEV/stmp/Benjamin.Blake/upp-URSA-1473-intel
/scratch4/NCEPDEV/stmp/Benjamin.Blake/upp-URSA-1473-intelllvm

Thanks!

Copy link
Copy Markdown

@GangZhao-NOAA GangZhao-NOAA left a comment

Choose a reason for hiding this comment

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

The modifications look good to me.

Thanks!

@BenjaminBlake-NOAA
Copy link
Copy Markdown
Collaborator

@clyden-noaa We'd like to update the input data for the RRFS baseline test with this PR. The current input files are about a year old. Please hold off on your testing for now and I'll let you know once everything is ready.

@BenjaminBlake-NOAA
Copy link
Copy Markdown
Collaborator

@clyden-noaa We can go ahead and proceed with testing.

I have new RRFS input files for you here on Ursa:
/scratch4/NCEPDEV/fv3-cam/Benjamin.Blake/test_suite/data_in/rrfs
These dyn/phy netcdf files should replace the files in EPIC's test_suite directory.

The baseline output data are in the same locations as before:
/scratch4/NCEPDEV/stmp/Benjamin.Blake/upp-URSA-1473-intel
/scratch4/NCEPDEV/stmp/Benjamin.Blake/upp-URSA-1473-intelllvm

Baseline changes are expected for the rrfs, mpas, mpas_hfip, 3drtma, rap, hrrr, and rrfs_ifi_missing tests. rrfs_ifi_missing is now changed because we updated the RRFS input files.

Once Orion and Hercules are back online I can copy the RRFS input files over to those systems for you. Thanks!

@WenMeng-NOAA
Copy link
Copy Markdown
Collaborator

WenMeng-NOAA commented Mar 25, 2026

@BenjaminBlake-NOAA Thanks for updates in rrfs test with new data_in baseline and related job cards.
From my UPP RTs on WCOSS2, there are following tests having data_out baseline changes:
3drtma
mpas
rap
hrrr
rrfs
rrfs_missing
rrfs_ifi **We might skip update in this test, as rrfs_ifi will be removed from the UPP RTs

I also confirm that the proposed new rrfs variables are in place.

Copy link
Copy Markdown
Collaborator

@clyden-noaa clyden-noaa left a comment

Choose a reason for hiding this comment

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

@WenMeng-NOAA @BenjaminBlake-NOAA @EricJames-NOAA
My testing has been completed

There are baseline changes for the following:

  • mpas
    • POSTTWO18.tm00
  • hrrr
    • WRFTWO.GrbF10
  • mpas_hfip
    • 2DFLD.GrbF48
  • rrfs_ifi_missing
    • IFIFIP36.tm00
  • 3drtma
    • WRFTWO.GrbF00
  • rrfs
    • NATLEV36.tm00
    • 2DFLD36.tm00
    • PRSLEV36.tm00
  • rap
    • WRFPRS.GrbF06
    • WRFNAT.GrbF06

There were new input files for rrfs:

  • dynf036.nc
  • phyf036.nc

All input files were copied to their resepective test suites on all RDHPCs
All baseline files were created and copied to their proper locations on all RDHPCs for both intel (ursa, hercules, orion) and intelllvm (ursa) compilers

Following baseline file creation, all RTs ran successfully and within established timing thresholds on all RDHPC systems.

Ursa - intel

Check tests:
['sfs', 'aqm', 'gefsv12', 'gefsv13', 'nmmb', 'rap', 'hrrr', 'hafs', '3drtma', 'mpas', 'mpas_hfip', 'gcafs', 'rrfs', 'rrfs_ifi_missing', 'gfs']
No changes in test results detected.

Ursa - intelllvm

Check tests:
['sfs', 'aqm', 'gefsv12', 'gefsv13', 'nmmb', 'rap', 'hrrr', 'hafs', '3drtma', 'mpas', 'mpas_hfip', 'gcafs', 'rrfs', 'rrfs_ifi_missing', 'gfs']
No changes in test results detected.

Orion - intel

Check tests:
['sfs', 'aqm', 'gefsv12', 'gefsv13', 'nmmb', 'rap', 'hrrr', 'hafs', '3drtma', 'mpas', 'mpas_hfip', 'gcafs', 'rrfs', 'rrfs_ifi_missing', 'gfs']
No changes in test results detected.

Hercules - intel

Check tests:
['sfs', 'aqm', 'gefsv12', 'gefsv13', 'nmmb', 'rap', 'hrrr', 'hafs', '3drtma', 'mpas', 'mpas_hfip', 'gcafs', 'rrfs', 'rrfs_ifi_missing', 'gfs']
No changes in test results detected.

Copy link
Copy Markdown
Collaborator

@BenjaminBlake-NOAA BenjaminBlake-NOAA left a comment

Choose a reason for hiding this comment

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

@clyden-noaa Thanks for testing and updating the baselines.

@EricJames-NOAA Thanks for adding these new products to RRFS. I will work on getting them added to the real-time parallel soon.

@WenMeng-NOAA Unless you have any final concerns, this PR is ready for merging.

@BenjaminBlake-NOAA BenjaminBlake-NOAA merged commit ae7666c into NOAA-EMC:develop Mar 26, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3DRTMA Baseline Change The baselines of the UPP regression tests are changed. bug Something isn't working MPAS Ready for commit queue Ready for Review This PR is ready for code review. RRFS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix the GRIB2 ID for fire radiative power Add dust, fire radiative power, and aerosol layer height fields to RRFS

6 participants