Repository: NOAA-EMC/UPP
Pull request #1203: MPAS applications: Add hail accumulation, modify hail-size fields; fix cloud base; remove old/unused code
Author: login: jaymes-kenyon
Labels: name: Ready for Review
description: This PR is ready for code review.
name: Baseline Change
description: The baselines of the UPP regression tests are changed.
name: MPAS
name: Ready for commit queue
Created: 2025-05-08T17:52:49Z | Merged: 2025-05-15T19:59:08Z

This PR addresses issue #1205.  In particular:

1) For hail-related fields, it adds hourly-accumulated hail to GRIB2 output. Two existing fields for hourly-maximum hail diameter (in the **_column_** and in the **_lowest model layer_**) are still generated, but some of the descriptive elements in **post_avblflds.xml** are modified.  Hail-size output from the "HAILCAST" algorithm is disabled, since this capability is not yet in MPAS.

2) It fixes a minor bug in the the cloud-base height and pressure algorithm.  This bug occasionally yields bases that are below ground (by several meters).

3) It removes several old/unused blocks of code from **INITPOST_MPAS.F**.  These codes were inherited from **INITPOST.F** and are currently commented out.



Diff:
diff --git a/parm/mpas/global_mpas_postcntrl.xml b/parm/mpas/global_mpas_postcntrl.xml
index 3c152c0a9..c2621c96f 100644
--- a/parm/mpas/global_mpas_postcntrl.xml
+++ b/parm/mpas/global_mpas_postcntrl.xml
@@ -315,6 +315,11 @@
            <scale>6.0</scale>
        </param>
 
+       <param>
+           <shortname>BUCKET_HAIL_ON_SURFACE</shortname>
+           <scale>3.0</scale>
+       </param>
+
        <param>
            <shortname>GSD_CSNOW_ON_SURFACE</shortname>
            <scale>1.0</scale>
@@ -476,18 +481,13 @@
        </param>
 
        <param>
-           <shortname>GSD_MAX_COLMAX_GRAUPEL_HAIL_DIAMETER</shortname>
-           <scale>4.0</scale>
-       </param>
-
-       <param>
-           <shortname>GSD_MAX_SIGMA_LVL_MAX_GRAUPEL_HAIL_DIAMETER</shortname>
-           <scale>4.0</scale>
+           <shortname>MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN</shortname>
+           <scale>3.0</scale>
        </param>
 
        <param>
-           <shortname>GSD_HAILCAST_HAIL_DIAMETER</shortname>
-           <scale>4.0</scale>
+           <shortname>MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL</shortname>
+           <scale>3.0</scale>
        </param>
 
        <param>
diff --git a/parm/mpas/hfip_mpas_postcntrl.xml b/parm/mpas/hfip_mpas_postcntrl.xml
index e76a31ed2..b59554a98 100755
--- a/parm/mpas/hfip_mpas_postcntrl.xml
+++ b/parm/mpas/hfip_mpas_postcntrl.xml
@@ -311,6 +311,11 @@
            <scale>6.0</scale>
        </param>
 
+       <param>
+           <shortname>BUCKET_HAIL_ON_SURFACE</shortname>
+           <scale>3.0</scale>
+       </param>
+
        <param>
            <shortname>GSD_CSNOW_ON_SURFACE</shortname>
            <scale>1.0</scale>
@@ -462,18 +467,13 @@
        </param>
 
        <param>
-           <shortname>GSD_MAX_COLMAX_GRAUPEL_HAIL_DIAMETER</shortname>
-           <scale>4.0</scale>
-       </param>
-
-       <param>
-           <shortname>GSD_MAX_SIGMA_LVL_MAX_GRAUPEL_HAIL_DIAMETER</shortname>
-           <scale>4.0</scale>
+           <shortname>MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN</shortname>
+           <scale>3.0</scale>
        </param>
 
        <param>
-           <shortname>GSD_HAILCAST_HAIL_DIAMETER</shortname>
-           <scale>4.0</scale>
+           <shortname>MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL</shortname>
+           <scale>3.0</scale>
        </param>
 
        <param>
diff --git a/parm/mpas/postxconfig-NT-global_mpas.txt b/parm/mpas/postxconfig-NT-global_mpas.txt
index 581f1a0ff..8b596ead6 100644
--- a/parm/mpas/postxconfig-NT-global_mpas.txt
+++ b/parm/mpas/postxconfig-NT-global_mpas.txt
@@ -2202,6 +2202,48 @@ surface
 ?
 ?
 ?
+1025
+BUCKET_HAIL_ON_SURFACE
+bucket hail on surface
+1
+tmpl4_8
+HAILAC
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+0
+0.0
+0
+0.0
+1
+3.0
+0
+0
+0
+?
+?
+?
 559
 GSD_CSNOW_ON_SURFACE
 GSD_Categorical snow on surface
@@ -3421,7 +3463,7 @@ spec_hgt_lvl_above_grnd
 ?
 ?
 794
-GSD_MAX_COLMAX_GRAUPEL_HAIL_DIAMETER
+MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN
 ?
 1
 tmpl4_8
@@ -3455,7 +3497,7 @@ entire_atmos
 0
 0.0
 1
-4.0
+3.0
 0
 0
 0
@@ -3463,7 +3505,7 @@ entire_atmos
 ?
 ?
 795
-GSD_MAX_SIGMA_LVL_MAX_GRAUPEL_HAIL_DIAMETER
+MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL
 ?
 1
 tmpl4_8
@@ -3471,52 +3513,10 @@ HAIL
 ?
 MAX
 sigma_lvl
-1
-1
-1
-1.
-?
-0
-?
-0
-?
-?
-?
-?
-0
-0.0
-0
-0.0
-?
-0
-0.0
-0
-0.0
-0
-0.0
-0
-0.0
-1
-4.0
-0
-0
 0
 ?
-?
-?
-728
-GSD_HAILCAST_HAIL_DIAMETER
-?
 1
-tmpl4_8
-HAIL
-?
-MAX
-surface
-0
-?
-0
-?
+1.
 ?
 0
 ?
@@ -3539,7 +3539,7 @@ surface
 0
 0.0
 1
-4.0
+3.0
 0
 0
 0
diff --git a/parm/mpas/postxconfig-NT-hfip_mpas.txt b/parm/mpas/postxconfig-NT-hfip_mpas.txt
index be5cce18d..46a65ba53 100644
--- a/parm/mpas/postxconfig-NT-hfip_mpas.txt
+++ b/parm/mpas/postxconfig-NT-hfip_mpas.txt
@@ -1950,6 +1950,48 @@ surface
 ?
 ?
 ?
+1025
+BUCKET_HAIL_ON_SURFACE
+bucket hail on surface
+1
+tmpl4_8
+HAILAC
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+0
+0.0
+0
+0.0
+1
+3.0
+0
+0
+0
+?
+?
+?
 559
 GSD_CSNOW_ON_SURFACE
 GSD_Categorical snow on surface
@@ -3085,7 +3127,7 @@ spec_hgt_lvl_above_grnd
 ?
 ?
 794
-GSD_MAX_COLMAX_GRAUPEL_HAIL_DIAMETER
+MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN
 ?
 1
 tmpl4_8
@@ -3119,7 +3161,7 @@ entire_atmos
 0
 0.0
 1
-4.0
+3.0
 0
 0
 0
@@ -3127,7 +3169,7 @@ entire_atmos
 ?
 ?
 795
-GSD_MAX_SIGMA_LVL_MAX_GRAUPEL_HAIL_DIAMETER
+MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL
 ?
 1
 tmpl4_8
@@ -3135,52 +3177,10 @@ HAIL
 ?
 MAX
 sigma_lvl
-1
-1
-1
-1.
-?
-0
-?
-0
-?
-?
-?
-?
-0
-0.0
-0
-0.0
-?
-0
-0.0
-0
-0.0
-0
-0.0
-0
-0.0
-1
-4.0
-0
-0
 0
 ?
-?
-?
-728
-GSD_HAILCAST_HAIL_DIAMETER
-?
 1
-tmpl4_8
-HAIL
-?
-MAX
-surface
-0
-?
-0
-?
+1.
 ?
 0
 ?
@@ -3203,7 +3203,7 @@ surface
 0
 0.0
 1
-4.0
+3.0
 0
 0
 0
diff --git a/parm/mpas/postxconfig-NT-rrfs_mpas.txt b/parm/mpas/postxconfig-NT-rrfs_mpas.txt
index 8200e4909..e2e411253 100644
--- a/parm/mpas/postxconfig-NT-rrfs_mpas.txt
+++ b/parm/mpas/postxconfig-NT-rrfs_mpas.txt
@@ -2244,6 +2244,48 @@ surface
 ?
 ?
 ?
+1025
+BUCKET_HAIL_ON_SURFACE
+bucket hail on surface
+1
+tmpl4_8
+HAILAC
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+0
+0.0
+0
+0.0
+1
+3.0
+0
+0
+0
+?
+?
+?
 559
 GSD_CSNOW_ON_SURFACE
 GSD_Categorical snow on surface
@@ -3463,7 +3505,7 @@ spec_hgt_lvl_above_grnd
 ?
 ?
 794
-GSD_MAX_COLMAX_GRAUPEL_HAIL_DIAMETER
+MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN
 ?
 1
 tmpl4_8
@@ -3497,7 +3539,7 @@ entire_atmos
 0
 0.0
 1
-4.0
+3.0
 0
 0
 0
@@ -3505,7 +3547,7 @@ entire_atmos
 ?
 ?
 795
-GSD_MAX_SIGMA_LVL_MAX_GRAUPEL_HAIL_DIAMETER
+MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL
 ?
 1
 tmpl4_8
@@ -3513,52 +3555,10 @@ HAIL
 ?
 MAX
 sigma_lvl
-1
-1
-1
-1.
-?
-0
-?
-0
-?
-?
-?
-?
-0
-0.0
-0
-0.0
-?
-0
-0.0
-0
-0.0
-0
-0.0
-0
-0.0
-1
-4.0
-0
-0
 0
 ?
-?
-?
-728
-GSD_HAILCAST_HAIL_DIAMETER
-?
 1
-tmpl4_8
-HAIL
-?
-MAX
-surface
-0
-?
-0
-?
+1.
 ?
 0
 ?
@@ -3581,7 +3581,7 @@ surface
 0
 0.0
 1
-4.0
+3.0
 0
 0
 0
diff --git a/parm/mpas/rrfs_mpas_postcntrl.xml b/parm/mpas/rrfs_mpas_postcntrl.xml
index d596f507e..5736c2038 100755
--- a/parm/mpas/rrfs_mpas_postcntrl.xml
+++ b/parm/mpas/rrfs_mpas_postcntrl.xml
@@ -320,6 +320,11 @@
            <scale>6.0</scale>
        </param>
 
+       <param>
+           <shortname>BUCKET_HAIL_ON_SURFACE</shortname>
+           <scale>3.0</scale>
+       </param>
+
        <param>
            <shortname>GSD_CSNOW_ON_SURFACE</shortname>
            <scale>1.0</scale>
@@ -481,18 +486,13 @@
        </param>
 
        <param>
-           <shortname>GSD_MAX_COLMAX_GRAUPEL_HAIL_DIAMETER</shortname>
-           <scale>4.0</scale>
-       </param>
-
-       <param>
-           <shortname>GSD_MAX_SIGMA_LVL_MAX_GRAUPEL_HAIL_DIAMETER</shortname>
-           <scale>4.0</scale>
+           <shortname>MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN</shortname>
+           <scale>3.0</scale>
        </param>
 
        <param>
-           <shortname>GSD_HAILCAST_HAIL_DIAMETER</shortname>
-           <scale>4.0</scale>
+           <shortname>MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL</shortname>
+           <scale>3.0</scale>
        </param>
 
        <param>
diff --git a/parm/params_grib2_tbl_new b/parm/params_grib2_tbl_new
index 62081c9e2..d5c9e465c 100644
--- a/parm/params_grib2_tbl_new
+++ b/parm/params_grib2_tbl_new
@@ -316,6 +316,7 @@
    0   0     7   0 DEPR
    1   0    13   0 DEPWSS
   20   1     6   0 DFPRATIO
+   0   4   206   1 DFSWRFLXCS
   10   2     2   0 DICED
    4  10     3   0 DIDXSG
    4   4     2   0 DIFEFLUX
@@ -553,6 +554,7 @@
    1   0     9   0 GWLOWS
    2   0   214   1 GWREC
    1   0     8   0 GWUPS
+   0   1   236   1 HAILAC
    0   1    71   0 HAILMXR
    0  19   198   1 HAILPROB
    0   1    73   0 HAILPR
diff --git a/parm/params_grib2_tbl_new.text b/parm/params_grib2_tbl_new.text
index 0acfbe0e8..92526b252 100755
--- a/parm/params_grib2_tbl_new.text
+++ b/parm/params_grib2_tbl_new.text
@@ -23,7 +23,7 @@
 !                                    new tables: 4.2-2-6
 !                                    4.2-4-5,10 4.2-20-0,1,2,3
 !2024-07-17         A. BENJAMIN      GRIB2 v33.0 update, new parameters
-!
+!2025-05-14         B. BLAKE         Added new parameters
 !
 !
 !GRIB2 parameter table for all disciplines and categories
@@ -321,6 +321,8 @@
    0   1   233   1 SNOWLR
    0   1   234   1 PCPDUR
    0   1   235   1 CLLMR
