Skip to content

Commit

Permalink
NOAA GSL UPP updates (#413)
Browse files Browse the repository at this point in the history
* Turn on GSD cloud ceiling calculation for RRFS dev.

* Updates to UPP for RRFS applications (#3)

* Updates to UPP for RRFS applications:
1) Adding a RRFS-specific .xml control file and a corresponding .txt flat file.  Note that script changes (pending) are needed to leverage the new flat file.  However, this code will work in current real-time configurations.
2) Adding GSL experimental ceiling diagnostics, GSL visibility diagnostic, and GSL sea-level pressure reduction (MAPS).  Also adding TKE and aerosol number concentrations.
3) Code clean-up for ceiling-related diagnostics; added comments, etc.
4) Removing several non-needed variables, originally inherited from FV3-SAR community configuration.

* Updating UPP control files to specify GRIB2 generating center as "noaa_fsl_boulder" and the generating process as "hrrr".  The "hrrr" specification is temporary, and will eventually be switched to "rrfs" once required changes to the "NCEPLIBS-g2tmpl" library are available. (#4)

* Fix some out-of-bounds reads that caused the RRFS UPP to crash. (#5)

* Adding README file (#7)

* Adding README file to describe process of making a "flat" file.

* Updates to README to improve explanation of input/output files.

* Code to read in Flash Flood Guidance (FFG) and Average Recurrence Interval (ARI) precipitation datasets for comparison with model QPF within UPP.

* Fixed a syntax error in SURFCE.f

* Getting rid of GRIB1 output option to be consistent with rest of code.

* Changing field numbers to avoid conflict with existing RRFS-dev1 fields.

* Putting exceedance grids in flat files for testing in RRFS UPP.

* Corrected the 1h and run total precip names for calculating exceedances in SURFCE.f

* Bug fix in SURFCE.f if statements.

* Removing changes to RQSTFLD.F since GRIB1 is no longer used in UPP.

* Merging NOAA-GSL development on top of NOAA-EMC UPP for testing.

* Correcting minor typos in SURFCE.f to allow testing.

* Update code based on testing with RRFS cases.

* Update part of the code based on current EMC develop branch for comparing the test results with the merged version.(#9)

* Fixed several bugs in the code.

* Modifications to SURFCE.f to check for existence of FFG files.

* Bug fixes for FFG file existence check, and changes to handle rotated lat-lon grid interpolation for FFG

* Bug fixes for FFG existence checks in SURFCE.f

* Another bug fix for SURFCE.f

* Updating XML and flat txt files to include a 65th vertical level to be consistent with updated FV3LAM model with higher model top. (#13)

* Code cleanup for QPF - FFG comparison.  Comparison put into subroutine.

* Cleanup of SURFCE.f; moving the FFG comparisons into a subroutine.

* Final cleanup of exceedance code for QPF vs FFG.

* Removing some commented out variable declarations.

* Additional cleanup recommended by Ming: we really only need two exceedance variables; one for 1h FFG and one for run total FFG exceedances.

* Further cleanup of FFG code, simplifying to two fields (1h acc and run total acc)

* Adding ARI comparison fields for 2y, 5y, 10y, and 100y ARIs.

* Changes to output 9 soil levels from FV3LAM if we are running 9 level RUC LSM.

* Adding flat txt file for UPP.

* Commenting out the use of the ARI exceedances for now.  We can switch them on later.

* Bug fix in INITPOST_NETCDF.f : need to use both ncid2d and ncid3d in this subroutine!

* Adding NOAA-GSL code changes on top of latest NOAA-EMC UPP.

* Couple of bug fixes in NOAA-EMC code.  Bugs were leading to PRMSL and -10C REFD being all zeroes.

* Cleaning up code to get rid of unnecessary differences from EMC.

* Putting all new GSL variables into EMC's unified post_avblflds.xml.  Note that EMC's unified post_avblflds.xml does not validate using the avblflds Schema.

* Updating postconfig-NT.txt file for GSL RRFS based on merged post_avblflds.xml file.

* Adding RRFS control files to makefile.

* Changing back scale for WEASD_ON_SURFACE to previous default, thanks to suggestion from Wen Meng.

* Reverting name of cldfra based on feedback from Eric Aligo.

* Reverting changes in fv3lam_post_avblflds.xml since GSL new variables are now included in post_avblflds.xml

* Changing experimental ceiling level type from "ceiling" to "cloud_ceilng"

* Updating 3drtma_postcntrl.xml with revised name for GSD_EXP_CEILING.  This also affects postxconfig-NT-3drtma.txt.  postxconfig-NT-fv3lam_rrfs.txt also changed due to changes in post_avblflds.xml

* Introducing if statement for call of NGMSLP, to avoid calling unless it is needed.

Co-authored-by: Ming.Hu <Ming.Hu@noaa.gov>
Co-authored-by: Christina Holt <56881914+christinaholtNOAA@users.noreply.github.com>
Co-authored-by: Christina Holt <Christina.Holt@noaa.gov>
Co-authored-by: Jaymes Kenyon <jaymes.kenyon@noaa.gov>
Co-authored-by: Samuel Trahan (NOAA contractor) <39415369+SamuelTrahanNOAA@users.noreply.github.com>
  • Loading branch information
6 people authored Dec 9, 2021
1 parent e59b906 commit 0dc3c0c
Show file tree
Hide file tree
Showing 14 changed files with 21,916 additions and 69 deletions.
2 changes: 1 addition & 1 deletion parm/3drtma_postcntrl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -633,7 +633,7 @@
</param>

<param>
<shortname>GSD_PRES_ON_CLOUD_BASE</shortname>
<shortname>GSD_EXP_CEILING</shortname>
<scale>3.0</scale>
</param>

Expand Down
20 changes: 20 additions & 0 deletions parm/README.make_flatfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
To make a .txt flat file for UPP, follow these steps within the parm/ directory:

1) Select, then validate, the associated "post_avblflds" file, e.g.,

xmllint --noout --schema EMC_POST_Avblflds_Schema.xsd fv3lam_post_avblflds.xml

2) Select, then validate, the associated "postcntrl" file, e.g.,

xmllint --noout --schema EMC_POST_CTRL_Schema.xsd fv3lam_rrfs.xml

3) If file validation succeeds in steps (1) and (2), generate the .txt flat file, e.g.,

perl PostXMLPreprocessor.pl fv3lam_rrfs.xml fv3lam_post_avblflds.xml postxconfig-NT-fv3lam_rrfs.txt

In this example, "fv3lam_rrfs.xml" and "fv3lam_post_avblflds.xml" are input files, read by the perl
script. The "postxconfig-NT-fv3lam_rrfs.txt" flat file is the output file produced by the script, which
can have any name.

Note that a log file will be created by this script, in addition to the flat file.

Loading

0 comments on commit 0dc3c0c

Please sign in to comment.