From f5b2d710d059e50dd49f736e03758d745820f3b1 Mon Sep 17 00:00:00 2001 From: kayee Date: Wed, 4 May 2022 21:38:52 -0600 Subject: [PATCH 01/12] run_upp script got the following updates: -updated directory name -updated executable path -added error message for binarynemsiompiio option -added netcdfpara option --- scripts/run_upp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/scripts/run_upp b/scripts/run_upp index ee2c04e37..5383a7111 100755 --- a/scripts/run_upp +++ b/scripts/run_upp @@ -44,7 +44,7 @@ set -x # LAM (Limited Area Model): postxconfig-NT-fv3lam.txt # model : What model is used? GFS or LAM (Limited Area Model) # inFormat : Format of the model data -# GFS - "binarynemsiompiio" or "netcdf" +# GFS - "netcdf" or "netcdfpara" # LAM - "netcdf" # outFormat : Format of output from UPP # grib2 @@ -64,8 +64,8 @@ set -x # as recommended in the users guide where UPP will output. export TOP_DIR=/home/username export DOMAINPATH=${TOP_DIR}/test_case -export UNIPOST_HOME=${TOP_DIR}/EMC_post -export POSTEXEC=${UNIPOST_HOME}/bin +export UNIPOST_HOME=${TOP_DIR}/UPP +export POSTEXEC=${UNIPOST_HOME}/tests/install/bin export modelDataPath=/path/to/model/data export txtCntrlFile=${DOMAINPATH}/parm/postxconfig-NT-GFS.txt @@ -136,11 +136,12 @@ fi if [ ${model} == "GFS" ]; then if [[ ${inFormat} == "binarynemsiompiio" ]]; then - echo "Check: You are using 'model' 'inFormat'!" - elif [[ ${inFormat} == "netcdf" ]]; then + echo "ERROR: 'inFormat' must be 'netcdf' or 'netcdfpara' for GFS model output. Exiting... " + exit 1 + elif [[ ${inFormat} == "netcdf" || ${inFormat} == "netcdfpara" ]]; then echo "Check: You are using 'model' 'inFormat'!" else - echo "ERROR: 'inFormat' must be 'binarynemsiompiio' or 'netcdf' for GFS model output. Exiting... " + echo "ERROR: 'inFormat' must be 'netcdf' or 'netcdfpara' for GFS model output. Exiting... " exit 1 fi elif [[ ${model} == "LAM" ]]; then @@ -289,10 +290,7 @@ echo 'YY' $YY # Create model file name (inFileName) if [ ${model} == "GFS" ]; then - if [[ ${inFormat} == "binarynemsiompiio" ]]; then - inFileName=${modelDataPath}/atmf${fhour}.nemsio - flxFileName=${modelDataPath}/sfcf${fhour}.nemsio - elif [ ${inFormat} == "netcdf" ]; then + if [[ ${inFormat} == "netcdf" || ${inFormat} == "netcdfpara" ]]; then inFileName=${modelDataPath}/atmf${fhour}.nc flxFileName=${modelDataPath}/sfcf${fhour}.nc fi From b74250b0bbf3e30f92b6013fa56e47ab2abe9ad2 Mon Sep 17 00:00:00 2001 From: kayee Date: Thu, 5 May 2022 11:13:17 -0600 Subject: [PATCH 02/12] Further refinement from Tracy's comment. --- scripts/run_upp | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/scripts/run_upp b/scripts/run_upp index 5383a7111..7bf039044 100755 --- a/scripts/run_upp +++ b/scripts/run_upp @@ -22,6 +22,10 @@ set -x # October 2020: Modified to remove WRF and grib1; Add FV3LAM # Updates for cmake build, Change exec name # +# May 2022: Modified to remove binarynemsiompiio; +# Added netcdfpara; +# Changed UPP directory name and path +# #-------------------------------------------------------- # # This script runs the stand-alone community version of UPP @@ -35,7 +39,7 @@ set -x #---------------------------------------------------------------------------------- # TOP_DIR : Top level directory for building and running UPP # DOMAINPATH : Working directory for this run. -# UNIPOST_HOME : Location of the EMC-post directory +# UPP_HOME : Location of the UPP directory # POSTEXEC : Location of the UPP executable # modelDataPath : Location of the model output data files to be post-processed # txtCntrlFile : Name and location of the flat text file that lists desired fields for output @@ -45,7 +49,7 @@ set -x # model : What model is used? GFS or LAM (Limited Area Model) # inFormat : Format of the model data # GFS - "netcdf" or "netcdfpara" -# LAM - "netcdf" +# LAM - "netcdf" or "netcdfpara" # outFormat : Format of output from UPP # grib2 # startdate : Forecast start date (YYYYMMDDHH) @@ -64,8 +68,8 @@ set -x # as recommended in the users guide where UPP will output. export TOP_DIR=/home/username export DOMAINPATH=${TOP_DIR}/test_case -export UNIPOST_HOME=${TOP_DIR}/UPP -export POSTEXEC=${UNIPOST_HOME}/tests/install/bin +export UPP_HOME=${TOP_DIR}/UPP +export POSTEXEC=${UPP_HOME}/tests/install/bin export modelDataPath=/path/to/model/data export txtCntrlFile=${DOMAINPATH}/parm/postxconfig-NT-GFS.txt @@ -92,9 +96,6 @@ export RUN_COMMAND="mpirun -np 1 ${POSTEXEC}/upp.x " #export RUN_COMMAND="mpirun.lsf ${POSTEXEC}/upp.x " #export RUN_COMMAND="mpiexec_mpt ${POSTEXEC}/upp.x " -# DEBUG command example found further below, search "DEBUG" - - # Shouldn't need to edit these. # tmmark is an variable used as the file extention of the output # filename .GrbF is used if this variable is not set @@ -135,18 +136,17 @@ else fi if [ ${model} == "GFS" ]; then - if [[ ${inFormat} == "binarynemsiompiio" ]]; then - echo "ERROR: 'inFormat' must be 'netcdf' or 'netcdfpara' for GFS model output. Exiting... " - exit 1 - elif [[ ${inFormat} == "netcdf" || ${inFormat} == "netcdfpara" ]]; then + if [[ ${inFormat} == "netcdf" || ${inFormat} == "netcdfpara" ]]; then echo "Check: You are using 'model' 'inFormat'!" else echo "ERROR: 'inFormat' must be 'netcdf' or 'netcdfpara' for GFS model output. Exiting... " exit 1 fi elif [[ ${model} == "LAM" ]]; then - if [[ ${inFormat} != "netcdf" ]]; then - echo "ERROR: 'inFormat' must be 'netcdf' for LAM model output. Exiting... " + if [[ ${inFormat} == "netcdf" || ${inFormat} == "netcdfpara" ]]; then + echo "Check: You are using 'model' 'inFormat'!" + else + echo "ERROR: 'inFormat' must be 'netcdf' or 'netcdfpara' for LAM model output. Exiting... " exit 1 fi fi @@ -195,17 +195,17 @@ fi # file which defines the GRIB2 table values if [[ ${outFormat} == "grib2" ]]; then ln -fs ${txtCntrlFile} postxconfig-NT.txt - ln -fs ${UNIPOST_HOME}/parm/post_avblflds.xml post_avblflds.xml - ln -fs ${UNIPOST_HOME}/parm/params_grib2_tbl_new params_grib2_tbl_new + ln -fs ${UPP_HOME}/parm/post_avblflds.xml post_avblflds.xml + ln -fs ${UPP_HOME}/parm/params_grib2_tbl_new params_grib2_tbl_new fi # Link microphysics tables - code will use based on mp_physics option # found in data -ln -fs ${UNIPOST_HOME}/parm/nam_micro_lookup.dat . -ln -fs ${UNIPOST_HOME}/parm/hires_micro_lookup.dat . +ln -fs ${UPP_HOME}/parm/nam_micro_lookup.dat . +ln -fs ${UPP_HOME}/parm/hires_micro_lookup.dat . # link coefficients for crtm2 (simulated synthetic satellites) -CRTMDIR=${UNIPOST_HOME}/crtm/fix +CRTMDIR=${UPP_HOME}/crtm/fix ln -fs $CRTMDIR/EmisCoeff/IR_Water/Big_Endian/Nalli.IRwater.EmisCoeff.bin ./ ln -fs $CRTMDIR/EmisCoeff/MW_Water/Big_Endian/FASTEM4.MWwater.EmisCoeff.bin ./ ln -fs $CRTMDIR/EmisCoeff/MW_Water/Big_Endian/FASTEM5.MWwater.EmisCoeff.bin ./ @@ -295,7 +295,7 @@ if [ ${model} == "GFS" ]; then flxFileName=${modelDataPath}/sfcf${fhour}.nc fi elif [ ${model} == "LAM" ]; then - if [ ${inFormat} == "netcdf" ]; then + if [[ ${inFormat} == "netcdf" || ${inFormat} == "netcdfpara" ]]; then inFileName=${modelDataPath}/dynf${fhour}.nc flxFileName=${modelDataPath}/dynf${fhour}.nc fi From 8b76d293c2d87472f75658f1543e420847934fc4 Mon Sep 17 00:00:00 2001 From: kayee Date: Thu, 5 May 2022 12:13:27 -0600 Subject: [PATCH 03/12] Minor fix. --- scripts/run_upp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/run_upp b/scripts/run_upp index 7bf039044..a3a7da5cd 100755 --- a/scripts/run_upp +++ b/scripts/run_upp @@ -39,7 +39,7 @@ set -x #---------------------------------------------------------------------------------- # TOP_DIR : Top level directory for building and running UPP # DOMAINPATH : Working directory for this run. -# UPP_HOME : Location of the UPP directory +# UPP_HOME : Location of the UPP directory # POSTEXEC : Location of the UPP executable # modelDataPath : Location of the model output data files to be post-processed # txtCntrlFile : Name and location of the flat text file that lists desired fields for output From ec11e6bcdbc62b393ce1029f88e589f1d12f742f Mon Sep 17 00:00:00 2001 From: kayee Date: Thu, 5 May 2022 19:49:02 -0600 Subject: [PATCH 04/12] More minor change from Tracy. --- scripts/run_upp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/run_upp b/scripts/run_upp index a3a7da5cd..d940faa50 100755 --- a/scripts/run_upp +++ b/scripts/run_upp @@ -297,7 +297,7 @@ if [ ${model} == "GFS" ]; then elif [ ${model} == "LAM" ]; then if [[ ${inFormat} == "netcdf" || ${inFormat} == "netcdfpara" ]]; then inFileName=${modelDataPath}/dynf${fhour}.nc - flxFileName=${modelDataPath}/dynf${fhour}.nc + flxFileName=${modelDataPath}/phyf${fhour}.nc fi fi From 1b6d0d41814499e74f248ca80c7865afaed8e16b Mon Sep 17 00:00:00 2001 From: "kayee.wong" Date: Tue, 10 May 2022 13:53:16 -0600 Subject: [PATCH 05/12] Link update from Tracy. --- scripts/run_upp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/run_upp b/scripts/run_upp index d940faa50..74b46a13e 100755 --- a/scripts/run_upp +++ b/scripts/run_upp @@ -35,7 +35,7 @@ set -x #---------------------------------------------------------------------------------- #--- USER EDIT DESCIPTIONS -------------------------------------------------------- # See UPP User's Guide for more information -# https://upp.readthedocs.io/en/ufs-v2.0.0/ +# https://upp.readthedocs.io/en/latest/ #---------------------------------------------------------------------------------- # TOP_DIR : Top level directory for building and running UPP # DOMAINPATH : Working directory for this run. From d45daea4bcc8ce0c76858ba552e1c463f7d0960d Mon Sep 17 00:00:00 2001 From: Tracy Date: Tue, 10 May 2022 15:37:21 -0600 Subject: [PATCH 06/12] Documentation updates for release --- docs/Acknowledgments.rst | 2 +- docs/AddNewVariable.rst | 7 +- docs/CodeOverview.rst | 37 ++-- docs/InputsOutputs.rst | 45 ++--- docs/Installation.rst | 72 ++++---- docs/Introduction.rst | 36 +--- docs/Running.rst | 4 +- docs/UFS_unified_variables_table.csv | 243 +++++++++++++++++++++++++++ docs/UFS_unified_variables_table.rst | 12 ++ 9 files changed, 351 insertions(+), 107 deletions(-) create mode 100644 docs/UFS_unified_variables_table.csv create mode 100644 docs/UFS_unified_variables_table.rst diff --git a/docs/Acknowledgments.rst b/docs/Acknowledgments.rst index ec69df3a3..8f3d3034a 100644 --- a/docs/Acknowledgments.rst +++ b/docs/Acknowledgments.rst @@ -18,4 +18,4 @@ acknowledge the Developmental Testbed Center UPP Team. For referencing this document please use: -UPP Users Guide V9.0.0, 24 pp. +UPP Users Guide V10.0.12, 24 pp. diff --git a/docs/AddNewVariable.rst b/docs/AddNewVariable.rst index 295c89da0..bb50e4a51 100644 --- a/docs/AddNewVariable.rst +++ b/docs/AddNewVariable.rst @@ -317,12 +317,12 @@ with examples in the sections below. 7. Build or rebuild the code for changes to take effect before running your UPP run script. - User procedure IF you already have the code built. Otherwise, see the User's Guide for instructions on building. + User procedure for building on pre-configured machines. Otherwise, see the User's Guide for instructions on building. :: - >> cd UPP/build - >> make install + >> cd UPP/tests + >> ./compile_upp.sh Assuming the modified code built successfully and you were able to produce Grib2 output, you can check the Grib2 file for your new variable. @@ -343,4 +343,3 @@ with examples in the sections below. number of latitudes between pole-equator=96 #points=73728 lat 89.284225 to -89.284225 lon 0.000000 to 359.062500 by 0.937500 - diff --git a/docs/CodeOverview.rst b/docs/CodeOverview.rst index 5ca2284ce..b06efdb08 100644 --- a/docs/CodeOverview.rst +++ b/docs/CodeOverview.rst @@ -2,19 +2,32 @@ Code Overview ************* -The UPP can be used to post-process WRF-ARW, WRF-NMM, NMMB, GFS, CFS, and FV3 forecasts with current -support within UFS applications available for FV3 only. It can ingest FV3 write component files in -netCDF and binarynemsiompiio format. +The UPP is used to post-process model forecasts and provides the capability to compute a variety of +diagnostic fields and interpolate to pressure levels or other vertical coordinates. -UPP Functionalities: +The UPP also incorporates the Joint Center for Satellite Data Assimilation (JCSDA) Community Radiative +Transfer Model (CRTM) to compute model derived brightness temperature (TB) for various instruments and +channels. This additional feature enables the generation of a number of simulated satellite products +including GOES products. - - Interpolates the forecasts from the models native vertical coordinate to NWS standard output - levels (e.g., pressure, height) and computes mean sea level pressure. If the requested parameter - is on a models native level, then no vertical interpolation is performed. +Output from the UPP is in National Weather Service (NWS) and World Meteorological Organization (WMO) +`GRIB2 `_ format and can be used directly by +visualization, plotting, or verification packages, or for further downstream post-processing, e.g. +statistical post-processing techniques. - - Computes diagnostic output quantities (e.g., convective available potential energy, helicity, - relative humidity). A full list of fields that can be generated by the UPP is provided in - :doc:`UPP_GRIB2_Table`. +Examples of UPP products include: - - Outputs the results in NWS and WMO standard GRIB2 format (see - `Grib documentation `_). +- T, Z, humidity, wind, cloud water, cloud ice, rain, and snow on pressure levels +- SLP, shelter level T, humidity, and wind fields +- Precipitation-related fields +- PBL-related fields +- Severe weather products (e.g. CAPE, Vorticity, Wind shear) +- Radiative/Surface fluxes +- Cloud related fields +- Aviation products +- Radar reflectivity products +- Satellite look-alike products + +A full list of fields that can be generated by the UPP is provided in :doc:`UPP_GRIB2_Table`. + +Support for the community UPP is provided through the `UFS Forum `_. diff --git a/docs/InputsOutputs.rst b/docs/InputsOutputs.rst index 008cb5a05..a86bd875e 100644 --- a/docs/InputsOutputs.rst +++ b/docs/InputsOutputs.rst @@ -14,10 +14,24 @@ Input files =========== The UPP requires the following input files: + - The model forecast file - The itag namelist file - The GRIB2 control file - Additional data files (e.g. lookup tables, coefficient files for satellite) +-------------- +Model Forecast +-------------- + +The UPP ingests FV3 write component files in netCDF and parallel netCDF format. + +The table below is a list of the unified model variables available from the UFS applications. Whether a +specific variable is able to be read by UPP relies on dependencies such as physics options and model. +This table does not include variables that are diagnosed when running the UPP. + +UFS Unified Model Variables + - :doc:`UFS_unified_variables_table` + ---- ITAG ---- @@ -28,9 +42,9 @@ generated automatically within the UFS application workflow or stand-alone run s user-defined options. It should not be necessary to edit this. For description purposes, the namelist &model_inputs (:bolditalic:`itag` file) contains 7 lines for FV3: -#. Name of the FV3 (pressure level) output file to be posted. +#. Name of the FV3 (pressure level) output file to be post-processed. -#. Format of FV3 model output (netcdf, binarynemsiompiio). +#. Format of FV3 model output (netcdf, netcdfpara). #. Format of UPP output (GRIB2) @@ -54,22 +68,12 @@ which fields and levels to process. A default control file, :bolditalic:`postxconfig-NT.txt`, is provided and read by the UPP. For users wishing to customize the control file to add or remove fields and/or levels, they may do so by modifying the :bolditalic:`postcntrl.xml` and then remaking the text file as described in the later section -:ref:`Creating the Flat Text File`. +:ref:`create_txt_file`. .. Note:: The control file names :bolditalic:`postxconfig-NT.txt` and :bolditalic:`postcntrl.xml` are generic - names and are different depending on the application used. - -The tables below list all fields that are included in the control files for the various UFS -applications. All fields in the tables may not be present in your output depending on whether the field -dependencies are available in your model output. - -UFS MRW Table (GFS model) - - :doc:`MRW_GFSPRS_table` - -UFS SRW Tables (LAM - Limited Area Model) - - :doc:`SRW_BGDAWP_table` - - :doc:`SRW_BGRD3D_table` + names and are different depending on the application used. Control files for various operational + models are located in the :bolditalic:`UPP/parm` directory. Controlling which variables the UPP outputs ------------------------------------------- @@ -111,6 +115,8 @@ levels are currently available for output: - For AGL radar reflectivity, the levels are 4000 and 1000 m (see Appendix A for details). - For surface or shelter-level output, the is not necessary. +.. _create_txt_file: + Creating the Flat Text File --------------------------- @@ -131,14 +137,15 @@ run-time failures with UPP. To run the validation: xmllint --noout --schema EMC_POST_CTRL_Schema.xsd postcntrl.xml xmllint --noout --schema EMC_POST_Avblflds_Schema.xsd post_avblflds.xml -Once the xmls are validated, the user will need to generate the flat file. The makefile will call the -perl program :bolditalic:`parm/POSTXMLPreprocessor.pl` to regenerate any post flat files -:bolditalic:`postxconfig-NT.txt` where modifications were made since it was last run. Generate the flat +Once the xmls are validated, the user will need to generate the flat file. The below command will run the +perl program :bolditalic:`parm/POSTXMLPreprocessor.pl` to generate the post flat file. Generate the flat file: .. code-block:: console - make + /usr/bin/perl POSTXMLPreprocessor.pl your_user_defined_xml post_avblflds.xml your_user_defined_flat + +where *your_user_defined_xml* is your modified xml and *your_user_defined_flat* is the output text file. ============ Output Files diff --git a/docs/Installation.rst b/docs/Installation.rst index 76c76fc8d..f03d78689 100644 --- a/docs/Installation.rst +++ b/docs/Installation.rst @@ -7,47 +7,40 @@ Building Stand-Alone ******************** +The UPP uses a CMake-based build system to integrate all the required components for building the UPP. +Once built, the UPP can be run stand-alone (outside the UFS Applications) to post-process model output. + ===================== Software Requirements ===================== -Before installing the UPP code, it is necessary to ensure that you have the required libraries -available on your system. These libraries include: - - - The external NCEP libraries - https://github.com/NOAA-EMC/NCEPLIBS-external - - - The NCEP libraries - https://github.com/NOAA-EMC/NCEPLIBS - -An introduction of each can be found in their respective top level :bolditalic:`README.md` files. -Detailed instructions for building the libraries on various platforms can be found in the -**NCEPLIBS-external/doc** directory. +The UPP is tested on a variety of research platforms, including NOAA HPC systems (e.g. Hera, Orion) and +the NCAR HPC Cheyenne. These supported platforms are pre-configured for building and running the UPP and already +have the required libraries available via `HPC-Stack `_ in a centralized +location. The HPC-Stack is a script-based build system that builds the software stack required by UFS components. -Certain machines do have the NCEP libraries in a pre-installed location for use to build UPP. Paths to -these pre-installed libraries are available on the -`UFS-SRW wiki `_ -and include platform name and compiler version. +Users working on unsupported platforms will need to install the HPC-Stack on their system and can do so following +the instructions in the `HPC-Stack User's Guide `_. ============================ Obtaining and Installing UPP ============================ -Building and running UPP V9.0.0 has been tested on the following platforms using pre-configured libraries. +Building and running UPP V10.0.12 has been tested and is supported on the following pre-configured platforms. +---------------+----------------------+ | System | Compiler and Version | +===============+======================+ -| NCAR Cheyenne | Intel 19.1.1 | +| NCAR Cheyenne | Intel 2021.2 | | +----------------------+ -| | GNU 9.1.0 | | | GNU 10.1.0 | +---------------+----------------------+ | NOAA Hera | Intel 18.0.5.274 | +---------------+----------------------+ +| NOAA Orion | Intel 2018.4 | ++---------------+----------------------+ -Move to the directory where you want to clone and build UPP and clone the repository into the directory -UPP. +Move to the directory where you want to install UPP and clone the repository. .. code-block:: console @@ -55,41 +48,37 @@ UPP. where, ``branch-or-tag-name`` is the release branch or tag you wish to clone. -Move into the top level UPP directory and create and move into the build directory. Then build the UPP code -using the cmake utility. -The path ``INSTALL_PREFIX`` should point to the location of the pre-installed NCEP libraries. +Move to the directory with the build script and build the UPP. .. code-block:: console - cd UPP - mkdir build && cd build + cd UPP/tests - cmake .. -DCMAKE_INSTALL_PREFIX=.. -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} - make install + ./compile_upp.sh .. note:: - To build in debug mode, you can add :bolditalic:`-DCMAKE_BUILD_TYPE=Debug` to the cmake command. + To build in debug mode, you can add :bolditalic:`-DCMAKE_BUILD_TYPE=Debug` to the *cmake_opts* + parameter in the :bolditalic:`compile_upp.sh` script. This removes compiler optimization flags and adds -g to the fortran compilation. You can also use :bolditalic:`-DCMAKE_BUILD_TYPE=RELWITHDEBINFO`, which gives the -g, but keeps the -O2 optimization for the fortran compilation. Move back to the top level UPP directory and create a directory for the CRTM fix files to be unpacked in. Download the fix files from the Github `release page -`_ or use the wget command. Unpack the +`_ or use the wget command. Unpack the tar file. .. code-block:: console cd ../ mkdir crtm && cd crtm - wget https://github.com/NOAA-EMC/UPP/releases/download/upp_v9.0.0/fix.tar.gz + wget https://github.com/NOAA-EMC/UPP/releases/download/upp_v10.0.12/fix.tar.gz tar -xzf fix.tar.gz .. note:: - To make a clean build, simply remove both the **/build** directory and the - :bolditalic:`bin/upp.x` executable and then re-create the build from step #2. This is recommended if a - mistake is made during the installation process. If a simple change is made to the code, you can simply - type :bolditalic:`make install` again in the pre-existing build directory. + To make a clean build, simply remove both the **tests/build** and **tests/install** directories and the + :bolditalic:`exec/upp.x` executable and then rerun the :bolditalic:`compile_upp.sh script. This is + recommended if a mistake is made during the installation process. ======================= UPP Directory Structure @@ -98,13 +87,10 @@ UPP Directory Structure Under the main directory **UPP** reside the following relevant subdirectories (The * indicates a directory that exists only after the build is complete): - | **bin***: Contains the :bolditalic:`upp.x` executable after successful compilation - - | **build**: Contains the UPP build + | **exec***: Contains the :bolditalic:`upp.x` executable after successful compilation - | **include***: Contains include modules built/used during compilation of UPP - - | **lib***: Libraries built/used by UPP that are separate from NCEPlibs + | **modulefiles**: Contains modulefiles for specific platforms and compilers for building on + pre-configured machines. | **parm**: Contains parameter files, which can be modified by the user to control how the post processing is performed. @@ -114,3 +100,7 @@ directory that exists only after the build is complete): | **sorc**: Contains source codes for: | - **ncep_post.fd**: Source code for the UPP + + | **tests**: Contains the scripts used to install UPP + | - **build***: Contains the UPP build + | - **install***: Contains the installed executable, modules, and libraries diff --git a/docs/Introduction.rst b/docs/Introduction.rst index 4dc972b54..76e79f015 100644 --- a/docs/Introduction.rst +++ b/docs/Introduction.rst @@ -3,31 +3,11 @@ Introduction ************ The Unified Post Processor (UPP) software package is a software package designed to generate useful -products from raw model output. The UPP is currently used in operations with the Global Forecast -System (GFS), GFS Ensemble Forecast System (GEFS), North American Mesoscale (NAM), Rapid Refresh (RAP), -High Resolution Rapid Refresh (HRRR), Short Range Ensemble Forecast (SREF), Hurricane WRF (HWRF) -applications, and is also used in Unified Forecasting System (UFS) applications. The UPP provides the -capability to compute a variety of diagnostic fields and interpolate to pressure levels or other -vertical coordinates. UPP also incorporates the Joint Center for Satellite Data Assimilation (JCSDA) -Community Radiative Transfer Model (CRTM) to compute model derived brightness temperature (TB) for -various instruments and channels. This additional feature enables the generation of a number of -simulated satellite products including GOES products. Output from the UPP is in National Weather -Service (NWS) and World Meteorological Organization (WMO) GRIB2 format and can be used directly by -visualization, plotting, or verification packages, or for further downstream post-processing, e.g. -statistical post-processing techniques. - -Examples of UPP products include: - -- T, Z, humidity, wind, cloud water, cloud ice, rain, and snow on pressure levels -- SLP, shelter level T, humidity, and wind fields -- Precipitation-related fields -- PBL-related fields -- Severe weather products (e.g. CAPE, Vorticity, Wind shear) -- Radiative/Surface fluxes -- Cloud related fields -- Aviation products -- Radar reflectivity products -- Satellite look-alike products - -Support for the UFS UPP is provided through the UFS Forum by the Developmental Testbed Center (DTC) for -FV3-based applications. +products from raw model output. + +The UPP is currently used in operations with the Global Forecast System (GFS), GFS Ensemble Forecast +System (GEFS), North American Mesoscale (NAM), Rapid Refresh (RAP), High Resolution Rapid Refresh +(HRRR), Short Range Ensemble Forecast (SREF), and Hurricane WRF (HWRF) applications. It is also used +in the Unified Forecasting System (UFS), including the Rapid Refresh Forecast System (RRFS), Hurricane +Application Forecasting System (HAFS), and the Medium Range Weather (MRW) and Short Range Weather (SRW) +Applications. diff --git a/docs/Running.rst b/docs/Running.rst index 1cbef0fbd..428725d35 100644 --- a/docs/Running.rst +++ b/docs/Running.rst @@ -64,7 +64,7 @@ Run Script Overview | **TOP_DIR**: Top level directory for building and running UPP | **DOMAINPATH**: Working directory for this run - | **UNIPOST_HOME**: Location of the **UPP** directory + | **UPP_HOME**: Location of the **UPP** directory | **POSTEXEC**: Location of the **UPP** executable | **modelDataPath**: Location of the model output data files to be processed | **txtCntrlFile**: Name and location of the flat text file that lists desired fields for @@ -82,7 +82,7 @@ Run Script Overview 3. Specify the format for the input model files and output UPP files - | **inFormat**: Format of the model data ("binarynemsiompiio": GFS only or "netcdf": GFS/LAM) + | **inFormat**: Format of the model data ("netcdf" or "netcdfpara") | **outFormat**: Format of output from UPP ("grib2") 4. Specify the forecast cycles to be post-processed diff --git a/docs/UFS_unified_variables_table.csv b/docs/UFS_unified_variables_table.csv new file mode 100644 index 000000000..fb4c78d86 --- /dev/null +++ b/docs/UFS_unified_variables_table.csv @@ -0,0 +1,243 @@ +Field Description,UPP INITPOST Name,Model Output Name,Dimensions,Notes +u-component of wind,uh,ugrd,3d, +v-component of wind,vh,vgrd,3d, +specific humidity,q,spfh,3d, +temperature,t,tmp,3d, +ozone mixing ratio,o3,o3mr,3d, +geometric vertical velocity,wh,dzdt,3d, +cloud water mixing ratio,qqw,clwmr,3d, +layer thickness on hybrid levels,dpres,dpres,3d, +pressure vertical velocity (omega),buf3d > omga,delz,3d,compute omega +ice mixing ratio,qqi,icmr,3d, +rain mixing ratio,qqr,rwmr,3d, +snow mixing ratio,qqs,snmr,3d, +graupel mixing ratio,qqg,grle,3d, +Instantaneous 3d cloud fraction,cfr,cld_amt,3d,imp_physics = 11 +Instantaneous 3d cloud fraction,cfr,cldfra,3d,imp_physics ≠ 11 +max hourly updraft velocity,w_up_max,upvvelmax,2d,regional FV3 +max hourly downdraft velocity,w_dn_max,dnvvelmax,2d,regional FV3 +max hourly updraft helicity,up_heli_max,uhmax25,2d,regional FV3 +min hourly updraft helicity,up_heli_min,uhmin25,2d,regional FV3 +max hourly 0-3km updraft helicity,up_heli_max03,uhmax03,2d,regional FV3 +min hourly 0-3km updraft helicity,up_heli_min03,uhmin03,2d,regional FV3 +max 0-1km relative vorticity max,rel_vort_max01,maxvort01,2d,regional FV3 +max 0-2km relative vorticity max,rel_vort_max,maxvort02,2d,regional FV3 +max hybrid level 1 relative vorticity max,rel_vort_maxhy1,maxvorthy1,2d,regional FV3 +surface pressure,pint,pressfc,2d, +surface height,zint,hgtsfc,2d, +reflectivity,REF_10CM,refl_10cm,3d, +turbulence kinetic energy,q2,qke,3d, +ice-friendly aerosol number concentration,qqnwfa,nifa,3d, +water-friendly aerosol number concentration,qqnwfa,nwfa,3d, +land mask,sm,land,2d, +sea ice mask,sice,icec,2d, +PBL height,pblh,hpbl,2d, +frictional velocity,ustar,fricv,2d, +roughness length,z0,sfcr,2d, +surface exchange coefficient,SFCEXC,sfexc,2d, +aerodynamic conductance,acond,acond,2d, +mid day avg albedo,avgalbedo,albdo_ave,2d, +surface potential temperature,ths,tmpsfc,2d, +foundation temperature,fdnsst,tref,2d, +convective precip in m per physics time step,avgcprate,cpratb_ave,2d, +convective precip - coninuous bucket,avgcprate_cont,cprat_ave,2d, +average precip rate in m per physics time step,avgprec,prateb_ave,2d, +average precip rate - continuous bucket,avgprec_cont,prateb_ave,2d, +precip rate,prec,tprcp,2d, +convective precip rate,cprate,cnvprcp,2d, +max hourly surface precip rate,prate_max,pratemax,2d, +max hourly 1 km agl reflectivity,refd_max,refdmax,2d, +max hourly -10C reflectivity,refdm10c_max,refdmax263k,2d, +max hourly u comp of 10m agl wind,u10max,u10max,2d, +max hourly v comp of 10m agl wind,v10max,v10max,2d, +max hourly 10m agl wind speed,wspd10max,spd10max,2d, +instantaneous snow water equivalent,sno,weasd,2d, +average snow cover,snoavg,snowc_ave,2d, +snow depth in mm,si,snod,2d, +2m temperature,tshltr,tmp2m,2d, +2m specific humidity,qshltr,spfh2m,2d, +time-averaged column cloud fraction,avgtcdc,tcdc_aveclm,2d, +maximum snow albedo,mxsnal,snoalb,2d, +land fraction,landfrac,lfrac,2d, +average high cloud fraction,avgcfrach,tcdc_avehcl,2d, +average low cloud fraction,avgcfracl,tcdc_avelcl,2d, +average mid cloud fraction,avgcfracm,tcdc_avemcl,2d, +instantaneous convective cloud fraction,cnvcfr,tcdccnvcl,2d, +slope type,sltyp,islope,2d, +plant canopy sfc water in m,cmc,cnwat,2d, +frozen precip fraction,sr,cpofp,2d, +sea ice skin temperature,ti,tisfc,2d, +vegetation fraction,vegfrc,veg,2d, +liquid volumetric soil moisture,sh2o,soill1/soill2/soill3/soill4,2d,"all soil levels read into array, L5-9 RUC only" +volumetric soil moisture,smc,soilw1/soilw2/soilw3/soilw4.....,2d,"all soil levels read into array, L5-9 RUC only" +soil temperature,stc,soilt1/soilt2/soilt3/soilt4.....,2d,"all soil levels read into array, L5-9 RUC only" +time averaged incoming surface longwave,alwin,dlwrf_ave,2d, +instantaneous incoming surface longwave,rlwin,dlwrf,2d, +time averaged outgoing surface longwave,alwout,ulwrf_ave,2d, +instataneous outgoing surface longwave,radot,ulwrf,2d, +time average outgoing model top longwave,alwtoa,ulwrf_avetoa,2d, +time averaged incoming surface shortwave,aswin,dswrf_ave,2d, +instantaneous incoming surface shortwave,rswin,dswrf,2d, +time averaged incoming sfc uv-b,auvbin,duvb_ave,2d, +time averaged incoming sfc clear sky uv-b,auvbinc,cduvb_ave,2d, +time averaged outgoing sfc shortwave,aswout,uswrf_ave,2d, +inst outgoing sfc shortwave,rswout,uswrf,2d, +time averaged model top incoming shortwave,aswintoa,dswrf_avetoa,2d, +time averaged model top outgoing shortwave,aswtoa,uswrf_avetoa,2d, +time averaged surface sensible heat flux,sfcshx,shtfl_ave,2d, +inst surface sensible heat flux,twbs,shtfl,2d, +time averaged surface latent heat flux,sfclhx,lhtfl_ave,2d, +inst surface latent heat flux,qwbs,lhtfl,2d, +time averaged ground heat flux,subshx,gflux_ave,2d, +instantaneous ground heat flux,grnflx,gflux,2d, +time averaged zonal momentum flux,sfcux,uflx_ave,2d, +time averaged meridional momentum flux,sfcvx,vflx_ave,2d, +instantaneous zonal momentum flux,sfcuxi,uflx,2d, +instantaneous meridional momentum flux,sfcvxi,vflx,2d, +time averaged zonal gravity wave stress,gtaux,u-gwd_ave,2d, +time averaged meridional gravity wave stress,gtauy,v-gwd_ave,2d, +time averaged accumulated potential evaporation,avgpotevp,pevpr_ave,2d, +instantaneous potential evaporation,potevp,pevpr,2d, +10 m u-wind component,u10,ugrd10m,2d, +10 m v-wind component,v10,vgrd10m,2d, +vegetation type,ivgtyp,vtype,2d, +soil type,isltyp,sotyp,2d, +instantaneous convective cloud top pressure,ptop,prescnvclt,2d, +instantaneous convective cloud bottom pressure,pbot,prescnvclb,2d, +time averaged low cloud top pressure,ptopl,pres_avelct,2d, +time averaged low cloud bottom pressure,pbotl,pres_avelcb,2d, +time averaged low cloud top temperature,Ttopl,tmp_avelct,2d, +time averaged middle cloud top pressure,ptopm,pres_avemct,2d, +time averaged middle cloud bottom pressure,pbotm,pres_avemcb,2d, +time averaged middle cloud top temperature,Ttopm,tmp_avemct,2d, +time averaged high cloud top pressure,ptoph,pres_avehct,2d, +time averaged high cloud bottom pressure,pboth,pres_avehcb,2d, +time averaged high cloud top temperature,Ttoph,tmp_avehct,2d, +boundary layer cloud cover,pblcfr,tcdc_avebndcl,2d, +cloud work function,cldwork,cwork_aveclm,2d, +accumulated total (base+surface) runoff,runoff,watr_acc,2d, +total water storage in aquifer,twa,wa_acc,2d, +accumulated evaporation of intercepted water,tecan,ecan_acc,2d, +accumulated plant transpiration,tetran,etran_acc,2d, +accumulated soil surface evaporation,tedir,edir_acc,2d, +shelter max temperature,maxtshltr,t02max,2d, +shelter min temperature,mintshltr,t02min,2d, +shelter max rh,maxrhshltr,rh02max,2d, +shlter min rh,minrhshltr,rh02min,2d, +shelter max specific humidity,maxqshltr,spfhmax_max2m,2d, +shelter min specific humidity,minqshltr,spfhmin_min2m,2d, +ice thickness,dzice,icetk,2d, +wilting point,smcwlt,wilt,2d, +sunshine duration,suntime,sunsd_acc,2d, +field capacity,fieldcapa,fldcp,2d, +time averaged surface visible beam downward solar flux,avisbeamswin,vbdsf_ave,2d, +time averaged surface visible diffuse downward solar flux,avisdiffswin,vddsf_ave,2d, +time averaged surface near ir beam downward solar flux,airbeamswin,nbdsf_ave,2d, +time averaged surface near ir diffuse downward solar flux,airdiffswin,nddsf_ave,2d, +time averaged surface clear sky outgoing lw,alwoutc,csulf,2d, +time averaged toa clear sky outgoing lw,alwtoac,csulftoa,2d, +time averaged surface clear sky outgoing sw,aswoutc,csusf,2d, +time averaged toa clear sky outgoing sw,aswtoac,csusftoa,2d, +time averaged surface clear sky incoming lw,alwinc,csdlf,2d, +time averaged surface clear sky incoming sw,aswinc,csdsf,2d, +storm runoff,SSROFF,ssrun_acc,2d, +direct soil evaporation,avgedir,evbs_ave,2d, +canopy water evaporation,avgecan,evcw_ave,2d, +averaged precipitation advected heat flux,paha,pah_ave,2d, +instantaneous precipitation advected heat flux,pahi,pahi,2d, +plant transpiration,avgetrans,trans_ave,2d, +snow sublimation,avgesnow,sbsno_ave,2d, +total soil moisture,smstot,soilm,2d, +snow phase change heat flux,snopcx,snohf,2d, +precipitable water,pwat,pwat,2d, +,aalk1j,aalk1j,3d,aqfcmaq_on = True +,aalk2j,aalk2j,3d,aqfcmaq_on = True +,abnz1j,abnz1j,3d,aqfcmaq_on = True +,abnz2j,abnz2j,3d,aqfcmaq_on = True +,abnz3j,abnz3j,3d,aqfcmaq_on = True +,acaj,acaj,3d,aqfcmaq_on = True +,acet,acet,3d,aqfcmaq_on = True +,acli,acli,3d,aqfcmaq_on = True +,aclj,aclj,3d,aqfcmaq_on = True +,aclk,aclk,3d,aqfcmaq_on = True +,acors,acors,3d,aqfcmaq_on = True +,acro_primary,acro_primary,3d,aqfcmaq_on = True +,acrolein,acrolein,3d,aqfcmaq_on = True +,aeci,aeci,3d,aqfcmaq_on = True +,aecj,aecj,3d,aqfcmaq_on = True +,afej,afej,3d,aqfcmaq_on = True +,aglyj,aglyj,3d,aqfcmaq_on = True +,ah2oi,ah2oi,3d,aqfcmaq_on = True +,ah2oj,ah2oj,3d,aqfcmaq_on = True +,ah2ok,ah2ok,3d,aqfcmaq_on = True +,ah3opi,ah3opi,3d,aqfcmaq_on = True +,ah3opj,ah3opj,3d,aqfcmaq_on = True +,ah3opk,ah3opk,3d,aqfcmaq_on = True +,aiso1j,aiso1j,3d,aqfcmaq_on = True +,aiso2j,aiso2j,3d,aqfcmaq_on = True +,aiso3j,aiso3j,3d,aqfcmaq_on = True +,aivpo1j,aivpo1j,3d,aqfcmaq_on = True +,akj,akj,3d,aqfcmaq_on = True +,ald2,ald2,3d,aqfcmaq_on = True +,ald2_primary,ald2_primary,3d,aqfcmaq_on = True +,aldx,aldx,3d,aqfcmaq_on = True +,alvoo1i,alvoo1i,3d,aqfcmaq_on = True +,alvoo1j,alvoo1j,3d,aqfcmaq_on = True +,alvoo2i,alvoo2i,3d,aqfcmaq_on = True +,alvoo2j,alvoo2j,3d,aqfcmaq_on = True +,alvpo1i,alvpo1i,3d,aqfcmaq_on = True +,alvpo1j,alvpo1j,3d,aqfcmaq_on = True +,amgj,amgj,3d,aqfcmaq_on = True +,amnj,amnj,3d,aqfcmaq_on = True +,anai,anai,3d,aqfcmaq_on = True +,anaj,anaj,3d,aqfcmaq_on = True +,anh4i,anh4i,3d,aqfcmaq_on = True +,anh4j,anh4j,3d,aqfcmaq_on = True +,anh4k,anh4k,3d,aqfcmaq_on = True +,ano3i,ano3i,3d,aqfcmaq_on = True +,ano3j,ano3j,3d,aqfcmaq_on = True +,ano3k,ano3k,3d,aqfcmaq_on = True +,aolgaj,aolgaj,3d,aqfcmaq_on = True +,aolgbj,aolgbj,3d,aqfcmaq_on = True +,aorgcj,aorgcj,3d,aqfcmaq_on = True +,aothri,aothri,3d,aqfcmaq_on = True +,aothrj,aothrj,3d,aqfcmaq_on = True +,apah1j,apah1j,3d,aqfcmaq_on = True +,apah2j,apah2j,3d,aqfcmaq_on = True +,apah3j,apah3j,3d,aqfcmaq_on = True +,apcsoj,apcsoj,3d,aqfcmaq_on = True +,aseacat,aseacat,3d,aqfcmaq_on = True +,asij,asij,3d,aqfcmaq_on = True +,aso4i,aso4i,3d,aqfcmaq_on = True +,aso4j,aso4j,3d,aqfcmaq_on = True +,aso4k,aso4k,3d,aqfcmaq_on = True +,asoil,asoil,3d,aqfcmaq_on = True +,asqtj,asqtj,3d,aqfcmaq_on = True +,asvoo1i,asvoo1i,3d,aqfcmaq_on = True +,asvoo1j,asvoo1j,3d,aqfcmaq_on = True +,asvoo2i,asvoo2i,3d,aqfcmaq_on = True +,asvoo2j,asvoo2j,3d,aqfcmaq_on = True +,asvoo3j,asvoo3j,3d,aqfcmaq_on = True +,asvpo1i,asvpo1i,3d,aqfcmaq_on = True +,asvpo1j,asvpo1j,3d,aqfcmaq_on = True +,asvpo2i,asvpo2i,3d,aqfcmaq_on = True +,asvpo2j,asvpo2j,3d,aqfcmaq_on = True +,asvpo3j,asvpo3j,3d,aqfcmaq_on = True +,atij,atij,3d,aqfcmaq_on = True +,atol1j,atol1j,3d,aqfcmaq_on = True +,atol2j,atol2j,3d,aqfcmaq_on = True +,atol3j,atol3j,3d,aqfcmaq_on = True +,atrp1j,atrp1j,3d,aqfcmaq_on = True +,atrp2j,atrp2j,3d,aqfcmaq_on = True +,axyl1j,axyl1j,3d,aqfcmaq_on = True +,axyl2j,axyl2j,3d,aqfcmaq_on = True +,axyl3j,axyl3j,3d,aqfcmaq_on = True +,pm25ac,pm25ac,3d,aqfcmaq_on = True +,pm25at,pm25at,3d,aqfcmaq_on = True +,pm25co,pm25co,3d,aqfcmaq_on = True +,aod550,aod550,2d,rdaod = True +,du_aod550,du_aod550,2d,rdaod = True +,ss_aod550,ss_aod550,2d,rdaod = True +,su_aod550,su_aod550,2d,rdaod = True +,oc_aod550,oc_aod550,2d,rdaod = True +,bc_aod550,bc_aod550,2d,rdaod = True \ No newline at end of file diff --git a/docs/UFS_unified_variables_table.rst b/docs/UFS_unified_variables_table.rst new file mode 100644 index 000000000..467da9ab2 --- /dev/null +++ b/docs/UFS_unified_variables_table.rst @@ -0,0 +1,12 @@ +******************************** +Unified Model Variables from UFS +******************************** + +Unified model variables read by UPP (column 1), model output name in INITPOST_NETCDF routine (column 2), +corresponding UPP INITPOST_NETCDF name that the variable is read in as (column 3), variable dimension +(column 4), and relevant notes such as dependencies (column 5). + +.. csv-table:: + :file: UFS_unified_variables_table.csv + :widths: 25, 20, 20, 15, 20 + :header-rows: 1 From 72cc850b94ea39e1e7d13e90622c419d9b23b7db Mon Sep 17 00:00:00 2001 From: Tracy Date: Wed, 11 May 2022 16:04:57 -0600 Subject: [PATCH 07/12] minor updates based on comments --- docs/InputsOutputs.rst | 4 +- docs/Installation.rst | 2 +- docs/Introduction.rst | 6 +- docs/UFS_unified_variables_table.csv | 488 ++++++++++++++------------- docs/UFS_unified_variables_table.rst | 9 +- 5 files changed, 258 insertions(+), 251 deletions(-) diff --git a/docs/InputsOutputs.rst b/docs/InputsOutputs.rst index a86bd875e..5a77151fe 100644 --- a/docs/InputsOutputs.rst +++ b/docs/InputsOutputs.rst @@ -25,7 +25,7 @@ Model Forecast The UPP ingests FV3 write component files in netCDF and parallel netCDF format. -The table below is a list of the unified model variables available from the UFS applications. Whether a +The table below is a list of the unified model variables available from the FV3 model core. Whether a specific variable is able to be read by UPP relies on dependencies such as physics options and model. This table does not include variables that are diagnosed when running the UPP. @@ -112,7 +112,7 @@ levels are currently available for output: - For PBL layer averages, the levels correspond to 6 layers with a thickness of 30 hPa each. - For flight level, the levels are 30 m, 50 m, 80 m, 100 m, 305 m, 457 m, 610 m, 914 m, 1524 m, 1829 m, 2134 m, 2743 m, 3658 m, 4572 m, 6000 m, 7010 m. -- For AGL radar reflectivity, the levels are 4000 and 1000 m (see Appendix A for details). +- For AGL radar reflectivity, the levels are 4000 and 1000 m. - For surface or shelter-level output, the is not necessary. .. _create_txt_file: diff --git a/docs/Installation.rst b/docs/Installation.rst index f03d78689..dcfd95f6f 100644 --- a/docs/Installation.rst +++ b/docs/Installation.rst @@ -103,4 +103,4 @@ directory that exists only after the build is complete): | **tests**: Contains the scripts used to install UPP | - **build***: Contains the UPP build - | - **install***: Contains the installed executable, modules, and libraries + | - **install***: Contains the installed executable (bin/upp.x), modules, and libraries diff --git a/docs/Introduction.rst b/docs/Introduction.rst index 76e79f015..f5646c1b1 100644 --- a/docs/Introduction.rst +++ b/docs/Introduction.rst @@ -2,7 +2,7 @@ Introduction ************ -The Unified Post Processor (UPP) software package is a software package designed to generate useful +The Unified Post Processor (UPP) is a software package designed to generate useful products from raw model output. The UPP is currently used in operations with the Global Forecast System (GFS), GFS Ensemble Forecast @@ -11,3 +11,7 @@ System (GEFS), North American Mesoscale (NAM), Rapid Refresh (RAP), High Resolut in the Unified Forecasting System (UFS), including the Rapid Refresh Forecast System (RRFS), Hurricane Application Forecasting System (HAFS), and the Medium Range Weather (MRW) and Short Range Weather (SRW) Applications. + +This software package can be run inline, built as a library to be used by the model, and offline, +built stand-alone and run separate from the model. This documentation largely details the offline +procedures. diff --git a/docs/UFS_unified_variables_table.csv b/docs/UFS_unified_variables_table.csv index fb4c78d86..7f34e33a8 100644 --- a/docs/UFS_unified_variables_table.csv +++ b/docs/UFS_unified_variables_table.csv @@ -1,243 +1,245 @@ -Field Description,UPP INITPOST Name,Model Output Name,Dimensions,Notes -u-component of wind,uh,ugrd,3d, -v-component of wind,vh,vgrd,3d, -specific humidity,q,spfh,3d, -temperature,t,tmp,3d, -ozone mixing ratio,o3,o3mr,3d, -geometric vertical velocity,wh,dzdt,3d, -cloud water mixing ratio,qqw,clwmr,3d, -layer thickness on hybrid levels,dpres,dpres,3d, -pressure vertical velocity (omega),buf3d > omga,delz,3d,compute omega -ice mixing ratio,qqi,icmr,3d, -rain mixing ratio,qqr,rwmr,3d, -snow mixing ratio,qqs,snmr,3d, -graupel mixing ratio,qqg,grle,3d, -Instantaneous 3d cloud fraction,cfr,cld_amt,3d,imp_physics = 11 -Instantaneous 3d cloud fraction,cfr,cldfra,3d,imp_physics ≠ 11 -max hourly updraft velocity,w_up_max,upvvelmax,2d,regional FV3 -max hourly downdraft velocity,w_dn_max,dnvvelmax,2d,regional FV3 -max hourly updraft helicity,up_heli_max,uhmax25,2d,regional FV3 -min hourly updraft helicity,up_heli_min,uhmin25,2d,regional FV3 -max hourly 0-3km updraft helicity,up_heli_max03,uhmax03,2d,regional FV3 -min hourly 0-3km updraft helicity,up_heli_min03,uhmin03,2d,regional FV3 -max 0-1km relative vorticity max,rel_vort_max01,maxvort01,2d,regional FV3 -max 0-2km relative vorticity max,rel_vort_max,maxvort02,2d,regional FV3 -max hybrid level 1 relative vorticity max,rel_vort_maxhy1,maxvorthy1,2d,regional FV3 -surface pressure,pint,pressfc,2d, -surface height,zint,hgtsfc,2d, -reflectivity,REF_10CM,refl_10cm,3d, -turbulence kinetic energy,q2,qke,3d, -ice-friendly aerosol number concentration,qqnwfa,nifa,3d, -water-friendly aerosol number concentration,qqnwfa,nwfa,3d, -land mask,sm,land,2d, -sea ice mask,sice,icec,2d, -PBL height,pblh,hpbl,2d, -frictional velocity,ustar,fricv,2d, -roughness length,z0,sfcr,2d, -surface exchange coefficient,SFCEXC,sfexc,2d, -aerodynamic conductance,acond,acond,2d, -mid day avg albedo,avgalbedo,albdo_ave,2d, -surface potential temperature,ths,tmpsfc,2d, -foundation temperature,fdnsst,tref,2d, -convective precip in m per physics time step,avgcprate,cpratb_ave,2d, -convective precip - coninuous bucket,avgcprate_cont,cprat_ave,2d, -average precip rate in m per physics time step,avgprec,prateb_ave,2d, -average precip rate - continuous bucket,avgprec_cont,prateb_ave,2d, -precip rate,prec,tprcp,2d, -convective precip rate,cprate,cnvprcp,2d, -max hourly surface precip rate,prate_max,pratemax,2d, -max hourly 1 km agl reflectivity,refd_max,refdmax,2d, -max hourly -10C reflectivity,refdm10c_max,refdmax263k,2d, -max hourly u comp of 10m agl wind,u10max,u10max,2d, -max hourly v comp of 10m agl wind,v10max,v10max,2d, -max hourly 10m agl wind speed,wspd10max,spd10max,2d, -instantaneous snow water equivalent,sno,weasd,2d, -average snow cover,snoavg,snowc_ave,2d, -snow depth in mm,si,snod,2d, -2m temperature,tshltr,tmp2m,2d, -2m specific humidity,qshltr,spfh2m,2d, -time-averaged column cloud fraction,avgtcdc,tcdc_aveclm,2d, -maximum snow albedo,mxsnal,snoalb,2d, -land fraction,landfrac,lfrac,2d, -average high cloud fraction,avgcfrach,tcdc_avehcl,2d, -average low cloud fraction,avgcfracl,tcdc_avelcl,2d, -average mid cloud fraction,avgcfracm,tcdc_avemcl,2d, -instantaneous convective cloud fraction,cnvcfr,tcdccnvcl,2d, -slope type,sltyp,islope,2d, -plant canopy sfc water in m,cmc,cnwat,2d, -frozen precip fraction,sr,cpofp,2d, -sea ice skin temperature,ti,tisfc,2d, -vegetation fraction,vegfrc,veg,2d, -liquid volumetric soil moisture,sh2o,soill1/soill2/soill3/soill4,2d,"all soil levels read into array, L5-9 RUC only" -volumetric soil moisture,smc,soilw1/soilw2/soilw3/soilw4.....,2d,"all soil levels read into array, L5-9 RUC only" -soil temperature,stc,soilt1/soilt2/soilt3/soilt4.....,2d,"all soil levels read into array, L5-9 RUC only" -time averaged incoming surface longwave,alwin,dlwrf_ave,2d, -instantaneous incoming surface longwave,rlwin,dlwrf,2d, -time averaged outgoing surface longwave,alwout,ulwrf_ave,2d, -instataneous outgoing surface longwave,radot,ulwrf,2d, -time average outgoing model top longwave,alwtoa,ulwrf_avetoa,2d, -time averaged incoming surface shortwave,aswin,dswrf_ave,2d, -instantaneous incoming surface shortwave,rswin,dswrf,2d, -time averaged incoming sfc uv-b,auvbin,duvb_ave,2d, -time averaged incoming sfc clear sky uv-b,auvbinc,cduvb_ave,2d, -time averaged outgoing sfc shortwave,aswout,uswrf_ave,2d, -inst outgoing sfc shortwave,rswout,uswrf,2d, -time averaged model top incoming shortwave,aswintoa,dswrf_avetoa,2d, -time averaged model top outgoing shortwave,aswtoa,uswrf_avetoa,2d, -time averaged surface sensible heat flux,sfcshx,shtfl_ave,2d, -inst surface sensible heat flux,twbs,shtfl,2d, -time averaged surface latent heat flux,sfclhx,lhtfl_ave,2d, -inst surface latent heat flux,qwbs,lhtfl,2d, -time averaged ground heat flux,subshx,gflux_ave,2d, -instantaneous ground heat flux,grnflx,gflux,2d, -time averaged zonal momentum flux,sfcux,uflx_ave,2d, -time averaged meridional momentum flux,sfcvx,vflx_ave,2d, -instantaneous zonal momentum flux,sfcuxi,uflx,2d, -instantaneous meridional momentum flux,sfcvxi,vflx,2d, -time averaged zonal gravity wave stress,gtaux,u-gwd_ave,2d, -time averaged meridional gravity wave stress,gtauy,v-gwd_ave,2d, -time averaged accumulated potential evaporation,avgpotevp,pevpr_ave,2d, -instantaneous potential evaporation,potevp,pevpr,2d, -10 m u-wind component,u10,ugrd10m,2d, -10 m v-wind component,v10,vgrd10m,2d, -vegetation type,ivgtyp,vtype,2d, -soil type,isltyp,sotyp,2d, -instantaneous convective cloud top pressure,ptop,prescnvclt,2d, -instantaneous convective cloud bottom pressure,pbot,prescnvclb,2d, -time averaged low cloud top pressure,ptopl,pres_avelct,2d, -time averaged low cloud bottom pressure,pbotl,pres_avelcb,2d, -time averaged low cloud top temperature,Ttopl,tmp_avelct,2d, -time averaged middle cloud top pressure,ptopm,pres_avemct,2d, -time averaged middle cloud bottom pressure,pbotm,pres_avemcb,2d, -time averaged middle cloud top temperature,Ttopm,tmp_avemct,2d, -time averaged high cloud top pressure,ptoph,pres_avehct,2d, -time averaged high cloud bottom pressure,pboth,pres_avehcb,2d, -time averaged high cloud top temperature,Ttoph,tmp_avehct,2d, -boundary layer cloud cover,pblcfr,tcdc_avebndcl,2d, -cloud work function,cldwork,cwork_aveclm,2d, -accumulated total (base+surface) runoff,runoff,watr_acc,2d, -total water storage in aquifer,twa,wa_acc,2d, -accumulated evaporation of intercepted water,tecan,ecan_acc,2d, -accumulated plant transpiration,tetran,etran_acc,2d, -accumulated soil surface evaporation,tedir,edir_acc,2d, -shelter max temperature,maxtshltr,t02max,2d, -shelter min temperature,mintshltr,t02min,2d, -shelter max rh,maxrhshltr,rh02max,2d, -shlter min rh,minrhshltr,rh02min,2d, -shelter max specific humidity,maxqshltr,spfhmax_max2m,2d, -shelter min specific humidity,minqshltr,spfhmin_min2m,2d, -ice thickness,dzice,icetk,2d, -wilting point,smcwlt,wilt,2d, -sunshine duration,suntime,sunsd_acc,2d, -field capacity,fieldcapa,fldcp,2d, -time averaged surface visible beam downward solar flux,avisbeamswin,vbdsf_ave,2d, -time averaged surface visible diffuse downward solar flux,avisdiffswin,vddsf_ave,2d, -time averaged surface near ir beam downward solar flux,airbeamswin,nbdsf_ave,2d, -time averaged surface near ir diffuse downward solar flux,airdiffswin,nddsf_ave,2d, -time averaged surface clear sky outgoing lw,alwoutc,csulf,2d, -time averaged toa clear sky outgoing lw,alwtoac,csulftoa,2d, -time averaged surface clear sky outgoing sw,aswoutc,csusf,2d, -time averaged toa clear sky outgoing sw,aswtoac,csusftoa,2d, -time averaged surface clear sky incoming lw,alwinc,csdlf,2d, -time averaged surface clear sky incoming sw,aswinc,csdsf,2d, -storm runoff,SSROFF,ssrun_acc,2d, -direct soil evaporation,avgedir,evbs_ave,2d, -canopy water evaporation,avgecan,evcw_ave,2d, -averaged precipitation advected heat flux,paha,pah_ave,2d, -instantaneous precipitation advected heat flux,pahi,pahi,2d, -plant transpiration,avgetrans,trans_ave,2d, -snow sublimation,avgesnow,sbsno_ave,2d, -total soil moisture,smstot,soilm,2d, -snow phase change heat flux,snopcx,snohf,2d, -precipitable water,pwat,pwat,2d, -,aalk1j,aalk1j,3d,aqfcmaq_on = True -,aalk2j,aalk2j,3d,aqfcmaq_on = True -,abnz1j,abnz1j,3d,aqfcmaq_on = True -,abnz2j,abnz2j,3d,aqfcmaq_on = True -,abnz3j,abnz3j,3d,aqfcmaq_on = True -,acaj,acaj,3d,aqfcmaq_on = True -,acet,acet,3d,aqfcmaq_on = True -,acli,acli,3d,aqfcmaq_on = True -,aclj,aclj,3d,aqfcmaq_on = True -,aclk,aclk,3d,aqfcmaq_on = True -,acors,acors,3d,aqfcmaq_on = True -,acro_primary,acro_primary,3d,aqfcmaq_on = True -,acrolein,acrolein,3d,aqfcmaq_on = True -,aeci,aeci,3d,aqfcmaq_on = True -,aecj,aecj,3d,aqfcmaq_on = True -,afej,afej,3d,aqfcmaq_on = True -,aglyj,aglyj,3d,aqfcmaq_on = True -,ah2oi,ah2oi,3d,aqfcmaq_on = True -,ah2oj,ah2oj,3d,aqfcmaq_on = True -,ah2ok,ah2ok,3d,aqfcmaq_on = True -,ah3opi,ah3opi,3d,aqfcmaq_on = True -,ah3opj,ah3opj,3d,aqfcmaq_on = True -,ah3opk,ah3opk,3d,aqfcmaq_on = True -,aiso1j,aiso1j,3d,aqfcmaq_on = True -,aiso2j,aiso2j,3d,aqfcmaq_on = True -,aiso3j,aiso3j,3d,aqfcmaq_on = True -,aivpo1j,aivpo1j,3d,aqfcmaq_on = True -,akj,akj,3d,aqfcmaq_on = True -,ald2,ald2,3d,aqfcmaq_on = True -,ald2_primary,ald2_primary,3d,aqfcmaq_on = True -,aldx,aldx,3d,aqfcmaq_on = True -,alvoo1i,alvoo1i,3d,aqfcmaq_on = True -,alvoo1j,alvoo1j,3d,aqfcmaq_on = True -,alvoo2i,alvoo2i,3d,aqfcmaq_on = True -,alvoo2j,alvoo2j,3d,aqfcmaq_on = True -,alvpo1i,alvpo1i,3d,aqfcmaq_on = True -,alvpo1j,alvpo1j,3d,aqfcmaq_on = True -,amgj,amgj,3d,aqfcmaq_on = True -,amnj,amnj,3d,aqfcmaq_on = True -,anai,anai,3d,aqfcmaq_on = True -,anaj,anaj,3d,aqfcmaq_on = True -,anh4i,anh4i,3d,aqfcmaq_on = True -,anh4j,anh4j,3d,aqfcmaq_on = True -,anh4k,anh4k,3d,aqfcmaq_on = True -,ano3i,ano3i,3d,aqfcmaq_on = True -,ano3j,ano3j,3d,aqfcmaq_on = True -,ano3k,ano3k,3d,aqfcmaq_on = True -,aolgaj,aolgaj,3d,aqfcmaq_on = True -,aolgbj,aolgbj,3d,aqfcmaq_on = True -,aorgcj,aorgcj,3d,aqfcmaq_on = True -,aothri,aothri,3d,aqfcmaq_on = True -,aothrj,aothrj,3d,aqfcmaq_on = True -,apah1j,apah1j,3d,aqfcmaq_on = True -,apah2j,apah2j,3d,aqfcmaq_on = True -,apah3j,apah3j,3d,aqfcmaq_on = True -,apcsoj,apcsoj,3d,aqfcmaq_on = True -,aseacat,aseacat,3d,aqfcmaq_on = True -,asij,asij,3d,aqfcmaq_on = True -,aso4i,aso4i,3d,aqfcmaq_on = True -,aso4j,aso4j,3d,aqfcmaq_on = True -,aso4k,aso4k,3d,aqfcmaq_on = True -,asoil,asoil,3d,aqfcmaq_on = True -,asqtj,asqtj,3d,aqfcmaq_on = True -,asvoo1i,asvoo1i,3d,aqfcmaq_on = True -,asvoo1j,asvoo1j,3d,aqfcmaq_on = True -,asvoo2i,asvoo2i,3d,aqfcmaq_on = True -,asvoo2j,asvoo2j,3d,aqfcmaq_on = True -,asvoo3j,asvoo3j,3d,aqfcmaq_on = True -,asvpo1i,asvpo1i,3d,aqfcmaq_on = True -,asvpo1j,asvpo1j,3d,aqfcmaq_on = True -,asvpo2i,asvpo2i,3d,aqfcmaq_on = True -,asvpo2j,asvpo2j,3d,aqfcmaq_on = True -,asvpo3j,asvpo3j,3d,aqfcmaq_on = True -,atij,atij,3d,aqfcmaq_on = True -,atol1j,atol1j,3d,aqfcmaq_on = True -,atol2j,atol2j,3d,aqfcmaq_on = True -,atol3j,atol3j,3d,aqfcmaq_on = True -,atrp1j,atrp1j,3d,aqfcmaq_on = True -,atrp2j,atrp2j,3d,aqfcmaq_on = True -,axyl1j,axyl1j,3d,aqfcmaq_on = True -,axyl2j,axyl2j,3d,aqfcmaq_on = True -,axyl3j,axyl3j,3d,aqfcmaq_on = True -,pm25ac,pm25ac,3d,aqfcmaq_on = True -,pm25at,pm25at,3d,aqfcmaq_on = True -,pm25co,pm25co,3d,aqfcmaq_on = True -,aod550,aod550,2d,rdaod = True -,du_aod550,du_aod550,2d,rdaod = True -,ss_aod550,ss_aod550,2d,rdaod = True -,su_aod550,su_aod550,2d,rdaod = True -,oc_aod550,oc_aod550,2d,rdaod = True -,bc_aod550,bc_aod550,2d,rdaod = True \ No newline at end of file +Field Description,Model Variable NetCDF Name,UPP Internal Name,Dimensions,dyn (atm) or phy (sfc),Notes +U-component of wind,ugrd,uh,3d,dyn, +V-component of wind,vgrd,vh,3d,dyn, +Specific humidity,spfh,q,3d,dyn, +Temperature,tmp,t,3d,dyn, +Ozone mixing ratio,o3mr,o3,3d,dyn, +Geometric vertical velocity,dzdt,wh,3d,dyn, +Cloud water mixing ratio,clwmr,qqw,3d,dyn, +Layer thickness on hybrid levels,dpres,dpres,3d,dyn, +Pressure vertical velocity (omega),delz,buf3d > omga,3d,dyn,compute omega +Ice mixing ratio,icmr,qqi,3d,dyn, +Rain mixing ratio,rwmr,qqr,3d,dyn, +Snow mixing ratio,snmr,qqs,3d,dyn, +Graupel mixing ratio,grle,qqg,3d,dyn, +Instantaneous 3d cloud fraction,cld_amt,cfr,3d,dyn,imp_physics = 11 +Instantaneous 3d cloud fraction,cldfra,cfr,3d,phy,imp_physics ≠ 11 +Max hourly updraft velocity,upvvelmax,w_up_max,2d,dyn,regional FV3 +Max hourly downdraft velocity,dnvvelmax,w_dn_max,2d,dyn,regional FV3 +Max hourly updraft helicity,uhmax25,up_heli_max,2d,dyn,regional FV3 +Min hourly updraft helicity,uhmin25,up_heli_min,2d,dyn,regional FV3 +Max hourly 0-3km updraft helicity,uhmax03,up_heli_max03,2d,dyn,regional FV3 +Min hourly 0-3km updraft helicity,uhmin03,up_heli_min03,2d,dyn,regional FV3 +Max 0-1km relative vorticity max,maxvort01,rel_vort_max01,2d,dyn,regional FV3 +Max 0-2km relative vorticity max,maxvort02,rel_vort_max,2d,dyn,regional FV3 +Max hybrid level 1 relative vorticity max,maxvorthy1,rel_vort_maxhy1,2d,dyn,regional FV3 +Surface pressure,pressfc,pint,2d,dyn, +Surface height,hgtsfc,zint,2d,dyn, +Reflectivity,refl_10cm,REF_10CM,3d,phy, +Turbulence kinetic energy,qke,q2,3d,phy, +Ice-friendly aerosol number concentration,nifa,qqnwfa,3d,phy, +Water-friendly aerosol number concentration,nwfa,qqnwfa,3d,phy, +Land mask,land,sm,2d,phy, +Sea ice mask,icec,sice,2d,phy, +PBL height,hpbl,pblh,2d,phy, +Frictional velocity,fricv,ustar,2d,phy, +Roughness length,sfcr,z0,2d,phy, +Surface exchange coefficient,sfexc,SFCEXC,2d,phy, +Aerodynamic conductance,acond,acond,2d,phy, +Mid day avg albedo,albdo_ave,avgalbedo,2d,phy, +Surface potential temperature,tmpsfc,ths,2d,phy, +Foundation temperature,tref,fdnsst,2d,phy, +Convective precip in m per physics time step,cpratb_ave,avgcprate,2d,phy, +Convective precip - coninuous bucket,cprat_ave,avgcprate_cont,2d,phy, +Average precip rate in m per physics time step,prateb_ave,avgprec,2d,phy, +Average precip rate - continuous bucket,prate_ave,avgprec_cont,2d,phy, +Precip rate,tprcp,prec,2d,phy, +Convective precip rate,cnvprcp,cprate,2d,phy, +Max hourly surface precip rate,pratemax,prate_max,2d,phy, +Max hourly 1 km agl reflectivity,refdmax,refd_max,2d,phy, +Max hourly -10C reflectivity,refdmax263k,refdm10c_max,2d,phy, +Max hourly u comp of 10m agl wind,u10max,u10max,2d,phy, +Max hourly v comp of 10m agl wind,v10max,v10max,2d,phy, +Max hourly 10m agl wind speed,spd10max,wspd10max,2d,phy, +Instantaneous snow water equivalent,weasd,sno,2d,phy, +Average snow cover,snowc_ave,snoavg,2d,phy, +Snow depth in mm,snod,si,2d,phy, +2m temperature,tmp2m,tshltr,2d,phy, +2m specific humidity,spfh2m,qshltr,2d,phy, +Time-averaged column cloud fraction,tcdc_aveclm,avgtcdc,2d,phy, +Maximum snow albedo,snoalb,mxsnal,2d,phy, +Land fraction,lfrac,landfrac,2d,phy, +Average high cloud fraction,tcdc_avehcl,avgcfrach,2d,phy, +Average low cloud fraction,tcdc_avelcl,avgcfracl,2d,phy, +Average mid cloud fraction,tcdc_avemcl,avgcfracm,2d,phy, +Instantaneous convective cloud fraction,tcdccnvcl,cnvcfr,2d,phy, +Slope type,sltyp,islope,2d,phy, +Plant canopy sfc water in m,cnwat,cmc,2d,phy, +Frozen precip fraction,cpofp,sr,2d,phy, +Sea ice skin temperature,tisfc,ti,2d,phy, +Vegetation fraction,veg,vegfrc,2d,phy, +Liquid volumetric soil moisture,soill1/soill2/soill3/soill4,sh2o,2d,phy,all soil levels read into array +Volumetric soil moisture,soilw1/soilw2/soilw3/soilw4.....,smc,2d,phy,"all soil levels read into array, L5-9 RUC only" +Soil temperature,soilt1/soilt2/soilt3/soilt4.....,stc,2d,phy,"all soil levels read into array, L5-9 RUC only" +Time averaged incoming surface longwave,dlwrf_ave,alwin,2d,phy, +Instantaneous incoming surface longwave,dlwrf,rlwin,2d,phy, +Time averaged outgoing surface longwave,ulwrf_ave,alwout,2d,phy, +Instataneous outgoing surface longwave,ulwrf,radot,2d,phy, +Time average outgoing model top longwave,ulwrf_avetoa,alwtoa,2d,phy, +Time averaged incoming surface shortwave,dswrf_ave,aswin,2d,phy, +Instantaneous incoming surface shortwave,dswrf,rswin,2d,phy, +Time averaged incoming sfc uv-b,duvb_ave,auvbin,2d,phy, +Time averaged incoming sfc clear sky uv-b,cduvb_ave,auvbinc,2d,phy, +Time averaged outgoing sfc shortwave,uswrf_ave,aswout,2d,phy, +Inst outgoing sfc shortwave,uswrf,rswout,2d,phy, +Time averaged model top incoming shortwave,dswrf_avetoa,aswintoa,2d,phy, +Time averaged model top outgoing shortwave,uswrf_avetoa,aswtoa,2d,phy, +Time averaged surface sensible heat flux,shtfl_ave,sfcshx,2d,phy, +Inst surface sensible heat flux,shtfl,twbs,2d,phy, +Time averaged surface latent heat flux,lhtfl_ave,sfclhx,2d,phy, +Inst surface latent heat flux,lhtfl,qwbs,2d,phy, +Time averaged ground heat flux,gflux_ave,subshx,2d,phy, +Instantaneous ground heat flux,gflux,grnflx,2d,phy, +Time averaged zonal momentum flux,uflx_ave,sfcux,2d,phy, +Time averaged meridional momentum flux,vflx_ave,sfcvx,2d,phy, +Instantaneous zonal momentum flux,uflx,sfcuxi,2d,phy, +Instantaneous meridional momentum flux,vflx,sfcvxi,2d,phy, +Time averaged zonal gravity wave stress,u-gwd_ave,gtaux,2d,phy, +Time averaged meridional gravity wave stress,v-gwd_ave,gtauy,2d,phy, +Time averaged accumulated potential evaporation,pevpr_ave,avgpotevp,2d,phy, +Instantaneous potential evaporation,pevpr,potevp,2d,phy, +10 m u-wind component,ugrd10m,u10,2d,phy, +10 m v-wind component,vgrd10m,v10,2d,phy, +Vegetation type,vtype,ivgtyp,2d,phy, +Soil type,sotyp,isltyp,2d,phy, +Instantaneous convective cloud top pressure,prescnvclt,ptop,2d,phy, +Instantaneous convective cloud bottom pressure,prescnvclb,pbot,2d,phy, +Time averaged low cloud top pressure,pres_avelct,ptopl,2d,phy, +Time averaged low cloud bottom pressure,pres_avelcb,pbotl,2d,phy, +Time averaged low cloud top temperature,tmp_avelct,Ttopl,2d,phy, +Time averaged middle cloud top pressure,pres_avemct,ptopm,2d,phy, +Time averaged middle cloud bottom pressure,pres_avemcb,pbotm,2d,phy, +Time averaged middle cloud top temperature,tmp_avemct,Ttopm,2d,phy, +Time averaged high cloud top pressure,pres_avehct,ptoph,2d,phy, +Time averaged high cloud bottom pressure,pres_avehcb,pboth,2d,phy, +Time averaged high cloud top temperature,tmp_avehct,Ttoph,2d,phy, +Boundary layer cloud cover,tcdc_avebndcl,pblcfr,2d,phy, +Cloud work function,cwork_aveclm,cldwork,2d,phy, +Accumulated total (base+surface) runoff,watr_acc,runoff,2d,phy, +Total water storage in aquifer,wa_acc,twa,2d,phy, +Accumulated evaporation of intercepted water,ecan_acc,tecan,2d,phy, +Accumulated plant transpiration,etran_acc,tetran,2d,phy, +Accumulated soil surface evaporation,edir_acc,tedir,2d,phy, +Shelter max temperature,t02max,maxtshltr,2d,phy,not GFS +Shelter max temperature,tmax_max2m,maxtshltr,2d,phy,GFS only +Shelter min temperature,t02min,mintshltr,2d,phy,not GFS +Shelter min temperature,tmin_min2m,mintshltr,2d,phy,GFS only +Shelter max rh,rh02max,maxrhshltr,2d,phy, +Shelter min rh,rh02min,minrhshltr,2d,phy, +Shelter max specific humidity,spfhmax_max2m,maxqshltr,2d,phy, +Shelter min specific humidity,spfhmin_min2m,minqshltr,2d,phy, +Ice thickness,icetk,dzice,2d,phy, +Wilting point,wilt,smcwlt,2d,phy, +Sunshine duration,sunsd_acc,suntime,2d,phy, +Field capacity,fldcp,fieldcapa,2d,phy, +Time averaged surface visible beam downward solar flux,vbdsf_ave,avisbeamswin,2d,phy, +Time averaged surface visible diffuse downward solar flux,vddsf_ave,avisdiffswin,2d,phy, +Time averaged surface near ir beam downward solar flux,nbdsf_ave,airbeamswin,2d,phy, +Time averaged surface near ir diffuse downward solar flux,nddsf_ave,airdiffswin,2d,phy, +Time averaged surface clear sky outgoing lw,csulf,alwoutc,2d,phy, +Time averaged toa clear sky outgoing lw,csulftoa,alwtoac,2d,phy, +Time averaged surface clear sky outgoing sw,csusf,aswoutc,2d,phy, +Time averaged toa clear sky outgoing sw,csusftoa,aswtoac,2d,phy, +Time averaged surface clear sky incoming lw,csdlf,alwinc,2d,phy, +Time averaged surface clear sky incoming sw,csdsf,aswinc,2d,phy, +Storm runoff,ssrun_acc,SSROFF,2d,phy, +Direct soil evaporation,evbs_ave,avgedir,2d,phy, +Canopy water evaporation,evcw_ave,avgecan,2d,phy, +Averaged precipitation advected heat flux,pah_ave,paha,2d,phy, +Instantaneous precipitation advected heat flux,pahi,pahi,2d,phy, +Plant transpiration,trans_ave,avgetrans,2d,phy, +Snow sublimation,sbsno_ave,avgesnow,2d,phy, +Total soil moisture,soilm,smstot,2d,phy, +Snow phase change heat flux,snohf,snopcx,2d,phy, +Precipitable water,pwat,pwat,2d,phy, +AQF chemical species,aalk1j,aalk1j,3d,dyn,aqfcmaq_on = True +,aalk2j,aalk2j,3d,dyn,aqfcmaq_on = True +,abnz1j,abnz1j,3d,dyn,aqfcmaq_on = True +,abnz2j,abnz2j,3d,dyn,aqfcmaq_on = True +,abnz3j,abnz3j,3d,dyn,aqfcmaq_on = True +,acaj,acaj,3d,dyn,aqfcmaq_on = True +,acet,acet,3d,dyn,aqfcmaq_on = True +,acli,acli,3d,dyn,aqfcmaq_on = True +,aclj,aclj,3d,dyn,aqfcmaq_on = True +,aclk,aclk,3d,dyn,aqfcmaq_on = True +,acors,acors,3d,dyn,aqfcmaq_on = True +,acro_primary,acro_primary,3d,dyn,aqfcmaq_on = True +,acrolein,acrolein,3d,dyn,aqfcmaq_on = True +,aeci,aeci,3d,dyn,aqfcmaq_on = True +,aecj,aecj,3d,dyn,aqfcmaq_on = True +,afej,afej,3d,dyn,aqfcmaq_on = True +,aglyj,aglyj,3d,dyn,aqfcmaq_on = True +,ah2oi,ah2oi,3d,dyn,aqfcmaq_on = True +,ah2oj,ah2oj,3d,dyn,aqfcmaq_on = True +,ah2ok,ah2ok,3d,dyn,aqfcmaq_on = True +,ah3opi,ah3opi,3d,dyn,aqfcmaq_on = True +,ah3opj,ah3opj,3d,dyn,aqfcmaq_on = True +,ah3opk,ah3opk,3d,dyn,aqfcmaq_on = True +,aiso1j,aiso1j,3d,dyn,aqfcmaq_on = True +,aiso2j,aiso2j,3d,dyn,aqfcmaq_on = True +,aiso3j,aiso3j,3d,dyn,aqfcmaq_on = True +,aivpo1j,aivpo1j,3d,dyn,aqfcmaq_on = True +,akj,akj,3d,dyn,aqfcmaq_on = True +,ald2,ald2,3d,dyn,aqfcmaq_on = True +,ald2_primary,ald2_primary,3d,dyn,aqfcmaq_on = True +,aldx,aldx,3d,dyn,aqfcmaq_on = True +,alvoo1i,alvoo1i,3d,dyn,aqfcmaq_on = True +,alvoo1j,alvoo1j,3d,dyn,aqfcmaq_on = True +,alvoo2i,alvoo2i,3d,dyn,aqfcmaq_on = True +,alvoo2j,alvoo2j,3d,dyn,aqfcmaq_on = True +,alvpo1i,alvpo1i,3d,dyn,aqfcmaq_on = True +,alvpo1j,alvpo1j,3d,dyn,aqfcmaq_on = True +,amgj,amgj,3d,dyn,aqfcmaq_on = True +,amnj,amnj,3d,dyn,aqfcmaq_on = True +,anai,anai,3d,dyn,aqfcmaq_on = True +,anaj,anaj,3d,dyn,aqfcmaq_on = True +,anh4i,anh4i,3d,dyn,aqfcmaq_on = True +,anh4j,anh4j,3d,dyn,aqfcmaq_on = True +,anh4k,anh4k,3d,dyn,aqfcmaq_on = True +,ano3i,ano3i,3d,dyn,aqfcmaq_on = True +,ano3j,ano3j,3d,dyn,aqfcmaq_on = True +,ano3k,ano3k,3d,dyn,aqfcmaq_on = True +,aolgaj,aolgaj,3d,dyn,aqfcmaq_on = True +,aolgbj,aolgbj,3d,dyn,aqfcmaq_on = True +,aorgcj,aorgcj,3d,dyn,aqfcmaq_on = True +,aothri,aothri,3d,dyn,aqfcmaq_on = True +,aothrj,aothrj,3d,dyn,aqfcmaq_on = True +,apah1j,apah1j,3d,dyn,aqfcmaq_on = True +,apah2j,apah2j,3d,dyn,aqfcmaq_on = True +,apah3j,apah3j,3d,dyn,aqfcmaq_on = True +,apcsoj,apcsoj,3d,dyn,aqfcmaq_on = True +,aseacat,aseacat,3d,dyn,aqfcmaq_on = True +,asij,asij,3d,dyn,aqfcmaq_on = True +,aso4i,aso4i,3d,dyn,aqfcmaq_on = True +,aso4j,aso4j,3d,dyn,aqfcmaq_on = True +,aso4k,aso4k,3d,dyn,aqfcmaq_on = True +,asoil,asoil,3d,dyn,aqfcmaq_on = True +,asqtj,asqtj,3d,dyn,aqfcmaq_on = True +,asvoo1i,asvoo1i,3d,dyn,aqfcmaq_on = True +,asvoo1j,asvoo1j,3d,dyn,aqfcmaq_on = True +,asvoo2i,asvoo2i,3d,dyn,aqfcmaq_on = True +,asvoo2j,asvoo2j,3d,dyn,aqfcmaq_on = True +,asvoo3j,asvoo3j,3d,dyn,aqfcmaq_on = True +,asvpo1i,asvpo1i,3d,dyn,aqfcmaq_on = True +,asvpo1j,asvpo1j,3d,dyn,aqfcmaq_on = True +,asvpo2i,asvpo2i,3d,dyn,aqfcmaq_on = True +,asvpo2j,asvpo2j,3d,dyn,aqfcmaq_on = True +,asvpo3j,asvpo3j,3d,dyn,aqfcmaq_on = True +,atij,atij,3d,dyn,aqfcmaq_on = True +,atol1j,atol1j,3d,dyn,aqfcmaq_on = True +,atol2j,atol2j,3d,dyn,aqfcmaq_on = True +,atol3j,atol3j,3d,dyn,aqfcmaq_on = True +,atrp1j,atrp1j,3d,dyn,aqfcmaq_on = True +,atrp2j,atrp2j,3d,dyn,aqfcmaq_on = True +,axyl1j,axyl1j,3d,dyn,aqfcmaq_on = True +,axyl2j,axyl2j,3d,dyn,aqfcmaq_on = True +,axyl3j,axyl3j,3d,dyn,aqfcmaq_on = True +,pm25ac,pm25ac,3d,dyn,aqfcmaq_on = True +,pm25at,pm25at,3d,dyn,aqfcmaq_on = True +,pm25co,pm25co,3d,dyn,aqfcmaq_on = True +Instantaneous aod550 optical depth,aod550,aod550,2d,phy,rdaod = True +,du_aod550,du_aod550,2d,phy,rdaod = True +,ss_aod550,ss_aod550,2d,phy,rdaod = True +,su_aod550,su_aod550,2d,phy,rdaod = True +,oc_aod550,oc_aod550,2d,phy,rdaod = True +,bc_aod550,bc_aod550,2d,phy,rdaod = True \ No newline at end of file diff --git a/docs/UFS_unified_variables_table.rst b/docs/UFS_unified_variables_table.rst index 467da9ab2..91294e36e 100644 --- a/docs/UFS_unified_variables_table.rst +++ b/docs/UFS_unified_variables_table.rst @@ -2,11 +2,12 @@ Unified Model Variables from UFS ******************************** -Unified model variables read by UPP (column 1), model output name in INITPOST_NETCDF routine (column 2), -corresponding UPP INITPOST_NETCDF name that the variable is read in as (column 3), variable dimension -(column 4), and relevant notes such as dependencies (column 5). +Unified model variables read by UPP (column 1), the name of the variable in the model NetCDF file (column 2), +corresponding UPP internal name that the variable is read in as (column 3), variable dimension (column 4), +whether the variable resides in the dyn (atm) or phy (sfc) NetCDF file, and relevant notes such as +dependencies (column 5). .. csv-table:: :file: UFS_unified_variables_table.csv - :widths: 25, 20, 20, 15, 20 + :widths: 25, 15, 15, 10, 15, 20 :header-rows: 1 From 1d4ae51109a62b284bfe6fca9fcf65b0bc8649bb Mon Sep 17 00:00:00 2001 From: Tracy Date: Thu, 12 May 2022 14:57:55 -0600 Subject: [PATCH 08/12] minor revisions to documentation --- docs/InputsOutputs.rst | 2 +- docs/UFS_unified_variables_table.csv | 15 +++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/docs/InputsOutputs.rst b/docs/InputsOutputs.rst index 5a77151fe..556c477d9 100644 --- a/docs/InputsOutputs.rst +++ b/docs/InputsOutputs.rst @@ -23,7 +23,7 @@ The UPP requires the following input files: Model Forecast -------------- -The UPP ingests FV3 write component files in netCDF and parallel netCDF format. +The UPP ingests FV3 write component files in parallel netCDF format. The table below is a list of the unified model variables available from the FV3 model core. Whether a specific variable is able to be read by UPP relies on dependencies such as physics options and model. diff --git a/docs/UFS_unified_variables_table.csv b/docs/UFS_unified_variables_table.csv index 7f34e33a8..462775357 100644 --- a/docs/UFS_unified_variables_table.csv +++ b/docs/UFS_unified_variables_table.csv @@ -6,8 +6,8 @@ Temperature,tmp,t,3d,dyn, Ozone mixing ratio,o3mr,o3,3d,dyn, Geometric vertical velocity,dzdt,wh,3d,dyn, Cloud water mixing ratio,clwmr,qqw,3d,dyn, -Layer thickness on hybrid levels,dpres,dpres,3d,dyn, -Pressure vertical velocity (omega),delz,buf3d > omga,3d,dyn,compute omega +Layer thickness in pressure on hybrid levels,dpres,dpres,3d,dyn, +Layer thickness in height,delz,na,3d,dyn, Ice mixing ratio,icmr,qqi,3d,dyn, Rain mixing ratio,rwmr,qqr,3d,dyn, Snow mixing ratio,snmr,qqs,3d,dyn, @@ -23,8 +23,7 @@ Min hourly 0-3km updraft helicity,uhmin03,up_heli_min03,2d,dyn,regional FV3 Max 0-1km relative vorticity max,maxvort01,rel_vort_max01,2d,dyn,regional FV3 Max 0-2km relative vorticity max,maxvort02,rel_vort_max,2d,dyn,regional FV3 Max hybrid level 1 relative vorticity max,maxvorthy1,rel_vort_maxhy1,2d,dyn,regional FV3 -Surface pressure,pressfc,pint,2d,dyn, -Surface height,hgtsfc,zint,2d,dyn, +Surface height,hgtsfc,zint(:,:,LM+1),2d,dyn, Reflectivity,refl_10cm,REF_10CM,3d,phy, Turbulence kinetic energy,qke,q2,3d,phy, Ice-friendly aerosol number concentration,nifa,qqnwfa,3d,phy, @@ -68,9 +67,9 @@ Plant canopy sfc water in m,cnwat,cmc,2d,phy, Frozen precip fraction,cpofp,sr,2d,phy, Sea ice skin temperature,tisfc,ti,2d,phy, Vegetation fraction,veg,vegfrc,2d,phy, -Liquid volumetric soil moisture,soill1/soill2/soill3/soill4,sh2o,2d,phy,all soil levels read into array -Volumetric soil moisture,soilw1/soilw2/soilw3/soilw4.....,smc,2d,phy,"all soil levels read into array, L5-9 RUC only" -Soil temperature,soilt1/soilt2/soilt3/soilt4.....,stc,2d,phy,"all soil levels read into array, L5-9 RUC only" +Liquid volumetric soil moisture,soill1/soill2/soill3/soill4,sh2o,2d>3d,phy,all soil levels read into array +Volumetric soil moisture,soilw1/soilw2/soilw3/soilw4.....,smc,2d>3d,phy,"all soil levels read into array, L5-9 RUC only" +Soil temperature,soilt1/soilt2/soilt3/soilt4.....,stc,2d>3d,phy,"all soil levels read into array, L5-9 RUC only" Time averaged incoming surface longwave,dlwrf_ave,alwin,2d,phy, Instantaneous incoming surface longwave,dlwrf,rlwin,2d,phy, Time averaged outgoing surface longwave,ulwrf_ave,alwout,2d,phy, @@ -242,4 +241,4 @@ Instantaneous aod550 optical depth,aod550,aod550,2d,phy,rdaod = True ,ss_aod550,ss_aod550,2d,phy,rdaod = True ,su_aod550,su_aod550,2d,phy,rdaod = True ,oc_aod550,oc_aod550,2d,phy,rdaod = True -,bc_aod550,bc_aod550,2d,phy,rdaod = True \ No newline at end of file +,bc_aod550,bc_aod550,2d,phy,rdaod = True From 6a3aba5b2e26fa698aade761202f950b92f0c9a5 Mon Sep 17 00:00:00 2001 From: Kate Fossell Date: Fri, 13 May 2022 14:49:08 -0500 Subject: [PATCH 09/12] Increment version for public release --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 59a550906..4149c39ee 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -10.0.12 +10.1.0 From 0d3540d5ac55a003af67d2949a3a7ad8feb3eaf5 Mon Sep 17 00:00:00 2001 From: Tracy Date: Mon, 16 May 2022 07:54:46 -0600 Subject: [PATCH 10/12] update informat - only netcdfpara --- docs/Acknowledgments.rst | 2 +- docs/AddNewVariable.rst | 7 +++---- docs/InputsOutputs.rst | 2 +- docs/Installation.rst | 6 +++--- docs/Running.rst | 2 +- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/docs/Acknowledgments.rst b/docs/Acknowledgments.rst index 8f3d3034a..f5aa9c98d 100644 --- a/docs/Acknowledgments.rst +++ b/docs/Acknowledgments.rst @@ -18,4 +18,4 @@ acknowledge the Developmental Testbed Center UPP Team. For referencing this document please use: -UPP Users Guide V10.0.12, 24 pp. +UPP Users Guide V10.1.0, 24 pp. diff --git a/docs/AddNewVariable.rst b/docs/AddNewVariable.rst index bb50e4a51..a502d4b9c 100644 --- a/docs/AddNewVariable.rst +++ b/docs/AddNewVariable.rst @@ -93,8 +93,7 @@ with examples in the sections below. The variable is declared in one of these modules defining files depending on its dimension. -5. Read model output if necessary: INITPOST_GFS_NETCDF_PARA.f (current operational netcdf output with GFS V16), - INITPOST_NETCDF.f (LAM FV3 netcdf) +5. Read model output if necessary: INITPOST_NETCDF.f Check first to see if all variables needed to derive your new variable are already available in UPP. If not, you will need to use one of these files for reading the model output files. The appropriate one will need to @@ -254,8 +253,8 @@ with examples in the sections below. tg3(:,:) -5. Read the field from the GFS model output file by adding the new variable into INITPOST_GFS_NETCDF_PARA.f. - This file is used for reading the GFS model FV3 output files in netcdf format. +5. Read the field from the GFS model output file by adding the new variable into INITPOST_NETCDF.f. + This file is used for reading the GFS model FV3 output files in parallel netcdf format. User procedure - Add to top section of the routine in ‘use vrbls2d’ to initiate the new variable as: diff --git a/docs/InputsOutputs.rst b/docs/InputsOutputs.rst index 556c477d9..ebc1626fc 100644 --- a/docs/InputsOutputs.rst +++ b/docs/InputsOutputs.rst @@ -44,7 +44,7 @@ user-defined options. It should not be necessary to edit this. For description p #. Name of the FV3 (pressure level) output file to be post-processed. -#. Format of FV3 model output (netcdf, netcdfpara). +#. Format of FV3 model output (netcdfpara). #. Format of UPP output (GRIB2) diff --git a/docs/Installation.rst b/docs/Installation.rst index dcfd95f6f..8dbf731b6 100644 --- a/docs/Installation.rst +++ b/docs/Installation.rst @@ -26,7 +26,7 @@ the instructions in the `HPC-Stack User's Guide `_ or use the wget command. Unpack the +`_ or use the wget command. Unpack the tar file. .. code-block:: console cd ../ mkdir crtm && cd crtm - wget https://github.com/NOAA-EMC/UPP/releases/download/upp_v10.0.12/fix.tar.gz + wget https://github.com/NOAA-EMC/UPP/releases/download/upp_v10.1.0/fix.tar.gz tar -xzf fix.tar.gz .. note:: diff --git a/docs/Running.rst b/docs/Running.rst index 428725d35..90501f570 100644 --- a/docs/Running.rst +++ b/docs/Running.rst @@ -82,7 +82,7 @@ Run Script Overview 3. Specify the format for the input model files and output UPP files - | **inFormat**: Format of the model data ("netcdf" or "netcdfpara") + | **inFormat**: Format of the model data ("netcdfpara") | **outFormat**: Format of output from UPP ("grib2") 4. Specify the forecast cycles to be post-processed From 6776add7379a920971aaf7e2098b0d912d5f7a8b Mon Sep 17 00:00:00 2001 From: kayee Date: Mon, 16 May 2022 09:46:20 -0600 Subject: [PATCH 11/12] Removed netcdf option and rename GFS input file names. --- scripts/run_upp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/scripts/run_upp b/scripts/run_upp index 74b46a13e..22dc44c6c 100755 --- a/scripts/run_upp +++ b/scripts/run_upp @@ -23,7 +23,7 @@ set -x # Updates for cmake build, Change exec name # # May 2022: Modified to remove binarynemsiompiio; -# Added netcdfpara; +# Added netcdfpara; Removed netcdf; # Changed UPP directory name and path # #-------------------------------------------------------- @@ -48,8 +48,8 @@ set -x # LAM (Limited Area Model): postxconfig-NT-fv3lam.txt # model : What model is used? GFS or LAM (Limited Area Model) # inFormat : Format of the model data -# GFS - "netcdf" or "netcdfpara" -# LAM - "netcdf" or "netcdfpara" +# GFS - "netcdfpara" +# LAM - "netcdfpara" # outFormat : Format of output from UPP # grib2 # startdate : Forecast start date (YYYYMMDDHH) @@ -136,17 +136,17 @@ else fi if [ ${model} == "GFS" ]; then - if [[ ${inFormat} == "netcdf" || ${inFormat} == "netcdfpara" ]]; then + if [ ${inFormat} == "netcdfpara" ]; then echo "Check: You are using 'model' 'inFormat'!" else - echo "ERROR: 'inFormat' must be 'netcdf' or 'netcdfpara' for GFS model output. Exiting... " + echo "ERROR: 'inFormat' must be 'netcdfpara' for GFS model output. Exiting... " exit 1 fi -elif [[ ${model} == "LAM" ]]; then - if [[ ${inFormat} == "netcdf" || ${inFormat} == "netcdfpara" ]]; then +elif [ ${model} == "LAM" ]; then + if [ ${inFormat} == "netcdfpara" ]; then echo "Check: You are using 'model' 'inFormat'!" else - echo "ERROR: 'inFormat' must be 'netcdf' or 'netcdfpara' for LAM model output. Exiting... " + echo "ERROR: 'inFormat' must be 'netcdfpara' for LAM model output. Exiting... " exit 1 fi fi @@ -290,12 +290,12 @@ echo 'YY' $YY # Create model file name (inFileName) if [ ${model} == "GFS" ]; then - if [[ ${inFormat} == "netcdf" || ${inFormat} == "netcdfpara" ]]; then - inFileName=${modelDataPath}/atmf${fhour}.nc - flxFileName=${modelDataPath}/sfcf${fhour}.nc + if [ ${inFormat} == "netcdfpara" ]; then + inFileName=${modelDataPath}/gfs.t00z.atmf${fhour}.nc + flxFileName=${modelDataPath}/gfs.t00z.sfcf${fhour}.nc fi elif [ ${model} == "LAM" ]; then - if [[ ${inFormat} == "netcdf" || ${inFormat} == "netcdfpara" ]]; then + if [ ${inFormat} == "netcdfpara" ]; then inFileName=${modelDataPath}/dynf${fhour}.nc flxFileName=${modelDataPath}/phyf${fhour}.nc fi From 5ae60bd10aaf11bda45dcfb066d62212e150f661 Mon Sep 17 00:00:00 2001 From: kayee Date: Mon, 16 May 2022 11:14:54 -0600 Subject: [PATCH 12/12] Minor change. --- scripts/run_upp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/run_upp b/scripts/run_upp index 22dc44c6c..39cc9a986 100755 --- a/scripts/run_upp +++ b/scripts/run_upp @@ -77,7 +77,7 @@ export txtCntrlFile=${DOMAINPATH}/parm/postxconfig-NT-GFS.txt export model="GFS" # Set input format from model and ouput format from UPP -export inFormat="netcdf" +export inFormat="netcdfpara" export outFormat="grib2" # Set date/time information