+!  Added new parameters on 5/14/2025
+   0   1   236   1 HAILAC
    0   1   241   1 TSNOW
    0   1   242   1 RHPW
    0   1   245   1 MAXVIG
@@ -590,6 +592,8 @@
    0   4   203   1 NDDSF
    0   4   204   1 DTRF
    0   4   205   1 UTRF
+!  Added new parameters on 5/14/2025
+   0   4   206   1 DFSWRFLXCS
 !
 ! GRIB2 - TABLE 4.2-0-5 PARAMETERS FOR DISCIPLINE 0 CATEGORY 5
 !
@@ -1367,6 +1371,7 @@
    2   3   201   1 AVSFT
    2   3   202   1 RADT
    2   3   203   1 FLDCP
+! Updated parameter name on 4/9/2025
    2   3   204   1 MSTAVTOP
 !
 ! GRIB2 - TABLE 4.2-2-4 PARAMETERS FOR DISCIPLINE 2 CATEGORY 4
@@ -1650,7 +1655,7 @@
    3 192    83   0 SBTA1814
    3 192    84   0 SBTA1815
    3 192    85   0 SBTA1816
-!  Added more parameters in 03/11/2025
+!  New parameters added 03/27/2025
    3 192    86   0 SSMS1712
    3 192    87   0 SSMS1713
 !
diff --git a/parm/post_avblflds.xml b/parm/post_avblflds.xml
index 9d1570031..ab7da647a 100755
--- a/parm/post_avblflds.xml
+++ b/parm/post_avblflds.xml
@@ -7343,7 +7343,7 @@
 
     <param>
        <post_avblfldidx>794</post_avblfldidx>
-       <shortname>GSD_MAX_COLMAX_GRAUPEL_HAIL_DIAMETER</shortname>
+       <shortname>MAX_GRAUPEL_HAIL_DIAMETER_IN_COLUMN</shortname>
        <pdstmpl>tmpl4_8</pdstmpl>
        <pname>HAIL</pname>
        <stats_proc>MAX</stats_proc>
@@ -7353,16 +7353,32 @@
 
     <param>
        <post_avblfldidx>795</post_avblfldidx>
-       <shortname>GSD_MAX_SIGMA_LVL_MAX_GRAUPEL_HAIL_DIAMETER</shortname>
+       <shortname>MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL</shortname>
        <pdstmpl>tmpl4_8</pdstmpl>
        <pname>HAIL</pname>
        <stats_proc>MAX</stats_proc>
        <fixed_sfc1_type>sigma_lvl</fixed_sfc1_type>
-       <scale_fact_fixed_sfc1>1</scale_fact_fixed_sfc1>
        <level>1.</level>
        <scale>4.0</scale>
     </param>
 
+    <param>
+       <post_avblfldidx>796</post_avblfldidx>
+       <shortname>INST_CLRSKY_SWDDNI_ON_SURFACE</shortname>
+       <pname>DSWRFLXCS</pname>
+       <fixed_sfc1_type>surface</fixed_sfc1_type>
+       <scale>4.0</scale>
+    </param>
+
+    <param>
+       <post_avblfldidx>797</post_avblfldidx>
+       <shortname>INST_CLRSKY_SWDDIF_ON_SURFACE</shortname>
+       <pname>DFSWRFLXCS</pname>
+       <table_info>NCEP</table_info>
+       <fixed_sfc1_type>surface</fixed_sfc1_type>
+       <scale>4.0</scale>
+    </param>
+
     <param>
        <post_avblfldidx>799</post_avblfldidx>
        <shortname>TCDC_ON_BOUND_LYR</shortname>
@@ -8495,5 +8511,17 @@
        <scale>3.0</scale>
     </param>
 
+    <param>
+       <post_avblfldidx>1025</post_avblfldidx>
+       <shortname>BUCKET_HAIL_ON_SURFACE</shortname>
+       <longname>bucket hail on surface</longname>
+       <pdstmpl>tmpl4_8</pdstmpl>
+       <pname>HAILAC</pname>
+       <table_info>NCEP</table_info>
+       <stats_proc>ACM</stats_proc>
+       <fixed_sfc1_type>surface</fixed_sfc1_type>
+       <scale>3.0</scale>
+    </param>
+
   </post_avblflds>
 </postxml>
diff --git a/sorc/ncep_post.fd/ALLOCATE_ALL.f b/sorc/ncep_post.fd/ALLOCATE_ALL.f
index 973af2aef..16853a3f9 100644
--- a/sorc/ncep_post.fd/ALLOCATE_ALL.f
+++ b/sorc/ncep_post.fd/ALLOCATE_ALL.f
@@ -28,6 +28,7 @@
 !! -  23-08-16  Yali Mao - Add CIT (Convectively-Induced Turbulence) for GTG4
 !! -  23-08-16  Yali Mao - Make it optional to allocate GTG related fields only when gtg_on
 !! -  25-01-13  Jaymes Kenyon - Add graupel number concentration (QQNG)
+!! -  25-05-05  Jaymes Kenyon - Add HAIL_BUCKET
 
 !!   OUTPUT FILES:
 !!   - STDOUT  - RUN TIME STANDARD OUT.
@@ -621,6 +622,7 @@ SUBROUTINE ALLOCATE_ALL()
       allocate(snow_bucket1(ista_2l:iend_2u,jsta_2l:jend_2u))
       allocate(graup_bucket(ista_2l:iend_2u,jsta_2l:jend_2u))
       allocate(graup_bucket1(ista_2l:iend_2u,jsta_2l:jend_2u))
+      allocate(hail_bucket(ista_2l:iend_2u,jsta_2l:jend_2u))
       allocate(frzrn_bucket(ista_2l:iend_2u,jsta_2l:jend_2u))
       allocate(snow_acm(ista_2l:iend_2u,jsta_2l:jend_2u))
       allocate(snow_bkt(ista_2l:iend_2u,jsta_2l:jend_2u))
@@ -653,6 +655,7 @@ SUBROUTINE ALLOCATE_ALL()
           snow_bucket1(i,j)=spval
           graup_bucket(i,j)=spval
           graup_bucket1(i,j)=spval
+          hail_bucket(i,j)=spval
           frzrn_bucket(i,j)=spval
           snow_acm(i,j)=spval
           snow_bkt(i,j)=spval
diff --git a/sorc/ncep_post.fd/CLDRAD.f b/sorc/ncep_post.fd/CLDRAD.f
index 1e8f1629f..8029be2ba 100644
--- a/sorc/ncep_post.fd/CLDRAD.f
+++ b/sorc/ncep_post.fd/CLDRAD.f
@@ -87,6 +87,7 @@
 !>                                | 3) Remove code for parameter 798, corresponding to GSD/GSL cloud-base pressure. 
 !>                                |    Similar to (2) above, GSL cloud base is now handled via MODELNAME / SUBMODELNAME
 !>                                |    logic, rather than a dedicated parameter number.
+!> 2025-05-08 | Jaymes Kenyon     | For FV3 and MPAS applications, prevent cloud base from being diagnosed as below ground
 !>
 !> @author Russ Treadon W/NP2 @date 1993-08-30
 !---------------------------------------------------------------------------------
@@ -1823,8 +1824,8 @@ SUBROUTINE CLDRAD
             ELSE IF((MODELNAME == 'FV3R') .OR. &
                     (MODELNAME == 'RAPR' .AND. SUBMODELNAME == 'MPAS')) THEN
                IF (IBOT>0 .AND. IBOT<=NINT(LMH(I,J))) THEN
-                 CLDP(I,J) = PINT(I,J,IBOT+1) ! Since IBOT corresponds to a mid-layer location, consider
-                 CLDZ(I,J) = ZINT(I,J,IBOT+1) ! the underlying interfacial level as the cloud base
+                 CLDP(I,J) = PINT(I,J,MIN(IBOT+1,LM)) ! Since IBOT corresponds to a mid-layer location, consider
+                 CLDZ(I,J) = ZINT(I,J,MIN(IBOT+1,LM)) ! the underlying interfacial level as the cloud base
                ELSE
                  CLDP(I,J) = SPVAL
                  CLDZ(I,J) = SPVAL
diff --git a/sorc/ncep_post.fd/DEALLOCATE.f b/sorc/ncep_post.fd/DEALLOCATE.f
index f317a2534..9d5a646df 100644
--- a/sorc/ncep_post.fd/DEALLOCATE.f
+++ b/sorc/ncep_post.fd/DEALLOCATE.f
@@ -15,6 +15,8 @@
 !(UFS-Chem) and 2D diag. output (d2d_chem) for GEFS-Aerosols and CCPP-Chem model.
 !> 2023-08-16 | Yali Mao     | Add CIT to GTG fields. Add namelist optoin of gtg_on
 !> 2025-01-13 | Jaymes Kenyon| Add graupel number concentration (QQNG)
+!> 2025-01-13 | Jaymes Kenyon| Add HAIL_BUCKET
+
 !> @author Jim Tuccillo IBM @date 2000-01-06
       SUBROUTINE DE_ALLOCATE
 
@@ -401,6 +403,7 @@ SUBROUTINE DE_ALLOCATE
       deallocate(snow_bucket1)
       deallocate(graup_bucket)
       deallocate(graup_bucket1)
+      deallocate(hail_bucket)
       deallocate(frzrn_bucket)
       deallocate(snow_acm)
       deallocate(snow_bkt)
diff --git a/sorc/ncep_post.fd/INITPOST_MPAS.F b/sorc/ncep_post.fd/INITPOST_MPAS.F
index d8c2d1c48..4e2d8257d 100644
--- a/sorc/ncep_post.fd/INITPOST_MPAS.F
+++ b/sorc/ncep_post.fd/INITPOST_MPAS.F
@@ -26,6 +26,7 @@
 !> 2025-01-13 | Jaymes Kenyon| Add graupel number concentration (QQNG)
 !> 2025-03-20 | Jaymes Kenyon| Remove some unused code carried over from INITPOST, 
 !>                             add/clarify comments, and modify several print/write statements
+!> 2025-05-08 | Jaymes Kenyon| Add HAIL_BUCKET accumulation; remove old/unused blocks of code
 !>
 !> @author Jaymes Kenyon (GSL) @date 2024-08-14
 
@@ -34,7 +35,7 @@ SUBROUTINE INITPOST_MPAS
       use vrbls4d, only: dust, smoke
       use vrbls3d, only: t, u, uh, v, vh, wh, q, pmid, t, omga, pint, alpint,      &
               qqr, qqs, qqi, qqg, qqnw, qqni, qqnr, qqng, cwm, qqw, qqi, qqr, qqs, extcof55,&
-              f_ice, f_rain, f_rimef, q2, zint, zmid, ttnd, cfr, cfr_raw, qc_bl, REF_10CM,  &
+              q2, zint, zmid, ttnd, cfr, cfr_raw, qc_bl, REF_10CM,                 &
               qqnwfa,qqnifa,taod5503d,aextc55
       use vrbls2d, only: tmax, qrmax, htop, hbot, cuppt, fis, cfrach, cfracl,      &
               sr, cfrach, cfracm, wspd10max, w_up_max, w_dn_max, w_mean, refd_max, &
@@ -45,18 +46,19 @@ SUBROUTINE INITPOST_MPAS
               hail_max2d,hail_maxk1,hail_maxhailcast,ltg1_max,                     &
               ltg2_max, ltg3_max, nci_ltg, nca_ltg, nci_wq, nca_wq, nci_refd,      &
               u10, v10, th10, q10, tshltr, mrshltr,                                &
-              nca_refd, qv2m, qshltr, smstav, smstot, ssroff, bgroff, sfcevp,      &
-              sfcexc, vegfrc, acsnow, cmc, sst, thz0, qz0, uz0, vz0, qs, qvg,      &
-              z0, ustar, akhs, akms, radot, ths, acsnom, cuprec, ancprc, acprec,   &
+              nca_refd, qv2m, qshltr, smstav, ssroff, bgroff,                      &
+              vegfrc, acsnow, cmc, sst, thz0, qs, qvg,                             &
+              z0, ustar, radot, ths, acsnom, cuprec, ancprc, acprec,               &
               rainc_bucket, pcp_bucket, cprate, prec, snownc, snow_bucket,         &
-              graup_bucket, swddni, swddif, mean_frp, acgraup, acfrain,            &
+              graup_bucket, hail_bucket, swddni, swddif, mean_frp,                 &
+              acgraup, acfrain,                                                    &
               graupelnc, albedo, rswin, rswout, swdnbc, swddnic,                   &
               swddifc, swupbc, swupt, czen, czmean, rlwin, lwdnbc, lwupbc,         &
               rainnc_bucket, taod5502d, aerasy2d, aerssa2d, lwp, iwp,              &
               sigt4, rlwtoa, rswinc, aswin, aswout, alwin, alwout, alwtoa, aswtoa, &
               tg, soiltb, twbs, qwbs,grnflx, sfcshx, sfclhx, subshx, snopcx,       &
               sfcuvx, potevp, ncfrcv, ncfrst, sno, si, pctsno, snonc, tsnow,       &
-              ivgtyp, isltyp, islope, pblh, pblhgust, f,                           &
+              ivgtyp, isltyp, pblh, pblhgust, f,                                   &
               QVl1,REFC_10CM,REF1KM_10CM,REF4KM_10CM,                              &
               SWRADmean,U10mean,V10mean,SPDUV10mean,SWNORMmean,SNFDEN,SNDEPAC,     &
               hbotd,hbots,rainc_bucket1,rainnc_bucket1,pcp_bucket1,snow_bucket1,   &
@@ -1484,23 +1486,22 @@ SUBROUTINE INITPOST_MPAS
        end do
 !       print*,'GRPL_MAX at ',ii,jj,' = ',GRPL_MAX(ii,jj)
 
-
-      VarName='HAIL_MAXK1'
+      VarName='HAIL_MAXK1' ! maximum hail diameter at the surface (over diagnostic interval)
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
         IM,1,JM,1,IM,JS,JE,1)
        do j = jsta_2l, jend_2u
         do i = 1, im
-            HAIL_MAXK1 ( i, j ) = dummy ( i, j )
+            HAIL_MAXK1 ( i, j ) = dummy ( i, j ) * 0.001 ! convert mm to m
         end do
        end do
 !       print*,'HAIL_MAXK1 at ',ii,jj,' = ',HAIL_MAXK1(ii,jj)
 
-      VarName='HAIL_MAX2D'
+      VarName='HAIL_MAX2D' ! maximum hail diameter in the column (over diagnostic interval)
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
         IM,1,JM,1,IM,JS,JE,1)
        do j = jsta_2l, jend_2u
         do i = 1, im
-            HAIL_MAX2D ( i, j ) = dummy ( i, j )
+            HAIL_MAX2D ( i, j ) = dummy ( i, j ) * 0.001 ! convert mm to m
         end do
        end do
 !       print*,'HAIL_MAX2D at ',ii,jj,' = ',HAIL_MAX2D(ii,jj)
@@ -1783,16 +1784,6 @@ SUBROUTINE INITPOST_MPAS
         end do
        end do
        
-!      VarName='SMSTOT'
-!      call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
-!        IM,1,JM,1,IM,JS,JE,1)
-!       do j = jsta_2l, jend_2u
-!        do i = 1, im
-!            SMSTOT ( i, j ) = dummy ( i, j )
-!        end do
-!       end do       
-             
-!mhu      VarName='SSROFF' 
       VarName='SFROFF' 
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        & 
         IM,1,JM,1,IM,JS,JE,1)
@@ -1810,25 +1801,6 @@ SUBROUTINE INITPOST_MPAS
         end do
        end do
 
-!      VarName='SFCEVP'
-!      call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &  
-!        IM,1,JM,1,IM,JS,JE,1)
-!       do j = jsta_2l, jend_2u
-!        do i = 1, im
-!            SFCEVP( i, j ) = dummy ( i, j )
-!        end do
-!       end do
-!       print*,'SFCEVP at ',ii,jj,' = ',SFCEVP(ii,jj) 
-      
-!      VarName='SFCEXC'
-!      call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &  
-!        IM,1,JM,1,IM,JS,JE,1)
-!       do j = jsta_2l, jend_2u
-!        do i = 1, im
-!            SFCEXC ( i, j ) = dummy ( i, j )
-!        end do
-!       end do       
-       
       VarName='VEGFRA'
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
         IM,1,JM,1,IM,JS,JE,1)
@@ -1911,44 +1883,6 @@ SUBROUTINE INITPOST_MPAS
             THZ0 ( i, j ) = dummy ( i, j )
         end do
        end do
-!       print*,'THZ0 at ',ii,jj,' = ',THZ0(ii,jj)
-!      VarName='QZ0'
-!      call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
-!        IM,1,JM,1,IM,JS,JE,1)
-!       do j = jsta_2l, jend_2u
-!        do i = 1, im
-!            QZ0 ( i, j ) = dummy ( i, j )
-!        end do
-!       end do
-!       print*,'QZ0 at ',ii,jj,' = ',QZ0(ii,jj)
-!      VarName='UZ0'
-!      call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &   
-!        IM,1,JM,1,IM,JS,JE,1)
-!       do j = jsta_2l, jend_2u
-!        do i = 1, im
-!            UZ0 ( i, j ) = dummy ( i, j )
-!        end do
-!       end do
-!       print*,'UZ0 at ',ii,jj,' = ',UZ0(ii,jj)
-!      VarName='VZ0'
-!      call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
-!        IM,1,JM,1,IM,JS,JE,1)
-!       do j = jsta_2l, jend_2u
-!        do i = 1, im
-!            VZ0 ( i, j ) = dummy ( i, j )
-!        end do
-!       end do
-!       print*,'VZ0 at ',ii,jj,' = ',VZ0(ii,jj)
-!      VarName='QSFC'
-!      call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
-!        IM,1,JM,1,IM,JS,JE,1)
-!       do j = jsta_2l, jend_2u
-!        do i = 1, im
-!            QS ( i, j ) = dummy ( i, j )
-!            QVG ( i, j ) = dummy ( i, j )/(1.-dummy ( i, j ))
-!        end do
-!       end do
-!       print*,'QS at ',ii,jj,' = ',QS(ii,jj)
 
       IF(MODELNAME == 'RAPR')THEN
          VarName='ZNT'
@@ -1970,7 +1904,6 @@ SUBROUTINE INITPOST_MPAS
           end do
       END IF
 
-!      VarName='USTAR'
       VarName='UST'
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
         IM,1,JM,1,IM,JS,JE,1)
@@ -1981,40 +1914,14 @@ SUBROUTINE INITPOST_MPAS
        end do
 !       print*,'USTAR at ',ii,jj,' = ',USTAR(ii,jj)
 
-!      IF(MODELNAME == 'RAPR')THEN
-!        VarName='FLHC'
-!      ELSE
-!        VarName='AKHS'
-!      ENDIF
-!      call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
-!        IM,1,JM,1,IM,JS,JE,1)
-!       do j = jsta_2l, jend_2u
-!        do i = 1, im
-!            AKHS ( i, j ) = dummy ( i, j )
-!        end do
-!       end do
-!      VarName='AKMS'
-!      call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
-!        IM,1,JM,1,IM,JS,JE,1)
-!       do j = jsta_2l, jend_2u
-!        do i = 1, im
-!            AKMS ( i, j ) = dummy ( i, j )
-!        end do
-!       end do
-
-!
-!	In my version, variable is TSK (skin temp, not skin pot temp)
-!
-!mp      call getVariable(fileName,DateStr,DataHandle,'THSK',DUMMY,
       VarName='TSK'
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &  
         IM,1,JM,1,IM,JS,JE,1)
        do j = jsta_2l, jend_2u
         do i = 1, im
-!HC            THS ( i, j ) = dummy ( i, j ) ! this is WRONG (should be theta)
-!HC CONVERT SKIN TEMPERATURE TO SKIN POTENTIAL TEMPERATURE
 ! CHC: deriving outgoing longwave fluxes by assuming emmissitivity=1
            RADOT ( i, j ) = DUMMY(i,j)**4.0/STBOL
+! HC: CONVERT SKIN TEMPERATURE TO SKIN POTENTIAL TEMPERATURE
            THS ( i, j ) = dummy ( i, j )                                 &
                   *(P1000/PINT(I,J,NINT(LMH(I,J))+1))**CAPA
         end do
@@ -2033,9 +1940,6 @@ SUBROUTINE INITPOST_MPAS
          end do
       END IF
 
-!C
-!CMP
-!C
 !C RAINC is "ACCUMULATED TOTAL CUMULUS PRECIPITATION" 
 !C RAINNC is "ACCUMULATED TOTAL GRID SCALE PRECIPITATION"
 
@@ -2160,7 +2064,6 @@ SUBROUTINE INITPOST_MPAS
 !-- SNOW_bucket  is "ACCUMULATED GRID SCALE SNOW OVER BUCKET_DT PERIODS OF TIME"
 
       if (me==0) write(6,*) 'getting SNOW_ACC_NC, [mm] '
-!      VarName='SNOW_BUCKET'
       VarName='SNOW_ACC_NC'
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
         IM,1,JM,1,IM,JS,JE,1)
@@ -2206,6 +2109,23 @@ SUBROUTINE INITPOST_MPAS
         end do
        end do
 
+!-- HAIL_BUCKET is "Maximum hail diameter at the surface accumulated over diagnostic output" 
+
+! The reset interval (set in MPAS) for this array is not strictly equal to the interval used 
+! for other bucket accumulations (PREC_ACC_DT). However, it is functionally "like" a bucket 
+! accumulation, and a 60-min reset interval is anticipated. Therefore, "HAIL_ACC" is 
+! introcuded into UPP as another bucket accumulation. (J. Kenyon / GSL, 8 May 2025)
+
+      if (me==0) write(6,*) 'getting HAIL_ACC, [mm] '
+      VarName='HAIL_ACC'
+      call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,       &
+        IM,1,JM,1,IM,JS,JE,1)
+       do j = jsta_2l, jend_2u
+        do i = 1, im
+            hail_bucket ( i, j ) = dummy ( i, j ) * 0.001 ! convert mm to m
+        end do
+       end do
+
       VarName='ACGRAUP'
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &   
         IM,1,JM,1,IM,JS,JE,1)
@@ -2234,7 +2154,6 @@ SUBROUTINE INITPOST_MPAS
         end do
        end do
 
-
       VarName='ALBSOL'
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
         IM,1,JM,1,IM,JS,JE,1)
@@ -2243,19 +2162,6 @@ SUBROUTINE INITPOST_MPAS
             ALBEDO ( i, j ) = dummy ( i, j )
         end do
        end do
-!
-!  GSD trunk as 2014.4.14
-!      VarName='GSW'
-!      call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,&
-!        IM,1,JM,1,IM,JS,JE,1)
-!       do j = jsta_2l, jend_2u
-!        do i = 1, im
-!            RSWIN ( i, j ) = dummy ( i, j )
-! HCHUANG: GSW is actually net downward shortwave in ncar wrf
-!             RSWIN ( i, j ) = dummy ( i, j )/(1.0-albedo(i,j))
-!             RSWOUT ( i, j ) = RSWIN ( i, j ) - dummy ( i, j )
-!        end do
-!       end do
 
       VarName='SWDOWN'
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
@@ -2476,7 +2382,6 @@ SUBROUTINE INITPOST_MPAS
 ! NCAR WRF does not output accumulated fluxes so set the bitmap of these fluxes to 0
       do j = jsta_2l, jend_2u
         do i = 1, im
-!	   RLWTOA(I,J)=SPVAL
 	   RSWINC(I,J)=SPVAL
            ASWIN(I,J)=SPVAL  
 	   ASWOUT(I,J)=SPVAL
@@ -2665,16 +2570,6 @@ SUBROUTINE INITPOST_MPAS
        end do
 !       if (me==0) print*,'MAX ISLTYP=', maxval(dummy)
 
-!      VarName='ISLOPE'
-!      call getIVariableN(fileName,DateStr,DataHandle,VarName,IDUMMY,     &
-!        IM,1,JM,1,IM,JS,JE,1)
-!       do j = jsta_2l, jend_2u
-!        do i = 1, im
-!            ISLOPE( i, j ) = idummy ( i, j )
-!        end do
-!       end do
-       
-
 ! XLAND 1 land 2 sea
       VarName='XLAND'
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
@@ -3004,43 +2899,7 @@ SUBROUTINE INITPOST_MPAS
       IF(NPREC==0)TPREC=float(ifhr)  !in case buket does not get emptied
       if (me==0) print*,'NPREC,TPREC = ',NPREC,TPREC
 
-!tgs      TPREC=float(ifhr)  ! WRF EM does not empty precip buket at all
-
-!      TSRFC=float(NSRFC)/TSPH
-!      TRDLW=float(NRDLW)/TSPH
-!      TRDSW=float(NRDSW)/TSPH
-!      THEAT=float(NHEAT)/TSPH
-!      TCLOD=float(NCLOD)/TSPH
-!      TPREC=float(NPREC)/TSPH
       if (me==0) print*,'TSRFC TRDLW TRDSW= ',TSRFC, TRDLW, TRDSW
-!MEB need to get DT
-
-!how am i going to get this information?
-!      NPREC  = INT(TPREC *TSPH+D50)
-!      NHEAT  = INT(THEAT *TSPH+D50)
-!      NCLOD  = INT(TCLOD *TSPH+D50)
-!      NRDSW  = INT(TRDSW *TSPH+D50)
-!      NRDLW  = INT(TRDLW *TSPH+D50)
-!      NSRFC  = INT(TSRFC *TSPH+D50)
-!how am i going to get this information?
-!     
-!     IF(ME==0)THEN
-!       WRITE(6,*)' '
-!       WRITE(6,*)'DERIVED TIME STEPPING CONSTANTS'
-!       WRITE(6,*)' NPREC,NHEAT,NSRFC :  ',NPREC,NHEAT,NSRFC
-!       WRITE(6,*)' NCLOD,NRDSW,NRDLW :  ',NCLOD,NRDSW,NRDLW
-!     ENDIF
-!
-
-!      VarName='RAINCV'
-!      call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,
-!     &  IM,1,JM,1,IM,JS,JE,1)
-!       do j = jsta_2l, jend_2u
-!        do i = 1, im
-!            CUPPT ( i, j ) = dummy ( i, j )* 0.001*(TRDLW*3600.)	    
-!        end do
-!       end do
-
 
 !     COMPUTE DERIVED MAP OUTPUT CONSTANTS.
       DO L = 1,LSM
diff --git a/sorc/ncep_post.fd/SURFCE.f b/sorc/ncep_post.fd/SURFCE.f
index b5b852528..31f94693e 100644
--- a/sorc/ncep_post.fd/SURFCE.f
+++ b/sorc/ncep_post.fd/SURFCE.f
@@ -57,6 +57,7 @@
 !> 2024-08-26 | K Asmar    | Modify max winds at 10m agl for UFS time buckets
 !> 2024-10-29 | W Meng     | Unify iSF_SURFACE_PHYSICS as:1 for NOHA,2 for NOAH MP,3 for RUC 
 !> 2025-02-27 | S Trahan   | Update comment to match new use of IFI_APCP in IFI.F
+!> 2025-05-08 | J Kenyon   | Add HAIL_BUCKET accumulation
 !>     
 !> @note
 !> USAGE:    CALL SURFCE
@@ -107,7 +108,7 @@ SUBROUTINE SURFCE
                          acond,maxqshltr,minqshltr,avgpotevp,AVGPREC_CONT,    &
                          AVGCPRATE_CONT,sst,pcp_bucket1,rainnc_bucket1,       &
                          snow_bucket1, rainc_bucket1, graup_bucket1,          &
-                         frzrn_bucket, snow_acm, snow_bkt,                    &
+                         frzrn_bucket, snow_acm, snow_bkt, hail_bucket,       &
                          shdmin, shdmax, lai, ch10,cd10,landfrac,paha,pahi,   &
                          tecan,tetran,tedir,twa,IFI_APCP,xlaixy,              &
                          smoke_ave,dust_ave,coarsepm_ave
@@ -4357,6 +4358,66 @@ SUBROUTINE SURFCE
             endif
          ENDIF
 
+!     PRECIPITATION BUCKETS - accumulated between output times
+!     BUCKET HAIL (J. Kenyon, GSL / 8 May 2025)
+         IF (IGET(1025)>0.) THEN
+!$omp parallel do private(i,j)
+           DO J=JSTA,JEND
+             DO I=ISTA,IEND
+               GRID1(I,J) = HAIL_BUCKET(I,J)
+             ENDDO
+           ENDDO
+           ID(1:25) = 0
+           ITPREC     = NINT(TPREC)
+
+           if (ITPREC /= 0) then
+             IFINCR     = MOD(IFHR,ITPREC)
+             IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITPREC*60)
+           else
+             IFINCR     = 0
+           endif
+
+           if(MODELNAME=='NCAR' .OR. MODELNAME=='RAPR') IFINCR = NINT(PREC_ACC_DT)/60
+           ID(18)     = 0
+           ID(19)     = IFHR
+           IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN
+           ID(20)     = 4
+           IF (IFINCR==0) THEN
+             ID(18) = IFHR-ITPREC
+           ELSE
+             ID(18) = IFHR-IFINCR
+             IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR
+           ENDIF
+           IF (ID(18)<0) ID(18) = 0
+!           if(me==0)print*,'maxval BUCKET HAIL: ', maxval(GRID1)
+           if(grib=='grib2') then
+             cfld=cfld+1
+             fld_info(cfld)%ifld=IAVBLFLD(IGET(1025))
+             if(ITPREC>0) then
+               fld_info(cfld)%ntrange=(IFHR-ID(18))/ITPREC
+             else
+               fld_info(cfld)%ntrange=0
+             endif
+             fld_info(cfld)%tinvstat=ITPREC
+             if(fld_info(cfld)%ntrange==0) then
+               if (ifhr==0) then
+                 fld_info(cfld)%tinvstat=0
+               else
+                 fld_info(cfld)%tinvstat=1
+               endif
+               fld_info(cfld)%ntrange=1
+             end if
+!$omp parallel do private(i,j,ii,jj)
+             do j=1,jend-jsta+1
+               jj = jsta+j-1
+               do i=1,iend-ista+1
+               ii = ista+i-1
+                 datapd(i,j,cfld) = GRID1(ii,jj)
+               enddo
+             enddo
+           endif
+         ENDIF
+
 !     'BUCKET FREEZING RAIN '
          IF (IGET(1003)>0.) THEN
 !$omp parallel do private(i,j)
diff --git a/sorc/ncep_post.fd/VRBLS2D_mod.f b/sorc/ncep_post.fd/VRBLS2D_mod.f
index e3a143581..fe3f78a0b 100644
--- a/sorc/ncep_post.fd/VRBLS2D_mod.f
+++ b/sorc/ncep_post.fd/VRBLS2D_mod.f
@@ -179,6 +179,7 @@ module vrbls2d
       ,RAINNC_BUCKET(:,:) &   !< Accumulated grid-scale precipitation over BUCKET_DT periods of time
       ,SNOW_BUCKET(:,:) &     !< Accumulated grid-scale snow over BUCKET_DT periods of time
       ,GRAUP_BUCKET(:,:) &    !< Accumulated grid-scale graupel over BUCKET_DT periods of time
+      ,HAIL_BUCKET(:,:) &     !< Accumulated grid-scale hail over diagnostic period
       ,PCP_BUCKET(:,:) &      !< Bucket total precipitation over BUCKET_DT periods of time
       ,ACGRAUP(:,:) &         !< Accumulated graupel/sleet
       ,ACFRAIN(:,:) &         !< Accumulated freezing rain
diff --git a/tests/logs/rt.log.HERA b/tests/logs/rt.log.HERA
index 2050f0b6c..0a0f696a8 100644
--- a/tests/logs/rt.log.HERA
+++ b/tests/logs/rt.log.HERA
@@ -1,83 +1,77 @@
 ===== Start of UPP Regression Testing Log =====
 UPP Hash Tested:
-794e585c5e847cafd62b31e8c644d7e990fd07c0
+d0e2131773dd2633436f1228c7532d16710d67cf
 
 Submodule hashes:
 -179cae1dd84401cf25d250bd9102e66560a9d328 sorc/libIFI.fd
 -3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd
 
-Run directory: /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA
+Run directory: /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1203/ci/rundir/upp-HERA
 Baseline directory: /scratch2/NAGAPE/epic/UPP/test_suite
 
-Total runtime: 00h:14m:53s
-Test Date: 20250507 21:55:55
+Total runtime: 00h:10m:07s
+Test Date: 20250515 13:54:17
 Summary Results:
 
-05/07 21:48:38Z -fv3r_ifi_missing test: your new post executable generates bit-identical IFIFIP10.tm00 as the trunk
-05/07 21:48:46Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
-05/07 21:49:15Z -fv3hafs pe test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
-05/07 21:49:43Z -fv3gefs pe test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
-05/07 21:49:55Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
-05/07 21:49:58Z -rap test: your new post executable did not generate bit-identical WRFPRS.GrbF16 as the trunk
-05/07 21:49:59Z -nmmb pe test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
-05/07 21:50:01Z -nmmb pe test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
-05/07 21:50:02Z -nmmb pe test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
-05/07 21:50:02Z -rap pe test: your new post executable did generate changed results in WRFPRS.GrbF16
-05/07 21:50:03Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
-05/07 21:50:05Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
-05/07 21:50:06Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
-05/07 21:50:16Z -rap test: your new post executable did not generate bit-identical WRFNAT.GrbF16 as the trunk
-05/07 21:50:20Z -rap pe test: your new post executable did generate changed results in WRFNAT.GrbF16
-05/07 21:50:40Z -hrrr pe test: your new post executable is fine in WRFTWO.GrbF04
-05/07 21:50:42Z -hrrr pe test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
-05/07 21:50:43Z -hrrr pe test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
-05/07 21:51:15Z -hrrr test: your new post executable did not generate bit-identical WRFTWO.GrbF04 as the trunk
-05/07 21:51:16Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
-05/07 21:51:17Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
-05/07 21:51:27Z -fv3r test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the trunk
-05/07 21:51:34Z -fv3r pe test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the trunk
-05/07 21:52:38Z -rtma pe test: your new post executable did not generate bit-identical NATLEV00.tm00 as the trunk
-05/07 21:52:46Z -rtma test: your new post executable did not generate bit-identical NATLEV00.tm00 as the trunk
-05/07 21:54:10Z -fv3r test: your new post executable did not generate bit-identical NATLEV10.tm00 as the trunk
-05/07 21:54:15Z -fv3r pe test: your new post executable did not generate bit-identical NATLEV10.tm00 as the trunk
-05/07 21:54:26Z -rtma pe test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the trunk
-05/07 21:54:31Z -rtma test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the trunk
-05/07 21:55:04Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
-05/07 21:55:07Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
-05/07 21:55:07Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
-05/07 21:55:44Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
-05/07 21:55:47Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
-05/07 21:55:47Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
-05/07 21:50:20Z -Runtime: nmmb_test 00:01:00 -- baseline 00:01:00
-05/07 21:50:20Z -Runtime: nmmb_pe_test 00:01:12 -- baseline 00:01:00
-05/07 21:50:20Z -Runtime: fv3gefs_test 00:01:10 -- baseline 00:40:00
-05/07 21:50:21Z -Runtime: fv3gefs_pe_test 00:01:03 -- baseline 00:40:00
-05/07 21:50:21Z -Runtime: rap_test 00:01:32 -- baseline 00:02:00
-05/07 21:50:21Z -Runtime: rap_pe_test 00:01:36 -- baseline 00:02:00
-05/07 21:51:22Z -Runtime: hrrr_test 00:02:33 -- baseline 00:02:00
-05/07 21:51:22Z -Runtime: hrrr_pe_test 00:02:37 -- baseline 00:02:00
-05/07 21:55:08Z -Runtime: fv3gfs_test 00:07:01 -- baseline 00:15:00
-05/07 21:55:54Z -Runtime: fv3gfs_pe_test 00:07:41 -- baseline 00:15:00
-05/07 21:55:54Z -Runtime: fv3r_test 00:06:04 -- baseline 00:03:00
-05/07 21:55:54Z -Runtime: fv3r_pe_test 00:06:10 -- baseline 00:03:00
-05/07 21:55:54Z -Runtime: fv3r_ifi_missing 00:00:32 -- baseline 00:03:00
-05/07 21:55:54Z -Runtime: fv3hafs_test 00:00:41 -- baseline 00:03:00
-05/07 21:55:54Z -Runtime: fv3hafs_pe_test 00:00:31 -- baseline 00:03:00
-05/07 21:55:55Z -Runtime: rtma_test 00:06:25 -- baseline 00:03:00
-05/07 21:55:55Z -Runtime: rtma_pe_test 00:06:20 -- baseline 00:03:00
-There are changes in results for case fv3r_pe_test in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA/fv3r_2023062800_pe_test/NATLEV10.tm00
-There are changes in results for case fv3r_pe_test in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA/fv3r_2023062800_pe_test/PRSLEV10.tm00
-There are changes in results for case fv3r in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA/fv3r_2023062800/NATLEV10.tm00
-There are changes in results for case fv3r in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA/fv3r_2023062800/PRSLEV10.tm00
-There are changes in results for case rap in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA/rap_2020072316/WRFNAT.GrbF16
-There are changes in results for case rap in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA/rap_2020072316/WRFPRS.GrbF16
-There are changes in results for case rap_pe_test in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA/rap_2020072316_pe_test/WRFNAT.GrbF16
-There are changes in results for case rap_pe_test in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA/rap_2020072316_pe_test/WRFPRS.GrbF16
-There are changes in results for case rtma_pe_test in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA/rtma_2023040400_pe_test/PRSLEV00.tm00
-There are changes in results for case rtma_pe_test in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA/rtma_2023040400_pe_test/NATLEV00.tm00
-There are changes in results for case hrrr in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA/hrrr_2020060118/WRFTWO.GrbF04
-There are changes in results for case hrrr_pe_test in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA/hrrr_2020060118_pe_test/WRFTWO.GrbF04
-There are changes in results for case rtma in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA/rtma_2023040400/PRSLEV00.tm00
-There are changes in results for case rtma in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA/rtma_2023040400/NATLEV00.tm00
-Refer to .diff files in rundir: /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1185-retest/ci/rundir/upp-HERA for details on differences in results for each case.
+05/15 13:47:09Z -fv3r_ifi_missing test: your new post executable generates bit-identical IFIFIP10.tm00 as the trunk
+05/15 13:47:37Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
+05/15 13:47:41Z -fv3gefs pe test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
+05/15 13:47:42Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
+05/15 13:48:14Z -fv3hafs pe test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
+05/15 13:48:30Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the trunk
+05/15 13:48:32Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk
+05/15 13:48:42Z -hrrr pe test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk
+05/15 13:48:44Z -hrrr pe test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
+05/15 13:48:45Z -hrrr pe test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
+05/15 13:48:51Z -nmmb pe test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
+05/15 13:48:53Z -nmmb pe test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
+05/15 13:48:53Z -nmmb pe test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
+05/15 13:48:55Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
+05/15 13:48:56Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
+05/15 13:48:57Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
+05/15 13:48:59Z -rap pe test: your new post executable did generate changed results in WRFPRS.GrbF16
+05/15 13:49:00Z -rap pe test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk
+05/15 13:49:06Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk
+05/15 13:49:07Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
+05/15 13:49:08Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
+05/15 13:50:02Z -fv3r test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the trunk
+05/15 13:50:56Z -fv3r pe test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the trunk
+05/15 13:51:00Z -rtma pe test: your new post executable did not generate bit-identical NATLEV00.tm00 as the trunk
+05/15 13:51:09Z -rtma test: your new post executable did not generate bit-identical NATLEV00.tm00 as the trunk
+05/15 13:52:44Z -rtma pe test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the trunk
+05/15 13:52:45Z -fv3r test: your new post executable did not generate bit-identical NATLEV10.tm00 as the trunk
+05/15 13:52:54Z -rtma test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the trunk
+05/15 13:53:26Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
+05/15 13:53:29Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
+05/15 13:53:29Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
+05/15 13:53:39Z -fv3r pe test: your new post executable did not generate bit-identical NATLEV10.tm00 as the trunk
+05/15 13:54:06Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
+05/15 13:54:10Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
+05/15 13:54:10Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
+05/15 13:49:12Z -Runtime: nmmb_test 00:01:15 -- baseline 00:01:00
+05/15 13:49:12Z -Runtime: nmmb_pe_test 00:01:08 -- baseline 00:01:00
+05/15 13:49:12Z -Runtime: fv3gefs_test 00:00:41 -- baseline 00:40:00
+05/15 13:49:12Z -Runtime: fv3gefs_pe_test 00:00:29 -- baseline 00:40:00
+05/15 13:49:12Z -Runtime: rap_test 00:01:06 -- baseline 00:02:00
+05/15 13:49:13Z -Runtime: rap_pe_test 00:01:15 -- baseline 00:02:00
+05/15 13:49:13Z -Runtime: hrrr_test 00:02:29 -- baseline 00:02:00
+05/15 13:49:13Z -Runtime: hrrr_pe_test 00:02:07 -- baseline 00:02:00
+05/15 13:53:30Z -Runtime: fv3gfs_test 00:06:50 -- baseline 00:15:00
+05/15 13:54:15Z -Runtime: fv3gfs_pe_test 00:07:31 -- baseline 00:15:00
+05/15 13:54:15Z -Runtime: fv3r_test 00:06:06 -- baseline 00:03:00
+05/15 13:54:16Z -Runtime: fv3r_pe_test 00:05:54 -- baseline 00:03:00
+05/15 13:54:16Z -Runtime: fv3r_ifi_missing 00:00:30 -- baseline 00:03:00
+05/15 13:54:16Z -Runtime: fv3hafs_test 00:00:32 -- baseline 00:03:00
+05/15 13:54:16Z -Runtime: fv3hafs_pe_test 00:00:35 -- baseline 00:03:00
+05/15 13:54:17Z -Runtime: rtma_test 00:06:15 -- baseline 00:03:00
+05/15 13:54:17Z -Runtime: rtma_pe_test 00:06:05 -- baseline 00:03:00
+There are changes in results for case fv3r_pe_test in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1203/ci/rundir/upp-HERA/fv3r_2023062800_pe_test/NATLEV10.tm00
+There are changes in results for case fv3r_pe_test in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1203/ci/rundir/upp-HERA/fv3r_2023062800_pe_test/PRSLEV10.tm00
+There are changes in results for case fv3r in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1203/ci/rundir/upp-HERA/fv3r_2023062800/NATLEV10.tm00
+There are changes in results for case fv3r in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1203/ci/rundir/upp-HERA/fv3r_2023062800/PRSLEV10.tm00
+There are changes in results for case rtma_pe_test in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1203/ci/rundir/upp-HERA/rtma_2023040400_pe_test/PRSLEV00.tm00
+There are changes in results for case rtma_pe_test in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1203/ci/rundir/upp-HERA/rtma_2023040400_pe_test/NATLEV00.tm00
+There are changes in results for case rtma in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1203/ci/rundir/upp-HERA/rtma_2023040400/PRSLEV00.tm00
+There are changes in results for case rtma in /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1203/ci/rundir/upp-HERA/rtma_2023040400/NATLEV00.tm00
+Refer to .diff files in rundir: /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1203/ci/rundir/upp-HERA for details on differences in results for each case.
 ===== End of UPP Regression Testing Log =====
diff --git a/tests/logs/rt.log.HERCULES b/tests/logs/rt.log.HERCULES
index da46ff306..362d63ad7 100644
--- a/tests/logs/rt.log.HERCULES
+++ b/tests/logs/rt.log.HERCULES
@@ -1,83 +1,77 @@
 ===== Start of UPP Regression Testing Log =====
 UPP Hash Tested:
-5f981560375f516985d6481b20126d90b41be339
+d0e2131773dd2633436f1228c7532d16710d67cf
 
 Submodule hashes:
 -179cae1dd84401cf25d250bd9102e66560a9d328 sorc/libIFI.fd
 -3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd
 
-Run directory: /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES
+Run directory: /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1203/ci/rundir/upp-HERCULES
 Baseline directory: /work/noaa/epic/UPP
 
-Total runtime: 00h:23m:33s
-Test Date: 20250507 13:17:48
+Total runtime: 00h:13m:14s
+Test Date: 20250515 08:57:26
 Summary Results:
 
-05/07 17:58:54Z -nmmb pe test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
-05/07 17:58:55Z -nmmb pe test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
-05/07 17:58:56Z -nmmb pe test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
-05/07 17:59:09Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
-05/07 17:59:10Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
-05/07 17:59:11Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
-05/07 18:00:41Z -rap pe test: your new post executable did generate changed results in WRFPRS.GrbF16
-05/07 18:00:56Z -rap pe test: your new post executable did generate changed results in WRFNAT.GrbF16
-05/07 18:02:54Z -hrrr pe test: your new post executable is fine in WRFTWO.GrbF04
-05/07 18:02:54Z -hrrr pe test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
-05/07 18:02:56Z -hrrr pe test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
-05/07 18:05:24Z -rap test: your new post executable did not generate bit-identical WRFPRS.GrbF16 as the trunk
-05/07 18:05:27Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
-05/07 18:05:29Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
-05/07 18:05:29Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
-05/07 18:05:39Z -rap test: your new post executable did not generate bit-identical WRFNAT.GrbF16 as the trunk
-05/07 18:07:37Z -fv3r test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the trunk
-05/07 18:07:57Z -fv3r test: your new post executable generates bit-identical IFIFIP10.tm00 as the trunk
-05/07 18:08:04Z -fv3gefs pe test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
-05/07 18:08:08Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
-05/07 18:08:18Z -fv3hafs pe test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
-05/07 18:08:19Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
-05/07 18:09:17Z -hrrr test: your new post executable did not generate bit-identical WRFTWO.GrbF04 as the trunk
-05/07 18:09:18Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
-05/07 18:09:19Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
-05/07 18:09:54Z -fv3r test: your new post executable did not generate bit-identical NATLEV10.tm00 as the trunk
-05/07 18:11:11Z -fv3r pe test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the trunk
-05/07 18:12:49Z -rtma pe test: your new post executable did not generate bit-identical NATLEV00.tm00 as the trunk
-05/07 18:13:01Z -rtma test: your new post executable did not generate bit-identical NATLEV00.tm00 as the trunk
-05/07 18:13:36Z -fv3r pe test: your new post executable did not generate bit-identical NATLEV10.tm00 as the trunk
-05/07 18:14:19Z -rtma pe test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the trunk
-05/07 18:14:31Z -rtma test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the trunk
-05/07 18:17:33Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
-05/07 18:17:33Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
-05/07 18:17:33Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
-05/07 17:59:15Z -Runtime: nmmb_test 00:01:41 -- baseline 00:03:00
-05/07 17:59:16Z -Runtime: nmmb_pe_test 00:01:27 -- baseline 00:03:00
-05/07 18:08:17Z -Runtime: fv3gefs_test 00:00:22 -- baseline 01:20:00
-05/07 18:08:17Z -Runtime: fv3gefs_pe_test 00:00:18 -- baseline 01:20:00
-05/07 18:08:17Z -Runtime: rap_test 00:01:23 -- baseline 00:02:00
-05/07 18:08:17Z -Runtime: rap_pe_test 00:01:42 -- baseline 00:02:00
-05/07 18:09:32Z -Runtime: hrrr_test 00:05:03 -- baseline 00:02:00
-05/07 18:09:32Z -Runtime: hrrr_pe_test 00:03:41 -- baseline 00:02:00
-05/07 18:17:48Z -Runtime: fv3gfs_test 00:09:47 -- baseline 00:18:00
-05/07 18:17:48Z -Runtime: fv3gfs_pe_test 00:06:14 -- baseline 00:18:00
-05/07 18:17:48Z -Runtime: fv3r_test 00:05:38 -- baseline 00:03:00
-05/07 18:17:48Z -Runtime: fv3r_pe_test 00:05:50 -- baseline 00:03:00
-05/07 18:17:48Z -Runtime: fv3r_ifi_missing 00:00:11 -- baseline 00:03:00
-05/07 18:17:48Z -Runtime: fv3hafs_test 00:00:33 -- baseline 00:00:40
-05/07 18:17:48Z -Runtime: fv3hafs_pe_test 00:00:34 -- baseline 00:00:40
-05/07 18:17:48Z -Runtime: rtma_test 00:06:45 -- baseline 00:04:00
-05/07 18:17:48Z -Runtime: rtma_pe_test 00:06:33 -- baseline 00:04:00
-There are changes in results for case rtma_pe_test in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES/rtma_2023040400_pe_test/PRSLEV00.tm00
-There are changes in results for case rtma_pe_test in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES/rtma_2023040400_pe_test/NATLEV00.tm00
-There are changes in results for case rap_pe_test in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES/rap_2020072316_pe_test/WRFPRS.GrbF16
-There are changes in results for case rap_pe_test in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES/rap_2020072316_pe_test/WRFNAT.GrbF16
-There are changes in results for case rap in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES/rap_2020072316/WRFPRS.GrbF16
-There are changes in results for case rap in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES/rap_2020072316/WRFNAT.GrbF16
-There are changes in results for case fv3r_pe_test in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES/fv3r_2023062800_pe_test/PRSLEV10.tm00
-There are changes in results for case fv3r_pe_test in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES/fv3r_2023062800_pe_test/NATLEV10.tm00
-There are changes in results for case rtma in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES/rtma_2023040400/PRSLEV00.tm00
-There are changes in results for case rtma in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES/rtma_2023040400/NATLEV00.tm00
-There are changes in results for case fv3r in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES/fv3r_2023062800/NATLEV10.tm00
-There are changes in results for case fv3r in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES/fv3r_2023062800/PRSLEV10.tm00
-There are changes in results for case hrrr in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES/hrrr_2020060118/WRFTWO.GrbF04
-There are changes in results for case hrrr_pe_test in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES/hrrr_2020060118_pe_test/WRFTWO.GrbF04
-Refer to .diff files in rundir: /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1185-retest/ci/rundir/upp-HERCULES for details on differences in results for each case.
+05/15 13:49:23Z -fv3r test: your new post executable generates bit-identical IFIFIP10.tm00 as the trunk
+05/15 13:49:38Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
+05/15 13:49:43Z -fv3hafs pe test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
+05/15 13:49:46Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
+05/15 13:50:05Z -fv3gefs pe test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
+05/15 13:50:13Z -rap pe test: your new post executable did generate changed results in WRFPRS.GrbF16
+05/15 13:50:24Z -rap pe test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk
+05/15 13:50:45Z -hrrr pe test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk
+05/15 13:50:46Z -hrrr pe test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
+05/15 13:50:47Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the trunk
+05/15 13:50:48Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk
+05/15 13:50:51Z -hrrr pe test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
+05/15 13:51:33Z -fv3r test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the trunk
+05/15 13:51:53Z -nmmb pe test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
+05/15 13:51:56Z -nmmb pe test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
+05/15 13:51:56Z -nmmb pe test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
+05/15 13:52:03Z -fv3r pe test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the trunk
+05/15 13:53:50Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
+05/15 13:53:51Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
+05/15 13:53:52Z -fv3r test: your new post executable did not generate bit-identical NATLEV10.tm00 as the trunk
+05/15 13:53:54Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
+05/15 13:53:59Z -rtma test: your new post executable did not generate bit-identical NATLEV00.tm00 as the trunk
+05/15 13:54:03Z -rtma pe test: your new post executable did not generate bit-identical NATLEV00.tm00 as the trunk
+05/15 13:54:21Z -fv3r pe test: your new post executable did not generate bit-identical NATLEV10.tm00 as the trunk
+05/15 13:54:39Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk
+05/15 13:54:40Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
+05/15 13:54:42Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
+05/15 13:54:58Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
+05/15 13:54:59Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
+05/15 13:54:59Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
+05/15 13:55:33Z -rtma pe test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the trunk
+05/15 13:55:37Z -rtma test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the trunk
+05/15 13:57:23Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
+05/15 13:57:24Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
+05/15 13:57:24Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
+05/15 13:53:55Z -Runtime: nmmb_test 00:05:58 -- baseline 00:03:00
+05/15 13:53:55Z -Runtime: nmmb_pe_test 00:04:02 -- baseline 00:03:00
+05/15 13:53:55Z -Runtime: fv3gefs_test 00:00:52 -- baseline 01:20:00
+05/15 13:53:55Z -Runtime: fv3gefs_pe_test 00:01:19 -- baseline 01:20:00
+05/15 13:53:55Z -Runtime: rap_test 00:02:02 -- baseline 00:02:00
+05/15 13:53:55Z -Runtime: rap_pe_test 00:02:20 -- baseline 00:02:00
+05/15 13:54:55Z -Runtime: hrrr_test 00:05:56 -- baseline 00:02:00
+05/15 13:54:56Z -Runtime: hrrr_pe_test 00:02:47 -- baseline 00:02:00
+05/15 13:57:26Z -Runtime: fv3gfs_test 00:09:20 -- baseline 00:18:00
+05/15 13:57:26Z -Runtime: fv3gfs_pe_test 00:06:56 -- baseline 00:18:00
+05/15 13:57:26Z -Runtime: fv3r_test 00:05:48 -- baseline 00:03:00
+05/15 13:57:26Z -Runtime: fv3r_pe_test 00:06:17 -- baseline 00:03:00
+05/15 13:57:26Z -Runtime: fv3r_ifi_missing 00:01:19 -- baseline 00:03:00
+05/15 13:57:26Z -Runtime: fv3hafs_test 00:01:16 -- baseline 00:00:40
+05/15 13:57:26Z -Runtime: fv3hafs_pe_test 00:01:07 -- baseline 00:00:40
+05/15 13:57:26Z -Runtime: rtma_test 00:06:59 -- baseline 00:04:00
+05/15 13:57:26Z -Runtime: rtma_pe_test 00:06:55 -- baseline 00:04:00
+There are changes in results for case rtma_pe_test in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1203/ci/rundir/upp-HERCULES/rtma_2023040400_pe_test/NATLEV00.tm00
+There are changes in results for case rtma_pe_test in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1203/ci/rundir/upp-HERCULES/rtma_2023040400_pe_test/PRSLEV00.tm00
+There are changes in results for case fv3r in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1203/ci/rundir/upp-HERCULES/fv3r_2023062800/PRSLEV10.tm00
+There are changes in results for case fv3r in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1203/ci/rundir/upp-HERCULES/fv3r_2023062800/NATLEV10.tm00
+There are changes in results for case rtma in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1203/ci/rundir/upp-HERCULES/rtma_2023040400/PRSLEV00.tm00
+There are changes in results for case rtma in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1203/ci/rundir/upp-HERCULES/rtma_2023040400/NATLEV00.tm00
+There are changes in results for case fv3r_pe_test in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1203/ci/rundir/upp-HERCULES/fv3r_2023062800_pe_test/NATLEV10.tm00
+There are changes in results for case fv3r_pe_test in /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1203/ci/rundir/upp-HERCULES/fv3r_2023062800_pe_test/PRSLEV10.tm00
+Refer to .diff files in rundir: /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1203/ci/rundir/upp-HERCULES for details on differences in results for each case.
 ===== End of UPP Regression Testing Log =====
diff --git a/tests/logs/rt.log.ORION b/tests/logs/rt.log.ORION
index 3a3cd4ce0..18b8b7192 100644
--- a/tests/logs/rt.log.ORION
+++ b/tests/logs/rt.log.ORION
@@ -1,83 +1,77 @@
 ===== Start of UPP Regression Testing Log =====
 UPP Hash Tested:
-5f981560375f516985d6481b20126d90b41be339
+d0e2131773dd2633436f1228c7532d16710d67cf
 
 Submodule hashes:
 -179cae1dd84401cf25d250bd9102e66560a9d328 sorc/libIFI.fd
 -3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd
 
-Run directory: /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION
+Run directory: /work/noaa/epic/gpetro/orion/RTs/upp-rts/1203/ci/rundir/upp-ORION
 Baseline directory: /work/noaa/epic/UPP
 
-Total runtime: 00h:30m:26s
-Test Date: 20250507 12:33:45
+Total runtime: 00h:18m:54s
+Test Date: 20250515 09:03:06
 Summary Results:
 
-05/07 17:20:03Z -fv3r test: your new post executable generates bit-identical IFIFIP10.tm00 as the trunk
-05/07 17:20:08Z -fv3gefs pe test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
-05/07 17:20:21Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
-05/07 17:20:37Z -fv3hafs pe test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
-05/07 17:20:46Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
-05/07 17:21:00Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
-05/07 17:21:02Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
-05/07 17:21:32Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
-05/07 17:21:45Z -rap pe test: your new post executable did generate changed results in WRFPRS.GrbF16
-05/07 17:22:11Z -rap pe test: your new post executable did generate changed results in WRFNAT.GrbF16
-05/07 17:22:12Z -rap test: your new post executable did not generate bit-identical WRFPRS.GrbF16 as the trunk
-05/07 17:22:32Z -rap test: your new post executable did not generate bit-identical WRFNAT.GrbF16 as the trunk
-05/07 17:23:43Z -hrrr pe test: your new post executable is fine in WRFTWO.GrbF04
-05/07 17:23:45Z -hrrr pe test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
-05/07 17:23:46Z -hrrr pe test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
-05/07 17:24:28Z -nmmb pe test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
-05/07 17:24:29Z -nmmb pe test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
-05/07 17:24:29Z -nmmb pe test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
-05/07 17:25:20Z -fv3r test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the trunk
-05/07 17:25:53Z -fv3r pe test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the trunk
-05/07 17:27:57Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
-05/07 17:27:58Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
-05/07 17:27:58Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
-05/07 17:28:31Z -hrrr test: your new post executable did not generate bit-identical WRFTWO.GrbF04 as the trunk
-05/07 17:28:32Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
-05/07 17:28:42Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
-05/07 17:28:58Z -rtma pe test: your new post executable did not generate bit-identical NATLEV00.tm00 as the trunk
-05/07 17:30:01Z -rtma test: your new post executable did not generate bit-identical NATLEV00.tm00 as the trunk
-05/07 17:30:21Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
-05/07 17:30:22Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
-05/07 17:30:22Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
-05/07 17:31:08Z -fv3r test: your new post executable did not generate bit-identical NATLEV10.tm00 as the trunk
-05/07 17:31:32Z -fv3r pe test: your new post executable did not generate bit-identical NATLEV10.tm00 as the trunk
-05/07 17:32:36Z -rtma pe test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the trunk
-05/07 17:33:35Z -rtma test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the trunk
-05/07 17:21:41Z -Runtime: nmmb_test 00:03:51 -- baseline 00:03:00
-05/07 17:24:41Z -Runtime: nmmb_pe_test 00:06:49 -- baseline 00:03:00
-05/07 17:24:41Z -Runtime: fv3gefs_test 00:00:47 -- baseline 01:20:00
-05/07 17:24:41Z -Runtime: fv3gefs_pe_test 00:00:34 -- baseline 01:20:00
-05/07 17:24:41Z -Runtime: rap_test 00:02:58 -- baseline 00:02:00
-05/07 17:24:42Z -Runtime: rap_pe_test 00:02:37 -- baseline 00:02:00
-05/07 17:28:57Z -Runtime: hrrr_test 00:09:08 -- baseline 00:02:00
-05/07 17:28:57Z -Runtime: hrrr_pe_test 00:04:12 -- baseline 00:02:00
-05/07 17:30:27Z -Runtime: fv3gfs_test 00:10:48 -- baseline 00:18:00
-05/07 17:30:28Z -Runtime: fv3gfs_pe_test 00:08:24 -- baseline 00:18:00
-05/07 17:31:13Z -Runtime: fv3r_test 00:11:34 -- baseline 00:03:00
-05/07 17:31:43Z -Runtime: fv3r_pe_test 00:11:58 -- baseline 00:03:00
-05/07 17:31:44Z -Runtime: fv3r_ifi_missing 00:00:29 -- baseline 00:03:00
-05/07 17:31:44Z -Runtime: fv3hafs_test 00:01:12 -- baseline 00:00:40
-05/07 17:31:44Z -Runtime: fv3hafs_pe_test 00:01:03 -- baseline 00:00:40
-05/07 17:33:45Z -Runtime: rtma_test 00:14:01 -- baseline 00:04:00
-05/07 17:33:45Z -Runtime: rtma_pe_test 00:13:02 -- baseline 00:04:00
-There are changes in results for case fv3r in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION/fv3r_2023062800/NATLEV10.tm00
-There are changes in results for case fv3r in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION/fv3r_2023062800/PRSLEV10.tm00
-There are changes in results for case rtma in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION/rtma_2023040400/NATLEV00.tm00
-There are changes in results for case rtma in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION/rtma_2023040400/PRSLEV00.tm00
-There are changes in results for case rap in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION/rap_2020072316/WRFPRS.GrbF16
-There are changes in results for case rap in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION/rap_2020072316/WRFNAT.GrbF16
-There are changes in results for case fv3r_pe_test in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION/fv3r_2023062800_pe_test/PRSLEV10.tm00
-There are changes in results for case fv3r_pe_test in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION/fv3r_2023062800_pe_test/NATLEV10.tm00
-There are changes in results for case hrrr_pe_test in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION/hrrr_2020060118_pe_test/WRFTWO.GrbF04
-There are changes in results for case rtma_pe_test in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION/rtma_2023040400_pe_test/PRSLEV00.tm00
-There are changes in results for case rtma_pe_test in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION/rtma_2023040400_pe_test/NATLEV00.tm00
-There are changes in results for case hrrr in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION/hrrr_2020060118/WRFTWO.GrbF04
-There are changes in results for case rap_pe_test in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION/rap_2020072316_pe_test/WRFNAT.GrbF16
-There are changes in results for case rap_pe_test in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION/rap_2020072316_pe_test/WRFPRS.GrbF16
-Refer to .diff files in rundir: /work/noaa/epic/gpetro/orion/RTs/upp-rts/1185/ci/rundir/upp-ORION for details on differences in results for each case.
+05/15 13:50:16Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
+05/15 13:50:17Z -fv3r test: your new post executable generates bit-identical IFIFIP10.tm00 as the trunk
+05/15 13:50:24Z -fv3gefs pe test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
+05/15 13:50:45Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
+05/15 13:50:48Z -fv3hafs pe test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
+05/15 13:51:31Z -rap pe test: your new post executable did generate changed results in WRFPRS.GrbF16
+05/15 13:51:33Z -rap pe test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk
+05/15 13:51:50Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the trunk
+05/15 13:51:56Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk
+05/15 13:52:33Z -hrrr pe test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk
+05/15 13:52:34Z -hrrr pe test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
+05/15 13:53:16Z -hrrr pe test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
+05/15 13:53:43Z -nmmb pe test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
+05/15 13:53:43Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
+05/15 13:53:44Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
+05/15 13:53:44Z -nmmb pe test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
+05/15 13:53:44Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
+05/15 13:53:45Z -nmmb pe test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
+05/15 13:56:02Z -fv3r test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the trunk
+05/15 13:56:09Z -fv3r pe test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the trunk
+05/15 13:58:07Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk
+05/15 13:58:08Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
+05/15 13:58:11Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
+05/15 13:58:25Z -rtma test: your new post executable did not generate bit-identical NATLEV00.tm00 as the trunk
+05/15 13:58:32Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
+05/15 13:58:32Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
+05/15 13:58:33Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
+05/15 13:59:22Z -rtma pe test: your new post executable did not generate bit-identical NATLEV00.tm00 as the trunk
+05/15 14:00:59Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
+05/15 14:01:00Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
+05/15 14:01:00Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
+05/15 14:01:48Z -fv3r test: your new post executable did not generate bit-identical NATLEV10.tm00 as the trunk
+05/15 14:02:01Z -rtma test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the trunk
+05/15 14:02:24Z -fv3r pe test: your new post executable did not generate bit-identical NATLEV10.tm00 as the trunk
+05/15 14:02:56Z -rtma pe test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the trunk
+05/15 13:53:56Z -Runtime: nmmb_test 00:04:03 -- baseline 00:03:00
+05/15 13:53:56Z -Runtime: nmmb_pe_test 00:04:04 -- baseline 00:03:00
+05/15 13:53:56Z -Runtime: fv3gefs_test 00:00:25 -- baseline 01:20:00
+05/15 13:53:56Z -Runtime: fv3gefs_pe_test 00:00:33 -- baseline 01:20:00
+05/15 13:53:56Z -Runtime: rap_test 00:02:05 -- baseline 00:02:00
+05/15 13:53:56Z -Runtime: rap_pe_test 00:01:52 -- baseline 00:02:00
+05/15 13:58:12Z -Runtime: hrrr_test 00:08:21 -- baseline 00:02:00
+05/15 13:58:12Z -Runtime: hrrr_pe_test 00:03:35 -- baseline 00:02:00
+05/15 14:01:02Z -Runtime: fv3gfs_test 00:11:19 -- baseline 00:18:00
+05/15 14:01:03Z -Runtime: fv3gfs_pe_test 00:08:52 -- baseline 00:18:00
+05/15 14:02:03Z -Runtime: fv3r_test 00:12:07 -- baseline 00:03:00
+05/15 14:02:35Z -Runtime: fv3r_pe_test 00:12:43 -- baseline 00:03:00
+05/15 14:02:35Z -Runtime: fv3r_ifi_missing 00:00:37 -- baseline 00:03:00
+05/15 14:02:35Z -Runtime: fv3hafs_test 00:00:54 -- baseline 00:00:40
+05/15 14:02:35Z -Runtime: fv3hafs_pe_test 00:00:57 -- baseline 00:00:40
+05/15 14:02:35Z -Runtime: rtma_test 00:12:20 -- baseline 00:04:00
+05/15 14:03:05Z -Runtime: rtma_pe_test 00:13:15 -- baseline 00:04:00
+There are changes in results for case rtma_pe_test in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1203/ci/rundir/upp-ORION/rtma_2023040400_pe_test/NATLEV00.tm00
+There are changes in results for case rtma_pe_test in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1203/ci/rundir/upp-ORION/rtma_2023040400_pe_test/PRSLEV00.tm00
+There are changes in results for case fv3r in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1203/ci/rundir/upp-ORION/fv3r_2023062800/PRSLEV10.tm00
+There are changes in results for case fv3r in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1203/ci/rundir/upp-ORION/fv3r_2023062800/NATLEV10.tm00
+There are changes in results for case rtma in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1203/ci/rundir/upp-ORION/rtma_2023040400/PRSLEV00.tm00
+There are changes in results for case rtma in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1203/ci/rundir/upp-ORION/rtma_2023040400/NATLEV00.tm00
+There are changes in results for case fv3r_pe_test in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1203/ci/rundir/upp-ORION/fv3r_2023062800_pe_test/NATLEV10.tm00
+There are changes in results for case fv3r_pe_test in /work/noaa/epic/gpetro/orion/RTs/upp-rts/1203/ci/rundir/upp-ORION/fv3r_2023062800_pe_test/PRSLEV10.tm00
+Refer to .diff files in rundir: /work/noaa/epic/gpetro/orion/RTs/upp-rts/1203/ci/rundir/upp-ORION for details on differences in results for each case.
 ===== End of UPP Regression Testing Log =====


Reviews:
user: login: BenjaminBlake-NOAA
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-09T17:45:30Z
user: login: jaymes-kenyon
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-09T17:55:44Z
user: login: BenjaminBlake-NOAA
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-09T18:30:20Z
user: login: BenjaminBlake-NOAA
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-13T15:37:31Z
user: login: jaymes-kenyon
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-13T15:57:04Z
user: login: BenjaminBlake-NOAA
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-13T16:48:45Z
user: login: jaymes-kenyon
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-13T17:25:02Z
user: login: BenjaminBlake-NOAA
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-13T17:33:39Z
user: login: gspetro-NOAA
body: RT testing revealed the expected baseline changes for fv3r and rtma on all systems. I have updated the baselines and retested, and now all RTs pass on Hera, Orion, and Hercules without baselines changes. 
state: APPROVED
author_association: COLLABORATOR
submitted_at: 2025-05-15T19:56:51Z
user: login: WenMeng-NOAA
state: APPROVED
author_association: COLLABORATOR
submitted_at: 2025-05-15T19:58:29Z

Review comments:
diff_hunk: @@ -1484,23 +1486,22 @@ SUBROUTINE INITPOST_MPAS
        end do
 !       print*,'GRPL_MAX at ',ii,jj,' = ',GRPL_MAX(ii,jj)
 
-
-      VarName='HAIL_MAXK1'
+      VarName='HAIL_MAXK1' ! maximum hail diameter at the surface (over diagnostic interval)
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
         IM,1,JM,1,IM,JS,JE,1)
        do j = jsta_2l, jend_2u
         do i = 1, im
-            HAIL_MAXK1 ( i, j ) = dummy ( i, j )
+            HAIL_MAXK1 ( i, j ) = dummy ( i, j ) * 0.001 ! convert mm to m
         end do
        end do
 !       print*,'HAIL_MAXK1 at ',ii,jj,' = ',HAIL_MAXK1(ii,jj)
 
-      VarName='HAIL_MAX2D'
+      VarName='HAIL_MAX2D' ! maximum hail diameter in the column (over diagnostic interval)
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
         IM,1,JM,1,IM,JS,JE,1)
        do j = jsta_2l, jend_2u
         do i = 1, im
-            HAIL_MAX2D ( i, j ) = dummy ( i, j )
+            HAIL_MAX2D ( i, j ) = dummy ( i, j ) * 0.001 ! convert mm to m
         end do
path: sorc/ncep_post.fd/INITPOST_MPAS.F
user: login: BenjaminBlake-NOAA
body: @jaymes-kenyon I was curious about this change from mm to m - is it more desirable to provide max hail diameter in meters?
created_at: 2025-05-09T17:45:30Z
author_association: COLLABORATOR
diff_hunk: @@ -1484,23 +1486,22 @@ SUBROUTINE INITPOST_MPAS
        end do
 !       print*,'GRPL_MAX at ',ii,jj,' = ',GRPL_MAX(ii,jj)
 
-
-      VarName='HAIL_MAXK1'
+      VarName='HAIL_MAXK1' ! maximum hail diameter at the surface (over diagnostic interval)
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
         IM,1,JM,1,IM,JS,JE,1)
        do j = jsta_2l, jend_2u
         do i = 1, im
-            HAIL_MAXK1 ( i, j ) = dummy ( i, j )
+            HAIL_MAXK1 ( i, j ) = dummy ( i, j ) * 0.001 ! convert mm to m
         end do
        end do
 !       print*,'HAIL_MAXK1 at ',ii,jj,' = ',HAIL_MAXK1(ii,jj)
 
-      VarName='HAIL_MAX2D'
+      VarName='HAIL_MAX2D' ! maximum hail diameter in the column (over diagnostic interval)
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
         IM,1,JM,1,IM,JS,JE,1)
        do j = jsta_2l, jend_2u
         do i = 1, im
-            HAIL_MAX2D ( i, j ) = dummy ( i, j )
+            HAIL_MAX2D ( i, j ) = dummy ( i, j ) * 0.001 ! convert mm to m
         end do
path: sorc/ncep_post.fd/INITPOST_MPAS.F
user: login: jaymes-kenyon
body: @BenjaminBlake-NOAA — Based on this table (https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-2-0-1.shtml), it looks like meters is the expected unit for "HAIL" in the GRIB2 standard.

Also on the topic of GRIB2 tables, maybe we want to consider another hail-related entry in the future.  The existing "HAIL" has been used for **_diameter_**, but now we are also providing an **_accumulation_**.  It's not really a problem, since the fields are still distinguishable from each other.
created_at: 2025-05-09T17:55:44Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1484,23 +1486,22 @@ SUBROUTINE INITPOST_MPAS
        end do
 !       print*,'GRPL_MAX at ',ii,jj,' = ',GRPL_MAX(ii,jj)
 
-
-      VarName='HAIL_MAXK1'
+      VarName='HAIL_MAXK1' ! maximum hail diameter at the surface (over diagnostic interval)
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
         IM,1,JM,1,IM,JS,JE,1)
        do j = jsta_2l, jend_2u
         do i = 1, im
-            HAIL_MAXK1 ( i, j ) = dummy ( i, j )
+            HAIL_MAXK1 ( i, j ) = dummy ( i, j ) * 0.001 ! convert mm to m
         end do
        end do
 !       print*,'HAIL_MAXK1 at ',ii,jj,' = ',HAIL_MAXK1(ii,jj)
 
-      VarName='HAIL_MAX2D'
+      VarName='HAIL_MAX2D' ! maximum hail diameter in the column (over diagnostic interval)
       call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY,        &
         IM,1,JM,1,IM,JS,JE,1)
        do j = jsta_2l, jend_2u
         do i = 1, im
-            HAIL_MAX2D ( i, j ) = dummy ( i, j )
+            HAIL_MAX2D ( i, j ) = dummy ( i, j ) * 0.001 ! convert mm to m
         end do
path: sorc/ncep_post.fd/INITPOST_MPAS.F
user: login: BenjaminBlake-NOAA
body: Got it, yeah in that case converting to meters makes sense.

We could definitely consider adding another hail-related entry in the future if you think that could be beneficial, since the current "HAIL" entry has typically been used for diameter.  I'm actually the new POC at EMC for these grib2 tables.  Looks like these are the current hail-related entries in table 4.2-0-1 and there isn't a strict accumulation field:
Hail (HAIL) 
Hail Mixing Ratio (HAILMXR)
Total Column Integrated Hail (TCOLH)
Hail Precipitation Rate (HAILPR)
Mass Density of Hail (MASSDH)
Specific Number Concentration of Hail (SPNCH)
Number Density of Hail (NUMDH)
Specific Mass of Liquid Water Coating on Hail Expressed as Mass of Liquid Water per Unit Mass of Moist Air (SMLWHMA)
Mass Mixing Ratio of Liquid Water Coating on Hail Expressed as Mass of Liquid Water per Unit Mass of Dry Air (MMLWHDA)
Mass Density of Liquid Water Coating on Graupel Expressed as Mass of Liquid Water per Unit Volume of Air (MDLWGVA)
Effective Radius of Hail (EFRHAIL)
Effective Aspect Ratio of Hail (EFARHAIL)

created_at: 2025-05-09T18:30:20Z
author_association: COLLABORATOR
diff_hunk: @@ -7353,16 +7353,20 @@
 
     <param>
        <post_avblfldidx>795</post_avblfldidx>
-       <shortname>GSD_MAX_SIGMA_LVL_MAX_GRAUPEL_HAIL_DIAMETER</shortname>
+       <shortname>MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL</shortname>
        <pdstmpl>tmpl4_8</pdstmpl>
        <pname>HAIL</pname>
        <stats_proc>MAX</stats_proc>
        <fixed_sfc1_type>sigma_lvl</fixed_sfc1_type>
-       <scale_fact_fixed_sfc1>1</scale_fact_fixed_sfc1>
        <level>1.</level>
        <scale>4.0</scale>
     </param>
 
+    <!-- Note:  parameters 796 (instantaneous clear-sky SWDDNI) and 
+                           797 (instantaneous clear-sky SWDDIF) are
+                           both coded in CLDRAD.f, but are not listed here
+    --> 
+
     <param>
path: parm/post_avblflds.xml
user: login: BenjaminBlake-NOAA
body: @jaymes-kenyon No applications currently output these two fields, but would you like them to be added to post_avblflds.xml?
created_at: 2025-05-13T15:37:30Z
author_association: COLLABORATOR
diff_hunk: @@ -7353,16 +7353,20 @@
 
     <param>
        <post_avblfldidx>795</post_avblfldidx>
-       <shortname>GSD_MAX_SIGMA_LVL_MAX_GRAUPEL_HAIL_DIAMETER</shortname>
+       <shortname>MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL</shortname>
        <pdstmpl>tmpl4_8</pdstmpl>
        <pname>HAIL</pname>
        <stats_proc>MAX</stats_proc>
        <fixed_sfc1_type>sigma_lvl</fixed_sfc1_type>
-       <scale_fact_fixed_sfc1>1</scale_fact_fixed_sfc1>
        <level>1.</level>
        <scale>4.0</scale>
     </param>
 
+    <!-- Note:  parameters 796 (instantaneous clear-sky SWDDNI) and 
+                           797 (instantaneous clear-sky SWDDIF) are
+                           both coded in CLDRAD.f, but are not listed here
+    --> 
+
     <param>
path: parm/post_avblflds.xml
user: login: jaymes-kenyon
body: @BenjaminBlake-NOAA — Yeah, I recall that GSL has occasionally run special modeling configurations to support research campaigns (e.g., for wind- and solar-energy applications).  These configurations required output of these "clear-sky" radiation components.  Somehow this functionality was dropped from post_avblflds.xml, but remains in CLDRAD.f.

Would it be helpful for me to add these to post_avblflds.xml?  I don't have any output to test it with, but at least it will give clues for any future needs.  I can add this fairly quickly, if we wish.
created_at: 2025-05-13T15:57:04Z
author_association: CONTRIBUTOR
diff_hunk: @@ -7353,16 +7353,20 @@
 
     <param>
        <post_avblfldidx>795</post_avblfldidx>
-       <shortname>GSD_MAX_SIGMA_LVL_MAX_GRAUPEL_HAIL_DIAMETER</shortname>
+       <shortname>MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL</shortname>
        <pdstmpl>tmpl4_8</pdstmpl>
        <pname>HAIL</pname>
        <stats_proc>MAX</stats_proc>
        <fixed_sfc1_type>sigma_lvl</fixed_sfc1_type>
-       <scale_fact_fixed_sfc1>1</scale_fact_fixed_sfc1>
        <level>1.</level>
        <scale>4.0</scale>
     </param>
 
+    <!-- Note:  parameters 796 (instantaneous clear-sky SWDDNI) and 
+                           797 (instantaneous clear-sky SWDDIF) are
+                           both coded in CLDRAD.f, but are not listed here
+    --> 
+
     <param>
path: parm/post_avblflds.xml
user: login: BenjaminBlake-NOAA
body: @jaymes-kenyon Sure I think it would be fine to add these two fields to post_avblflds.xml, especially since it sounds like they used to be included.  Thanks!
created_at: 2025-05-13T16:48:45Z
author_association: COLLABORATOR
diff_hunk: @@ -7353,16 +7353,20 @@
 
     <param>
        <post_avblfldidx>795</post_avblfldidx>
-       <shortname>GSD_MAX_SIGMA_LVL_MAX_GRAUPEL_HAIL_DIAMETER</shortname>
+       <shortname>MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL</shortname>
        <pdstmpl>tmpl4_8</pdstmpl>
        <pname>HAIL</pname>
        <stats_proc>MAX</stats_proc>
        <fixed_sfc1_type>sigma_lvl</fixed_sfc1_type>
-       <scale_fact_fixed_sfc1>1</scale_fact_fixed_sfc1>
        <level>1.</level>
        <scale>4.0</scale>
     </param>
 
+    <!-- Note:  parameters 796 (instantaneous clear-sky SWDDNI) and 
+                           797 (instantaneous clear-sky SWDDIF) are
+                           both coded in CLDRAD.f, but are not listed here
+    --> 
+
     <param>
path: parm/post_avblflds.xml
user: login: jaymes-kenyon
body: @BenjaminBlake-NOAA — I jumped too soon on the "fairly quickly" part, but this should still be straightforward...

Thinking back, GSL had to label these two fields using "close enough" parameter names from this table: https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-2-0-4.shtml
Specifically, parameters 796 and 797 were labeled **DUVB** and **CDUVB**, respectively.  The units were correct, but not the descriptions.  This was okay for our temporary, internally-used GRIB2 files.

Fortunately, this table seems to have been updated (in 2022) to offer **DSWRFLXCS** ("_Direct short-wave radiation flux, clear sky"_), which is a good match for 796.  

My suggestion:  can we create a complementary new variable (perhaps called **DFSWRFLXCS**) for 797?  A good description would be "_Diffuse short-wave radiation flux, clear sky_".

Sorry for the deep-dive into radiation components—it's an unexpected turn for this PR, but I'm happy to get these listed properly in post_avblflds.xml.
created_at: 2025-05-13T17:25:02Z
author_association: CONTRIBUTOR
diff_hunk: @@ -7353,16 +7353,20 @@
 
     <param>
        <post_avblfldidx>795</post_avblfldidx>
-       <shortname>GSD_MAX_SIGMA_LVL_MAX_GRAUPEL_HAIL_DIAMETER</shortname>
+       <shortname>MAX_GRAUPEL_HAIL_DIAMETER_AT_LOWEST_LVL</shortname>
        <pdstmpl>tmpl4_8</pdstmpl>
        <pname>HAIL</pname>
        <stats_proc>MAX</stats_proc>
        <fixed_sfc1_type>sigma_lvl</fixed_sfc1_type>
-       <scale_fact_fixed_sfc1>1</scale_fact_fixed_sfc1>
        <level>1.</level>
        <scale>4.0</scale>
     </param>
 
+    <!-- Note:  parameters 796 (instantaneous clear-sky SWDDNI) and 
+                           797 (instantaneous clear-sky SWDDIF) are
+                           both coded in CLDRAD.f, but are not listed here
+    --> 
+
     <param>
path: parm/post_avblflds.xml
user: login: BenjaminBlake-NOAA
body: @jaymes-kenyon Got it.  Yeah it sounds like adding a new variable called DFSWRFLXCS would make the most sense.  Let's combine that and the HAILAC change in a separate follow up PR to this one.
created_at: 2025-05-13T17:33:39Z
author_association: COLLABORATOR

PR comments:
user: login: BenjaminBlake-NOAA
created_at: 2025-05-09T17:48:26Z
body: @jaymes-kenyon I completed two standalone MPAS tests on Hera, one for RRFS and one for global.  Let me know if the output from my tests looks good to you:

/scratch2/NCEPDEV/fv3-cam/Benjamin.Blake/mpas_global_2025031106
/scratch2/NCEPDEV/fv3-cam/Benjamin.Blake/mpas_rrfs_2024110618

Thanks!
author_association: COLLABORATOR
user: login: jaymes-kenyon
created_at: 2025-05-09T18:24:40Z
body: @BenjaminBlake-NOAA — Thanks for those test results!  They look good—no concerns here.  I realized that the hail-related arrays in those sample netCDF files were zeros.  In case it helps, I staged a new netCDF file from a recent MPAS-RRFS (CONUS) run that contains nonzero arrays:
`/scratch2/BMC/wrfruc/kenyon/sample/rrfs_mpas/2025050515/MPAS-A_out.2025-05-05_17.00.00.nc`

We do not yet have the full hail output in the global runs, but the zeros in the GRIB2 fields are fine for now.
author_association: CONTRIBUTOR
user: login: BenjaminBlake-NOAA
created_at: 2025-05-09T18:48:47Z
body: @jaymes-kenyon Sounds good!  I re-ran the MPAS-RRFS test with your netcdf file from 20250505 and the working directory is here on Hera:
/scratch2/NCEPDEV/fv3-cam/Benjamin.Blake/mpas_rrfs_2025050517

I checked the POSTTWO02.tm00 file and it looks like these 3 hail fields have non-zero values (entire atmosphere:1-2 hour max fcst, 1 sigma level:1-2 hour max fcst, surface:1-2 hour acc fcst)
author_association: COLLABORATOR
user: login: jaymes-kenyon
created_at: 2025-05-09T18:56:05Z
body: @BenjaminBlake-NOAA — Thanks!  That latest test did the trick.  Thanks for sharing!
author_association: CONTRIBUTOR
user: login: BenjaminBlake-NOAA
created_at: 2025-05-09T19:06:53Z
body: @WenMeng-NOAA I ran the UPP RTs on WCOSS2, the results are located here on Cactus:
/lfs/h2/emc/vpppg/noscrub/Benjamin.Blake/post_regression_test_hail

Baseline changes are expected to rtma and fv3r with this PR.
author_association: COLLABORATOR
user: login: jaymes-kenyon
created_at: 2025-05-14T14:11:09Z
body: @BenjaminBlake-NOAA @WenMeng-NOAA — Ben: thanks for the revised **params_grib2_tbl_new** (received via email).  The updated table is added to this PR, and the affected control files are also updated.  My test setup (on Jet) with RRFS–MPAS still runs successfully.  

"wgrib2" now decodes the hail-accumulation as...
```
[jet|fe6]/mnt/lfs5/BMC/rtwbl/kenyon/mpas_upp/rrfs/2025050515> wgrib2 POSTTWO.GrbF02 -d 87 -V
87:57193053:vt=2025050517:surface:1-2 hour acc fcst:var discipline=0 center=7 local_table=1 parmcat=1 parm=236:
    ndata=1905141:undef=0:mean=3.97228e-05:min=0:max=0.0558
    grid_template=30:winds(grid):
	Lambert Conformal: (1799 x 1059) input WE:SN output WE:SN res 8
	Lat1 21.138123 Lon1 237.280472 LoV 262.500000
	LatD 38.500000 Latin1 38.500000 Latin2 38.500000
	LatSP 0.000000 LonSP 0.000000
	North Pole (1799 x 1059) Dx 3000.000000 m Dy 3000.000000 m
```

I think this is okay, since "wgrib2" does not have the new GRIB2 table info.
author_association: CONTRIBUTOR
user: login: BenjaminBlake-NOAA
created_at: 2025-05-14T15:07:04Z
body: @jaymes-kenyon Yes I think that labeling for HAILAC is okay for now since g2tmpl will need to be updated as well.  I'll rerun my RRFS-MPAS standalone test on Hera and share the results with you.

@WenMeng-NOAA I can also rerun the regression tests on WCOSS2.
author_association: COLLABORATOR
user: login: WenMeng-NOAA
created_at: 2025-05-14T15:16:30Z
body: > @jaymes-kenyon Yes I think that labeling for HAILAC is okay for now since g2tmpl will need to be updated as well. I'll rerun my RRFS-MPAS standalone test on Hera and share the results with you.
> 
> @WenMeng-NOAA I can also rerun the regression tests on WCOSS2.

@BenjaminBlake-NOAA Thanks!
author_association: COLLABORATOR
user: login: WenMeng-NOAA
created_at: 2025-05-14T15:22:26Z
body: @BenjaminBlake-NOAA Could you also provide unsorted table "params_grib2_tbl_new.text" to @jaymes-kenyon  for inclusion in the PR?
author_association: COLLABORATOR
user: login: BenjaminBlake-NOAA
created_at: 2025-05-14T15:46:06Z
body: @jaymes-kenyon I've added the unsorted params_grib2_tbl_new.text file to the same FTP directory where I put params_grib2_tbl_new.  Please include it in this PR - thanks!
I also completed a RRFS-MPAS standalone test on Hera and got the same results as you for HAILAC:
/scratch2/NCEPDEV/fv3-cam/Benjamin.Blake/mpas_rrfs_2025050517

@WenMeng-NOAA The UPP RTs completed on WCOSS2 and are located here on Cactus, with baseline changes expected to fv3r and rtma:
/lfs/h2/emc/vpppg/noscrub/Benjamin.Blake/post_regression_test_hail
author_association: COLLABORATOR
user: login: jaymes-kenyon
created_at: 2025-05-14T15:58:20Z
body: @BenjaminBlake-NOAA — Thanks!  I just added your **params_grib2_tbl_new.text** to the PR.  I copied it "as-is", but some of the comment lines are different (please check the diff).  Let me know if you would like me to retain some of the previous comments.
author_association: CONTRIBUTOR
user: login: BenjaminBlake-NOAA
created_at: 2025-05-14T16:02:26Z
body: @jaymes-kenyon The file I provided is the correct version that is the most up-to-date, so it looks good to me.  Thanks for getting it added.
author_association: COLLABORATOR
user: login: WenMeng-NOAA
created_at: 2025-05-14T16:05:43Z
body: > @BenjaminBlake-NOAA @WenMeng-NOAA — Ben: thanks for the revised **params_grib2_tbl_new** (received via email). The updated table is added to this PR, and the affected control files are also updated. My test setup (on Jet) with RRFS–MPAS still runs successfully.
> 
> "wgrib2" now decodes the hail-accumulation as...
> 
> ```
> [jet|fe6]/mnt/lfs5/BMC/rtwbl/kenyon/mpas_upp/rrfs/2025050515> wgrib2 POSTTWO.GrbF02 -d 87 -V
> 87:57193053:vt=2025050517:surface:1-2 hour acc fcst:var discipline=0 center=7 local_table=1 parmcat=1 parm=236:
>     ndata=1905141:undef=0:mean=3.97228e-05:min=0:max=0.0558
>     grid_template=30:winds(grid):
> 	Lambert Conformal: (1799 x 1059) input WE:SN output WE:SN res 8
> 	Lat1 21.138123 Lon1 237.280472 LoV 262.500000
> 	LatD 38.500000 Latin1 38.500000 Latin2 38.500000
> 	LatSP 0.000000 LonSP 0.000000
> 	North Pole (1799 x 1059) Dx 3000.000000 m Dy 3000.000000 m
> ```
> 
> I think this is okay, since "wgrib2" does not have the new GRIB2 table info.

@jaymes-kenyon My UPP standalone test for MPAS at /home/Wen.Meng/stmp2/mpas_2025050517 on Hera have the same results as yours.
author_association: COLLABORATOR
user: login: WenMeng-NOAA
created_at: 2025-05-14T16:10:03Z
body: > @jaymes-kenyon I've added the unsorted params_grib2_tbl_new.text file to the same FTP directory where I put params_grib2_tbl_new. Please include it in this PR - thanks! I also completed a RRFS-MPAS standalone test on Hera and got the same results as you for HAILAC: /scratch2/NCEPDEV/fv3-cam/Benjamin.Blake/mpas_rrfs_2025050517
> 
> @WenMeng-NOAA The UPP RTs completed on WCOSS2 and are located here on Cactus, with baseline changes expected to fv3r and rtma: /lfs/h2/emc/vpppg/noscrub/Benjamin.Blake/post_regression_test_hail

@BenjaminBlake-NOAA Your UPP RTs on WCOSS2 look good to me. The changes in fields "PRES:cloud base" and "HGT:cloud base" are expected. 
author_association: COLLABORATOR
user: login: WenMeng-NOAA
created_at: 2025-05-14T17:58:50Z
body: @BenjaminBlake-NOAA My UPP RTs results on Hera are consistent yours on WCOSS2.
author_association: COLLABORATOR
user: login: WenMeng-NOAA
created_at: 2025-05-14T18:00:47Z
body: @gspetro-NOAA This PR is ready for the UPP RTs on R&D machines. You may refer to my testing on Hera at /home/Wen.Meng/stmp2/upp-HERA:
```
Wen.Meng@hfe05 upp-HERA$ ls -ltr */*diff
-rw-rw-r--+ 1 Wen.Meng stmp    75 May 14 16:15 rap_2020072316_pe_test/WRFPRS.GrbF16.diff
-rw-rw-r--+ 1 Wen.Meng stmp   802 May 14 16:16 fv3r_2023062800/PRSLEV10.tm00.diff
-rw-rw-r--+ 1 Wen.Meng stmp   802 May 14 16:17 fv3r_2023062800_pe_test/PRSLEV10.tm00.diff
-rw-rw-r--+ 1 Wen.Meng stmp 14162 May 14 16:17 rtma_2023040400_pe_test/NATLEV00.tm00.diff
-rw-rw-r--+ 1 Wen.Meng stmp 14162 May 14 16:18 rtma_2023040400/NATLEV00.tm00.diff
-rw-rw-r--+ 1 Wen.Meng stmp  1272 May 14 16:19 rtma_2023040400_pe_test/PRSLEV00.tm00.diff
-rw-rw-r--+ 1 Wen.Meng stmp 14017 May 14 16:19 fv3r_2023062800/NATLEV10.tm00.diff
-rw-rw-r--+ 1 Wen.Meng stmp 14017 May 14 16:19 fv3r_2023062800_pe_test/NATLEV10.tm00.diff
-rw-rw-r--+ 1 Wen.Meng stmp  1272 May 14 16:20 rtma_2023040400/PRSLEV00.tm00.diff
```
author_association: COLLABORATOR
user: login: WenMeng-NOAA
created_at: 2025-05-15T19:37:15Z
body: @gspetro-NOAA You have updated the RT logs from R&D machines. Are there any issues from your end before we merged this PR?
author_association: COLLABORATOR
user: login: WenMeng-NOAA
created_at: 2025-05-15T19:58:52Z
body: This PR is ready for merging.
author_association: COLLABORATOR