From b715f4e3ba5e11fa1039dfb94bae8ed0641b6372 Mon Sep 17 00:00:00 2001 From: Tracy Date: Tue, 18 Feb 2020 16:51:24 -0700 Subject: [PATCH 1/4] Add v4.1-beta UG --- docs/UPP_Users_guide_V4.1_beta.lyx | 6542 ++++++++++++++++++++++++++++ 1 file changed, 6542 insertions(+) create mode 100644 docs/UPP_Users_guide_V4.1_beta.lyx diff --git a/docs/UPP_Users_guide_V4.1_beta.lyx b/docs/UPP_Users_guide_V4.1_beta.lyx new file mode 100644 index 000000000..1677680d1 --- /dev/null +++ b/docs/UPP_Users_guide_V4.1_beta.lyx @@ -0,0 +1,6542 @@ +#LyX 2.2 created this file. For more info see http://www.lyx.org/ +\lyxformat 508 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass article +\use_default_options true +\begin_modules +enumitem +\end_modules +\maintain_unincluded_children false +\language english +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry true +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\index Index +\shortcut idx +\color #008000 +\end_index +\leftmargin 1in +\topmargin 1in +\rightmargin 1in +\bottommargin 1in +\secnumdepth -2 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\quotes_language english +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +\begin_inset VSpace 2in* +\end_inset + + +\end_layout + +\begin_layout Standard +\align center + +\series bold +\size largest +User's Guide for the NCEP +\end_layout + +\begin_layout Standard +\align center + +\series bold +\size largest +Unified Post Processor (UPP) +\end_layout + +\begin_layout Standard +\align center + +\series bold +\size largest +Version 4 +\begin_inset Newpage pagebreak +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset CommandInset toc +LatexCommand tableofcontents + +\end_inset + + +\begin_inset VSpace 1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\emph on +Acknowledgments: +\end_layout + +\begin_layout Standard +\noindent + +\emph on +The adaptation of the original WRF Post Processor package and User’s Guide + (by Mike Baldwin of NSSL/CIMMS and Hui-Ya Chuang of NCEP/EMC) was done + by Lígia Bernardet (NOAA/ESRL/DTC) in collaboration with Dusan Jovic (NCEP/EMC) +, Robert Rozumalski (COMET), Wesley Ebisuzaki (NWS/HQTR), and Louisa Nance + (NCAR/RAL/DTC). + Upgrades to WRF Post Processor versions 2.2 and higher were performed by + Hui-Ya Chuang, Dusan Jovic and Mathew Pyle (NCEP/EMC). + Transitioning of the documentation from the WRF Post Processor to the Unified + Post Processor was performed by Nicole McKee (NCEP/EMC), Hui-ya Chuang + (NCEP/EMC), and Jamie Wolff (NCAR/RAL/DTC). + Implementation of the Community Unified Post Processor was performed by + Tricia Slovacek and Kate Fossell (NCAR/RAL/DTC). +\end_layout + +\begin_layout Standard +\noindent +\begin_inset Newpage pagebreak +\end_inset + + +\end_layout + +\begin_layout Part* +\noindent +NCEP Unified Post Processor (UPP) +\end_layout + +\begin_layout Section +UPP Introduction +\end_layout + +\begin_layout Standard +The NCEP Unified Post Processor has replaced the WRF Post Processor (WPP). + The UPP software package is based on WPP but has enhanced capabilities + to post-process output from a variety of NWP models, including WRF-NMM, + WRF-ARW, Nonhydrostatic Multi-scale Model on the B grid (NMMB), Global + Forecast System (GFS), Climate Forecast System (CFS), and the global Finite-Vol +ume Cubed Sphere dynamical core (FV3). + At this time, community user support is only provided for the WRF-ARW and + FV3 systems. +\begin_inset VSpace 0.2in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +In addition to the option to output fields on the model’s native vertical + levels, UPP interpolates output from the model’s native grids to National + Weather Service (NWS) standard levels (pressure, height, etc.) and standard + output grids (AWIPS, Lambert Conformal, polar-stereographic, etc.) in NWS + and World Meteorological Organization (WMO) GRIB format. +\begin_inset VSpace 0.2in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +UPP 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 and AMSRE products for WRF-NMM, Hurricane + WRF (HWRF), WRF-ARW and GFS. + For CRTM documentation, refer to: +\end_layout + +\begin_layout Standard +\noindent +\begin_inset CommandInset href +LatexCommand href +target "http://www.dtcenter.org/upp/users/docs/user_guide/crtm_ug/CRTM_User_Guide.pdf" + +\end_inset + +. +\end_layout + +\begin_layout Section +\noindent +Software Installation/Getting Started +\end_layout + +\begin_layout Subsection +UPP Software Requirements +\end_layout + +\begin_layout Standard +The Community Unified Post Processor version 4 no longer requires users + to first build the WRF model. +\end_layout + +\begin_layout Standard +\noindent +\begin_inset VSpace 0.2in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +Before installing the UPP code, it is necessary to ensure that you have + the required libraries available on your system. + These libraries include: +\end_layout + +\begin_layout Itemize +\noindent +\align left +Unidata's NetCDF library +\end_layout + +\begin_deeper +\begin_layout Standard +\begin_inset CommandInset href +LatexCommand href +target "https://www.unidata.ucar.edu/software/netcdf/docs/getting_and_building_netcdf.html" + +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Itemize +The NCEP libraries for the UPP application +\end_layout + +\begin_deeper +\begin_layout Standard +\begin_inset CommandInset href +LatexCommand href +target "https://github.com/NCAR/NCEPlibs" + +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Itemize +\noindent +\align left +The JasPer, PNG, and Zlib libraries, required with the release of UPPv2.0 + and higher, due to the addition of GRIB2 capabilities. + NCEP provides these necessary codes for download: +\end_layout + +\begin_deeper +\begin_layout Standard +\noindent +\begin_inset CommandInset href +LatexCommand href +target "http://www.nco.ncep.noaa.gov/pmb/codes/GRIB2/" + +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Itemize +GNU M4 for UPPV4.0 only, which is used to build the WRF I/O libraries now + included in UPPV4.0. + This is usually bundled with an operating system or can be downloaded: +\end_layout + +\begin_deeper +\begin_layout Standard +\begin_inset CommandInset href +LatexCommand href +target "https://www.gnu.org/software/m4/" + +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Standard +\noindent +\begin_inset VSpace 0.2in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +The UPP has some sample visualization scripts included to create graphics + using: +\end_layout + +\begin_layout Itemize +\noindent +GrADS ( +\begin_inset CommandInset href +LatexCommand href +target "http://cola.gmu.edu/grads/gadoc/gadoc.php" + +\end_inset + +) +\end_layout + +\begin_layout Itemize +GEMPAK ( +\begin_inset CommandInset href +LatexCommand href +target "http://www.unidata.ucar.edu/software/gempak/index.html" + +\end_inset + +) +\begin_inset VSpace 0.05in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +\shape italic +Note +\series default +\shape default +\emph on +:These are not part of the UPP installation and need to be installed separately + if one would like to use either plotting package. +\emph default + +\begin_inset VSpace 0.2in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +UPP has been tested on LINUX platforms (with PGI, Intel and GFORTRAN compilers). +\end_layout + +\begin_layout Subsection +Obtaining the UPP Code +\end_layout + +\begin_layout Standard +The UPP package can be downloaded from: +\end_layout + +\begin_layout Standard +\noindent +\begin_inset CommandInset href +LatexCommand href +target "http://www.dtcenter.org/upp/users/downloads/index.php" + +\end_inset + + +\begin_inset VSpace 0.2in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +\emph on +** Note +\series default +: Always obtain the latest version of the code if you are not trying to + continue a pre-existing project. +\end_layout + +\begin_layout Standard +\noindent +\begin_inset VSpace 0.2in +\end_inset + +Once the +\series bold +\emph on +tar +\series default +\emph default + file is obtained, +\series bold +\emph on +gunzip +\series default +\emph default + and +\series bold +\emph on +untar +\series default +\emph default + the file. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\emph on +tar –zxvf UPPV4.1.tar.gz +\series default +\emph default + +\begin_inset VSpace 0.2in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +This command will create a directory called +\series bold +\emph on +UPPV4.1 +\series default +\emph default +. +\end_layout + +\begin_layout Subsection +UPP Directory Structure +\end_layout + +\begin_layout Standard +Under the main directory of +\series bold +\emph on +UPPV4.1 +\series default +\emph default + reside eleven subdirectories ( +\series bold +\shape italic +* +\series default +\shape default + indicates directories that are created after the configuration step): +\end_layout + +\begin_layout Standard +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +docs +\series default +: Various documentation files +\end_layout + +\begin_layout Standard +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +exec* +\series default +: Contains the +\series bold +\shape italic +unipost +\series default +\shape default + executable after successful compilation +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +include* +\series default +: Source include modules built/used during compilation of UPP +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +jobs +\series default +: +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +lib* +\series default +: Libraries built/used by UPP that aren't in NCEPlibs +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +manage_externals +\series default +: +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +modulefiles +\series default +: +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +parm +\series default +: Contains the parameter files, which can be modified by the user to control + how the post processing is performed. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +scripts +\series default +: Contains sample run scripts to process +\series bold +\shape italic +wrfout +\series default +\shape default + and +\series bold +\shape italic +fv3 +\series default +\shape default + history files. +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +\begin_inset Argument 1 +status collapsed + +\begin_layout Plain Layout + +\series medium +nolistsep +\end_layout + +\end_inset + +run_unipost +\series default +: run +\series bold +\emph on +unipost +\series default +\emph default +. +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +run_unipostandgempak +\series default +: run +\series bold +\emph on +unipost +\series default +\emph default + and GEMPAK to plot various fields. +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +run_unipostandgrads +\series default +: run +\series bold +\emph on +unipost +\series default +\emph default + and GrADS to plot various fields. +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +run_unipost_frames +\series default +: run +\series bold +\emph on +unipost +\series default +\emph default + on a single file containing multiple forecast times. + (WRF only) +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +run_unipost_gracet +\series default +: run +\series bold +\emph on +unipost +\series default +\emph default + on forecast files with non-zero minutes/seconds. + (WRF only) +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +run_unipost_minutes +\series default +: run +\series bold +\emph on +unipost +\series default +\emph default + for sub-hourly forecast files. + (WRF only) +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +run_unipostandgrads_global +\series default +: run +\series bold +\emph on +unipost +\series default +\emph default + and GrADS for global +\series bold +\emph on +wrfout +\series default +\emph default + files; results in single GRIB file. + (WRF only) +\end_layout + +\begin_layout Standard +\noindent +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +sorc +\series default +: Contains source codes for: +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +\begin_inset Argument 1 +status open + +\begin_layout Plain Layout + +\series medium +nolistsep +\end_layout + +\end_inset + +arch +\series default +: Machine dependent configuration build scripts used to construct *configure.upp* +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +ndate +\series default +: Source code for +\series bold +\emph on +ndate +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +ncep_post.fd +\series default +: Source code for +\series bold +\emph on +unipost +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +comlib +\series default +s: Contains source code subdirectories for the UPP libraries not included + in NCEPlibs +\end_layout + +\begin_deeper +\begin_layout Itemize +\noindent + +\series bold +\begin_inset Argument 1 +status open + +\begin_layout Plain Layout + +\series medium +nolistsep +\end_layout + +\end_inset + +crtm2 +\series default +: Community Radiative Transfer Model library +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +wrfmpi_stubs +\series default +: Contains some +\series bold +\emph on +C +\series default +\emph default + and +\series bold +\emph on +FORTRAN +\series default +\emph default + codes to generate +\series bold +\emph on +libmpi.a +\series default +\emph default + library used to replace MPI calls for serial compilation. +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +xml +\series default +: XML support for the GRIB2 parameter file +\end_layout + +\end_deeper +\begin_layout Standard +\noindent +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +ush +\series default +: +\end_layout + +\begin_layout Subsection +Installing the UPP Code +\end_layout + +\begin_layout Standard +Before installing UPP, the following environment variables must be set: +\end_layout + +\begin_layout Standard +\noindent +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\shape italic +setenv NETCDF /path/to/netcdf +\end_layout + +\begin_layout Standard + +\series bold +\shape italic +setenv NCEPLIBS_DIR /path/to/NCEPlibs +\series default +\shape default + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +To reference the netCDF libraries, the configure script checks for an environmen +t variable ( +\series bold +\emph on +NETCDF +\series default +\emph default +) first, then the system default ( +\series bold +\emph on +/user/local/netcdf +\series default +\emph default +), and then a user supplied link ( +\series bold +\emph on +./netcdf_links +\series default +\emph default +). + If none of these resolve a path, the user will be prompted by the configure + script to supply a path. + To reference the NCEP libraries, the configure script checks for an environment + variable ( +\series bold +\shape italic +NCEPLIBS_DIR +\series default +\shape default +). +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +Type configure, and provide the required info. + For example: +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\emph on +./configure +\series default +\emph default + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +You will be given a list of choices for your computer. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\bar under +Choices for LINUX operating systems are as follows: +\end_layout + +\begin_layout Standard +\noindent +1. + Linux x86_64, PGI compiler (serial) +\end_layout + +\begin_layout Standard +\noindent +2. + Linux x86_64, PGI compiler (dmpar) +\end_layout + +\begin_layout Standard +\noindent +3. + Linux x86_64, Intel compiler (serial) +\end_layout + +\begin_layout Standard +\noindent +4. + Linux x86_64, Intel compiler (dmpar) +\end_layout + +\begin_layout Standard +\noindent +5. + Linux x86_64, Intel compiler, SGI MPT (serial) +\end_layout + +\begin_layout Standard +\noindent +6. + Linux x86_64, Intel compiler, SGI MPT (dmpar) +\end_layout + +\begin_layout Standard +\noindent +7. + Linux x86_64, gfortran compiler (serial) +\end_layout + +\begin_layout Standard +\noindent +8. + Linux x86_64, gfortran compiler (dmpar) +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +Choose one of the configure options listed. + Check the +\series bold +\emph on +configure.upp +\series default +\emph default + file created and edit for compile options/paths, if necessary. + For debug flag settings, the configure script can be run with a –d switch + or flag. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +To compile UPP, enter the following command: +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\emph on +./compile >& compile_upp.log & +\series default +\emph default + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +When compiling with distributed memory (serial) this command should create + 2 (3) UPP libraries in +\series bold +\emph on +UPPV4.1/lib/ +\series default +\emph default + ( +\series bold +\emph on +libCRTM.a +\series default +\emph default +, ( +\series bold +\emph on +libmpi.a +\series default +\emph default +), +\series bold +\emph on + libxmlparse.a +\series default +\emph default +) and the UPP executable in +\series bold +\emph on +UPPV4.1/exec/ +\series default +\emph default + ( +\series bold +\emph on +unipost.exe +\series default +\emph default +). +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +To remove all built files, as well as the +\series bold +\emph on +configure.upp +\series default +\emph default +, type: +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\emph on +./clean +\series default +\emph default + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +This action is recommended if a mistake is made during the installation + process or a change is made to the configuration or build environment. + There is also a +\series bold +\emph on +clean –a +\series default +\emph default + option which will revert back to a pre-install configuration. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +Note: For building UPPV4.1 on operational NCEP machines (hera/jet/wcoss), + just type +\series bold +\shape italic +./compile machine_name +\series default +\shape default + (e.g. + +\series bold +\shape italic +./compile hera +\series default +\shape default +). + This is an option for UPPV4.1 only and will not work for any previous release + versions. +\end_layout + +\begin_layout Subsection +UPP Functionalities +\end_layout + +\begin_layout Standard +\paragraph_spacing single +\noindent +The UPP, +\end_layout + +\begin_layout Itemize +\noindent +is compatible with WRF v3.7 and higher for Ferrier physics (UPPV3.0+) or WRF + v3.5 and higer (UPPV2.1). +\end_layout + +\begin_layout Itemize +\noindent +can be used to post-process WRF-ARW, WRF-NMM, NMMB, GFS, CFS, and FV3 forecasts + (community support only provided for WRF-ARW and global FV3 forecasts). +\end_layout + +\begin_layout Itemize +\noindent +can ingest WRF history files (wrfout*) in netCDF format. +\end_layout + +\begin_layout Itemize +\noindent +can ingest FV3 history files (dyn*/phy* or gfs*) in binarynemsio format. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +\emph on +Unipost Functionalities +\end_layout + +\begin_layout Itemize +Interpolates the forecasts from the model’s 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 model’s native level, then no vertical + interpolation is performed. +\end_layout + +\begin_deeper +\begin_layout Itemize +Computes diagnostic output quantities (e.g., convective available potential + energy, helicity, relative humidity). + A full list of fields that can be generated by +\series bold +\emph on +unipost +\series default +\emph default + is provided for +\begin_inset CommandInset href +LatexCommand href +name "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB1_Table.pdf" +target "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB1_Table.pdf" + +\end_inset + + and +\begin_inset CommandInset href +LatexCommand href +name "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB2_Table.pdf" +target "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB2_Table.pdf" + +\end_inset + +. +\end_layout + +\begin_layout Itemize +Outputs the results in NWS and WMO standard GRIB1 or GRIB2 format (for GRIB + documentation, see +\begin_inset CommandInset href +LatexCommand href +target "http://www.nco.ncep.noaa.gov/pmb/docs/" + +\end_inset + +). +\end_layout + +\begin_deeper +\begin_layout Itemize +FV3 only available for GRIB2 output. +\end_layout + +\end_deeper +\begin_layout Itemize +Destaggers the WRF-ARW forecasts from a C-grid to an A-grid. +\end_layout + +\begin_layout Itemize +Except for new capabilities of post processing GFS/CFS and additions of + many new variables, UPP uses the same algorithms to derive most existing + variables as were used in WPP. + The only three exceptions/changes from the WPP are: +\end_layout + +\begin_deeper +\begin_layout Itemize +Computes RH w.r.t. + ice for GFS, but w.r.t. + water for all other supported models. + WPP computed RH w.r.t. + water only. +\end_layout + +\begin_layout Itemize +The height and wind speed at the maximum wind level is computed by assuming + the wind speed varies quadratically in height in the location of the maximum + wind level. + The WPP defined maximum wind level at the level with the maximum wind speed + among all model levels. + The static tropopause level is obtained by finding the lowest level that + has a temperature lapse rate of less than 2 K/km over a 2 km depth above + it. + The WPP defined the tropopause by finding the lowest level that has a mean + temperature lapse rate of 2 K/km over three model layers. +\end_layout + +\end_deeper +\end_deeper +\begin_layout Subsection +Setting up the WRF or FV3 model to interface with UPP +\end_layout + +\begin_layout Standard +The unipost program is currently set up to read a large number of fields + from the WRF and FV3 model history files. + This configuration stems from NCEP's need to generate all of its required + operational products. + When using the netCDF or NEMS binary read, this program is configured such + that it will run successfully even if an expected input field is missing + from the WRF or FV3 history file as long as this field is not required + to produce a requested output field. + If the pre-requisites for a requested output field are missing from the + WRF or FV3 history file, unipost will abort at run time. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +Take care not to remove fields from the wrfout or gfs files which may be + needed for diagnostic purposes by the UPP package. + For example, if isobaric state fields are requested, but the pressure fields + on model interfaces (i.e. + P_HYD for WRF-ARW) are not available in the history file, unipost will + abort at run time. + In general, the default fields available in the wrfout or gfs files are + sufficient to run UPP. + The fields written to the WRF history file are controlled by the settings + in the Registry . + For WRF, see the Registry.EM, Registry.EM_COMMON files in the Registry subdirecto +ry of the main WRFV4 directory. +\end_layout + +\begin_layout Standard +\noindent + +\series bold +\emph on +Note +\series default +: It is necessary to re-compile the WRF model source code after modifying + the Registry file. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +UPP is written to process a single forecast hour, therefore, having a single + forecast per output file is optimal. + However, for WRF based forecasts, UPP can be run across multiple forecast + times in a single output file to extract a specified forecast hour. +\end_layout + +\begin_layout Section +UPP Control File Overview +\end_layout + +\begin_layout Subsection +GRIB1 control file +\end_layout + +\begin_layout Standard + +\series bold +\emph on +Note +\series default +: This section pertains to outputting GRIB1 format only. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +The user interacts with unipost through the control file, +\series bold +\emph on +parm/wrf_cntrl.parm +\series default +\emph default + for WRF runs. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +The control file is composed of a header and a body. + The header specifies the output file information. + The body allows the user to select which fields and levels to process. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +The header of the +\series bold +\emph on +wrf_cntrl.parm +\series default +\emph default + file contains the following variables: +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +KGTYPE +\series default +: defines output grid type, which should always be 255. +\end_layout + +\begin_layout Itemize + +\series bold +IMDLTY +\series default +: identifies the process ID for AWIPS. +\end_layout + +\begin_layout Itemize + +\series bold +DATSET +\series default +: defines the prefix used for the output file name. + Currently set to “WRFPRS”. + Note: the run_* scripts assume “WRFPRS” is used for WRF runs. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +The body of the +\series bold +\emph on +wrf_cntrl.parm +\series default +\emph default + file is composed of a series of line pairs similar to the following: +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +(PRESS ON MDL SFCS ) SCAL=( 3.0) +\end_layout + +\begin_layout Standard +L=(11000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 + 00000 00000) +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +where, +\end_layout + +\begin_layout Itemize +The top line specifies the variable (e.g. + PRESS) to process, the level type (e.g. + ON MDL SFCS) a user is interested in, and the degree of accuracy to be + retained (SCAL=3.0) in the GRIB output. +\end_layout + +\begin_deeper +\begin_layout Itemize +SCAL defines the precision of the data written out to the GRIB format. + Positive values denote decimal scaling (maintain that number of significant + digits), while negative values describe binary scaling (precise to 2^{SCAL}; + i.e., SCAL=-3.0 gives output precise to the nearest 1/8). + Because +\series bold +\emph on +copygb +\series default +\emph default + is unable to handle binary precision at this time, negative numbers are + discouraged. +\end_layout + +\begin_layout Itemize +A list of all possible output fields for +\series bold +\emph on +unipost +\series default +\emph default + is provided in the GRIB1 output table +\begin_inset CommandInset href +LatexCommand href +name "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB1_Table.pdf" +target "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB1_Table.pdf" + +\end_inset + +. + This table provides the full name of the variable in the first column and + an abbreviated name in the second column. + The abbreviated names are used in the control file. + Note that the variable names also contain the type of level on which they + are output. + For instance, temperature is available on “model surface” and “pressure + surface”. +\end_layout + +\end_deeper +\begin_layout Itemize +The second line specifies the levels on which the variable is to be posted. + In this case, 0 indicates no output at this level and 1 indicates output + the variable specified on the top line at the level specified by the position + of the digit and the type of level defined for this variable. + For flight/wind energy fields, a 2 may be specified, such that 2 requests + AGL and 1 requests MSL. +\end_layout + +\begin_layout Subsubsection +Controlling which variables unipost outputs +\end_layout + +\begin_layout Standard +To output a field, the body of the control file needs to contain an entry + for the appropriate variable and output for this variable must be turned + on for at least one level (see next section: " +\emph on +Controlling which levels unipost outputs +\emph default +"). + If an entry for a particular field is not yet available in the control + file, two lines may be added to the control file with the appropriate entries + for that field. +\end_layout + +\begin_layout Subsubsection +Controlling which levels unipost outputs +\end_layout + +\begin_layout Standard +The second line of each pair determines which levels unipost will output. + Output on a given level is turned off by a “0” or turned on by a “1”. +\end_layout + +\begin_layout Itemize +For isobaric output, 46 levels are possible, from 2 to 1000 hPa ( +\emph on +2, 5, 7, 10, 20, 30, 50, 70 mb and then every 25 mb from 75 to 1000 mb +\emph default +). + The complete list of levels is specified in +\series bold +\emph on +sorc/ncep_post.fd/CTLBLK.f +\series default +\emph default +. +\end_layout + +\begin_deeper +\begin_layout Itemize +Modify specification of variable LSMDEF to change the number of pressure + levels: LSMDEF=47 +\end_layout + +\begin_layout Itemize +Modify specification of SPLDEF array to change the values of pressure levels: + (/200.,500.,700.,1000.,2000.,3000. + &,5000.,7000.,7500.,10000.,12500.,15000.,17500.,20000., …/) +\end_layout + +\end_deeper +\begin_layout Itemize +For model-level output, all model levels are possible, from the highest + to the lowest. +\end_layout + +\begin_layout Itemize +When using the Noah LSM, the soil layers are 0-10 cm, 10-40 cm, 40-100 cm, + and 100-200 cm. +\end_layout + +\begin_layout Itemize +When using the RUC LSM, the soil levels are 0 cm, 1 cm, 4 cm, 10 cm, 30 + cm, 60 cm, 100 cm, 160 cm, and 300 cm. + For the RUC LSM, it is also necessary to turn on five additional output + levels in the +\series bold +\emph on +wrf_cntrl.parm +\series default +\emph default + to output 9 instead of 4. + (For the old RUC LSM, there are only 6 layers and if using this, you will + need to change +\begin_inset Quotes eld +\end_inset + +RUC LSM +\begin_inset Quotes erd +\end_inset + + from 9 to 6 in the WRFPOST.f routine.) +\end_layout + +\begin_layout Itemize +When using Pliem-Xiu LSM, there are two layers: 0-1 cm, 1-100 cm +\end_layout + +\begin_layout Itemize +For low, mid, and high cloud layers, the layers are +\begin_inset Formula $\geq$ +\end_inset + +642 hPa, +\begin_inset Formula $\geq$ +\end_inset + +350 hPa, and <350 hPa, respectively. +\end_layout + +\begin_layout Itemize +For PBL layer averages, the levels correspond to 6 layers with a thickness + of 30 hPa each. +\end_layout + +\begin_layout Itemize +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. +\end_layout + +\begin_layout Itemize +For AGL radar reflectivity, the levels are 4000 and 1000 m (see Appendix + A for details). +\end_layout + +\begin_layout Itemize +For surface or shelter-level output, only the first position of the line + needs to be turned on. +\end_layout + +\begin_deeper +\begin_layout Itemize +For example, the sample control file +\series bold +\emph on +parm/wrf_cntrl.parm +\series default +\emph default + has the following entry for surface dew point temperature: +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_deeper +\begin_layout Standard +(SURFACE DEWPOINT ) SCAL=( 4.0) +\end_layout + +\begin_layout Standard +L=(00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 + 00000 00000) +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +Based on this entry, surface dew point temperature will not be output by + unipost. + To add this field to the output, modify the entry to read: +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +(SURFACE DEWPOINT ) SCAL=( 4.0) +\end_layout + +\begin_layout Standard +L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 + 00000 00000) +\end_layout + +\end_deeper +\end_deeper +\begin_layout Subsection +GRIB2 control file +\end_layout + +\begin_layout Standard + +\series bold +\emph on +Note +\series default +: This section describes the control file for outputting GRIB2 format. +\end_layout + +\begin_layout Standard +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +For outputting GRIB2 format, a preprocessing step is required by the user + to convert the xml file +\series bold +\emph on +parm/postcntrl_comupp.xml +\series default +\emph default + to a flat text file +\series bold +\emph on +postxconfig-NT.txt +\series default +\emph default +. + This new flat file is quicker to process than the old xml file. + The user will need to edit the +\series bold +\emph on +postcntrl_comupp.xml +\series default +\emph default + file to declare which fields are to be output from UPP. +\end_layout + +\begin_layout Standard +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +In order to ensure that the user-edited xml files are error free, XML stylesheet +s ( +\series bold +\emph on +parm/EMC_POST_CTRL_Schema.xsd +\series default +\emph default + and +\series bold +\emph on +EMC_POST_Avblflds_Schema.xsd +\series default +\emph default +) are used to validate both the +\series bold +\emph on +postcntrl_comupp.xml +\series default +\emph default + and +\series bold +\emph on +post_avblflds_comupp.xml +\series default +\emph default + files, respectively. + Confirmation of validation will be given (e.g. + postcntrl.xml validates) or otherwise return errors if it does not match + the schema. + To run the validation: +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\emph on +xmllint --noout --schema EMC_POST_CTRL_Schema.xsd postcntrl_comupp.xml +\end_layout + +\begin_layout Standard + +\series bold +\emph on +xmllint --noout --schema EMC_POST_Avblflds_Schema.xsd post_avblflds_comupp.xml +\series default +\emph default + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +Once the xmls are validated, the user will need to generate the flat file. + Edit the +\series bold +\shape italic +parm/makefile_comm +\series default +\shape default + if necessary to point to another directory or xml. + The makefile will call the perl program +\series bold +\shape italic +parm/POSTXMLPreprocessor.pl +\series default +\shape default + to generate the post flat file +\series bold +\shape italic +postxconfig-NT.txt +\series default +\shape default +. + Generate the flat file: +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\emph on +make +\series default +\emph default + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +\emph on +Note +\series default +: The new flat file can only be used for running version 3.1 and onward and + is not backwards compatible with version 3.0. +\end_layout + +\begin_layout Section +Running UPP +\end_layout + +\begin_layout Standard +Seven scripts for running the UPP package are included in the tar file: +\end_layout + +\begin_layout Standard + +\series bold +\emph on +run_unipost +\end_layout + +\begin_layout Standard + +\series bold +\emph on +run_unipostandgrads +\end_layout + +\begin_layout Standard + +\series bold +\emph on +run_unipostandgempak +\end_layout + +\begin_layout Standard + +\series bold +\emph on +run_unipost_frames +\end_layout + +\begin_layout Standard + +\series bold +\emph on +run_unipost_gracet +\end_layout + +\begin_layout Standard + +\series bold +\emph on +run_unipost_minute +\end_layout + +\begin_layout Standard + +\series bold +\emph on +run_unipostandgrads_global +\series default +\emph default + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\bar under +Before running any of the above listed scripts, perform the following instructio +ns: +\end_layout + +\begin_layout Enumerate +\noindent + +\series bold +\emph on +cd +\series default +\emph default + to your +\series bold +\emph on +DOMAINPATH +\series default +\emph default + directory. +\end_layout + +\begin_layout Enumerate +Make a directory to put the UPP results. +\end_layout + +\begin_deeper +\begin_layout Standard + +\series bold +\emph on +mkdir postprd +\end_layout + +\end_deeper +\begin_layout Enumerate +Make a directory +\shape italic +\emph on +for staging a copy of the desired control file +\emph default +. +\end_layout + +\begin_deeper +\begin_layout Standard + +\series bold +\emph on +mkdir parm +\end_layout + +\end_deeper +\begin_layout Enumerate +Copy over the relevant control file to your working directory to customize + +\series bold +\emph on +unipost +\series default +. +\end_layout + +\begin_deeper +\begin_layout Standard +For Grib1, copy the default +\series bold +\emph on +UPPV4.1/parm/wrf_cntrl.parm +\series default +\emph default + file. +\end_layout + +\begin_layout Standard +For Grib2, copy a template +\series bold +\emph on +UPPV3.0/parm/postcntrl_comupp.xml +\series default +\emph default + if using v3.0 or +\series bold +\emph on +UPPV4.1/parm/postxconfig-NT-WRF.txt +\series default +\emph default + if using v3.1+. + For v4.1, a template +\series bold +\emph on +UPPV4.1/parm/postxconfig-NT-GFS.txt +\series default +\shape italic + for FV3 can be used. +\end_layout + +\end_deeper +\begin_layout Enumerate +For Grib1, edit the +\series bold +\emph on +wrf_cntrl.parm +\series default +\emph default + file to reflect the fields and levels you want unipost to output. +\end_layout + +\begin_deeper +\begin_layout Standard +For Grib2, edit the +\series bold +\emph on +postcntrl_comupp.xml +\series default +\emph default + file for v3.0 or the +\series bold +\emph on +postxconfig-NT.txt +\series default +\emph default + file for v3.1+. +\end_layout + +\end_deeper +\begin_layout Enumerate +Copy over the ( +\series bold +\emph on +UPPV4.1/scripts/run_unipost* +\series default +\emph default +) script of your choice to the +\series bold +\emph on +postprd/ +\series default +\emph default +. +\end_layout + +\begin_layout Enumerate +Edit the run script as outlined below. + Once these directories are set up and the edits outlined below are complete, + the scripts can be run interactively from the +\series bold +\emph on +postprd +\series default +\emph default + directory by simply typing the script name on the command line. +\end_layout + +\begin_layout Subsection +Overview of the scripts to run the UPP +\end_layout + +\begin_layout Standard + +\series bold +\emph on +Note +\series default +: It is recommended that the user refer to the +\series bold +run_unipost* +\series default + scripts in the +\series bold +scripts/ +\series default + while reading this overview. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +Since V3.0, user modified variables are now all contained at the top of the + +\series bold +\emph on +run_unipost* +\series default +\emph default + script in one user-edit section, along with a brief description. + Descriptions below follow the +\series bold +\emph on +run_unipost +\series default +\emph default + script. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Enumerate +\noindent +Set up basic path variables: +\end_layout + +\begin_deeper +\begin_layout Standard + +\series bold +\emph on +TOP_DIR +\series default +\emph default + : Top level directory for source code ( +\series bold +\emph on +UPPV4. +\shape italic +\emph default +1 +\series default +\shape default +) +\end_layout + +\begin_layout Standard + +\series bold +\emph on +DOMAINPATH +\series default +\emph default + : Working directory for this run +\end_layout + +\begin_layout Standard + +\series bold +\emph on +UNIPOST_HOME +\series default +\emph default + : Location of the +\series bold +\emph on +UPPV4.1 +\series default +\emph default + build directory +\end_layout + +\begin_layout Standard + +\series bold +\emph on +POSTEXEC +\series default +\emph default + : Location of the +\series bold +\emph on +UPPV4.1 +\series default +\emph default + executables +\end_layout + +\begin_layout Standard + +\series bold +\emph on +modelDataPath +\series default +\emph default + : Location of the model output data files to be processed (e.g. + " +\series bold +\emph on +wrfprd/ +\series default +\emph default +" for WRF-based runs). +\end_layout + +\begin_layout Standard + +\series bold +\emph on +paramFile +\series default +\emph default + : Name and location of cntrl.parm ( +\series bold +\emph on +wrf_cntrl.parm +\series default +\emph default +) text file that lists desired fields for GRIB1 output. + Template in +\series bold +\emph on +UPPV4.1/parm/ +\end_layout + +\begin_layout Standard + +\series bold +\emph on +txtCntrlFile +\series default +\emph default + : Name and location of +\series bold +\emph on +postxconfig-NT.txt +\series default +\emph default + file that lists desired fields for GRIB2 format for version 3.1+. + This file is generated by the user following the steps listed above in + the GRIB2 Control File section. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Standard + +\series bold +\emph on +Note +\series default +: For WRF, the scripts are configured such that +\series bold +unipost +\series default + expects the WRF history files ( +\series bold +wrfout* +\series default + files) to be in +\series bold +wrfprd/ +\series default +, the +\series bold +wrf_cntrl.parm +\series default + ( +\series bold +postcntrl.xml +\series default + or +\series bold +postxconfig-NT.txt +\series default +) file to be in +\series bold +parm/ +\series default + and the postprocessor working directory to be called +\series bold +postprd/ +\series default +, all under +\series bold +DOMAINPATH +\series default +. + A similar sctructure, based on user-defined paths, is expected for FV3. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +This set up is for user convenience to have a script ready to run, paths + may be modified but be sure to check the run script to make sure settings + are correct. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Enumerate +\noindent +Specify dynamic core being run (“ARW” or “FV3”) +\end_layout + +\begin_deeper +\begin_layout Standard +\noindent + +\series bold +\emph on +dyncore +\series default +\emph default + : What model core is used (“ARW” or “FV3”) +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +\noindent +Specify the format for the input model files and output UPP files. +\end_layout + +\begin_deeper +\begin_layout Standard +\noindent + +\series bold +\emph on +inFormat +\series default +\emph default + : Format of the model data +\end_layout + +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.8in +\end_inset + +arw – “netcdf” +\end_layout + +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.8in +\end_inset + +fv3 – “binarynemsiompiio” +\end_layout + +\begin_layout Standard +\noindent + +\series bold +\emph on +outFormat +\series default +\emph default + : Format of output from UPP +\end_layout + +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.8in +\end_inset + +grib +\end_layout + +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.8in +\end_inset + +grib2 +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +\noindent +Specify the forecast cycles to be post-processed +\end_layout + +\begin_deeper +\begin_layout Standard +\noindent + +\series bold +\emph on +startdate +\series default +\emph default + : Forecast start date (YYYYMMDDHH) +\end_layout + +\begin_layout Standard +\noindent + +\series bold +\emph on +fhr +\series default +\emph default + : First forecast hour to be post-processed +\end_layout + +\begin_layout Standard +\noindent + +\series bold +\emph on +lastfhr +\series default +\emph default + : Last forecast hour to be post-processed +\end_layout + +\begin_layout Standard +\noindent + +\series bold +\emph on +incrementhr +\series default +\emph default + : Increment (in hours) between forecast files +\end_layout + +\begin_layout Standard +\noindent +\begin_inset space \hspace{} +\length 0.9in +\end_inset + +* Do not set to 0 or the script will loop continuously * +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +\noindent +Set up how many domains will be post-processed (used by WRF only) +\end_layout + +\begin_deeper +\begin_layout Standard +\noindent + +\series bold +\emph on +domain_list +\series default +\emph default + : List of domains for run (e.g. + “d01 d02”) +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +\noindent +Set/uncomment the run command for your system. + (i.e. + serial, mpirun, etc). +\end_layout + +\begin_deeper +\begin_layout Standard +\noindent + +\series bold +\emph on +RUN_COMMAND +\series default +\emph default + : System run command for serial or parallel runs +\end_layout + +\begin_layout Itemize +\noindent +The default execution command in the distributed scripts is for a single + processor: +\end_layout + +\begin_deeper +\begin_layout Standard +\noindent + +\series bold +\emph on +./unipost.exe > unipost_${domain}.${fhr}.out 2>&1 +\end_layout + +\end_deeper +\begin_layout Itemize +\noindent +To run unipost using mpi (dmpar compilation), the command line should be: +\end_layout + +\begin_deeper +\begin_layout Standard +\noindent +>> LINUX-MPI systems: +\series bold +\emph on +mpirun -np N unipost.exe > outpost 2>&1 +\end_layout + +\begin_layout Standard +\noindent +( +\series bold +\emph on +Note +\series default +: on some systems a host file also needs to be specified: – +\series bold +machinefile +\series default + “ +\series bold +host +\series default +” +\emph default +) +\end_layout + +\begin_layout Standard +\noindent +>> IBM: +\series bold +\emph on +mpirun.lsf unipost.exe < itag > outpost +\end_layout + +\begin_layout Standard +\noindent +>> SGI MPT: +\series bold +\shape italic +mpiexec_mpt +\shape default +\emph on +unipost.exe < itag > outpost +\end_layout + +\end_deeper +\begin_layout Standard +\noindent + +\emph on +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +\noindent +Set naming convention for prefix and extension of output file name +\end_layout + +\begin_deeper +\begin_layout Itemize +\noindent + +\series bold +\emph on +comsp +\series default +\emph default + is the initial string of the output file name (by default it is not set + and the prefix of the output file will be the string set in +\series bold +\emph on +wrf_cntrl.parm +\series default +\emph default + +\series bold +\emph on +DATSET +\series default +\emph default +, if set it will concatenate the setting to the front of the string specified + in +\series bold +\emph on +wrf_cntrl.parm +\series default +\emph default + +\series bold +\emph on +DATSET +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +\emph on +tmmark +\series default +\emph default + is used for the file extension (in +\series bold +\emph on +run_unipost +\series default +\emph default +, +\emph on +tmmark=tm00 +\emph default +, if not set, it is set to .GrbF) +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Standard +\noindent +Since V3.0, the itag that will be read in by +\series bold +\emph on +unipost.exe +\series default +\emph default + from stdin (unit 5) is generated automatically in the +\series bold +\emph on +run_unipost +\series default +\emph default + script based on the user-defined options above. + It should not be necessary to edit this. + For description purposes, the namelist ( +\series bold +\emph on +itag +\series default +\emph default +) contains 5 (6) lines for WRF (FV3): +\end_layout + +\begin_layout Enumerate +\noindent +Name of the WRF or FV3 (pressure level) output file to be posted. +\end_layout + +\begin_layout Enumerate +\noindent +Format of WRF or FV3 model output (netcdf, binarynemsio). +\end_layout + +\begin_layout Enumerate +\noindent +Format of UPP output (GRIB1 or GRIB2) +\end_layout + +\begin_layout Enumerate +\noindent +Forecast valid time (not model start time) in WRF or FV3 format (the forecast + time desired to be post-processed). +\end_layout + +\begin_layout Enumerate +\noindent +Dynamic core used (NCAR or GFS). +\end_layout + +\begin_layout Enumerate +Name of the FV3 (surface) output file to be post-processed. +\end_layout + +\begin_layout Standard + +\series bold +\emph on +Note +\series default +: If the third line (i.e., UPP output type) is not set, UPP will default the + output file format to “grib1”. + This is only for WRF since UPP output for FV3 only supports GRIB2. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +If scripts +\series bold +\emph on +run_unipostandgrads +\series default +\emph default + or +\series bold +\emph on +run_unipostandgempak +\series default +\emph default + are used, additional steps are taken to create image files (see Visualization + section below). +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +Upon a successful run, +\series bold +\emph on +unipost +\series default +\emph default + will generate output files +\series bold +\emph on +WRFPRS_d +\series default +nn.hh +\emph default + ( +\series bold +\emph on +GFSPRS +\series default +.hh +\emph default +), in the postprocessor working directory, where “ +\emph on +nn +\emph default +” refers to the domain id and “ +\emph on +hh +\emph default +” denotes the forecast hour. + In addition, the script +\series bold +\emph on +run_unipostandgrads +\series default +\emph default + will produce a suite of png images named +\series bold +\emph on +variablehh_GrADS.png +\series default +\emph default +, and the script +\series bold +\emph on +run_unipostandgempak +\series default +\emph default + will produce a suite of gif images named +\series bold +\emph on +variablehh.gif +\series default +\emph default +. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +If the run did not complete successfully, a log file in the post-processor + working directory called +\series bold +\emph on +unipost_dnn.hh.out +\series default +\emph default + ( +\series bold +\emph on +unipost.hh.out +\series default +\emph default +), where “ +\emph on +nn +\emph default +” is the domain id and “ +\emph on +hh +\emph default +” is the forecast hour, may be consulted for further information. +\end_layout + +\begin_layout Section +Examples of copygb (GRIB1 only) +\end_layout + +\begin_layout Standard +Copygb can be used to horizontally interpolate forecasts from the native + grid to a standard AWIPS or user-defined grid (for information on AWIPS + grids, see +\begin_inset CommandInset href +LatexCommand href +target "http://www.nco.ncep.noaa.gov/pmb/docs/on388/tableb.html" + +\end_inset + +). + Output from copygb is in NWS and WMO standard GRIB1 format (for GRIB documentat +ion, see +\begin_inset CommandInset href +LatexCommand href +target "http://www.nco.ncep.noaa.gov/pmb/docs/" + +\end_inset + +). +\end_layout + +\begin_layout Standard +\begin_inset VSpace 0.05in +\end_inset + +Sample command line for calling copygb: +\begin_inset VSpace 0.05in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\emph on +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +copygb.exe –xg“grid [kgds]” input_file output_file +\begin_inset VSpace 0.05in +\end_inset + + +\end_layout + +\begin_layout Standard +where +\series bold +\emph on +grid +\series default +\emph default + refers to the output grid to which the native forecast is being interpolated. +\begin_inset VSpace 0.2in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +The output grid can be specified in three ways: +\end_layout + +\begin_layout Enumerate +As the grid id of a pre-defined AWIPS grid number (gridno): +\end_layout + +\begin_deeper +\begin_layout Standard + +\series bold +\emph on +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +copygb.exe -g${gridno} -x input_file output_file +\end_layout + +\begin_layout Standard +For example, using grid 218: +\end_layout + +\begin_layout Standard + +\series bold +\emph on +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +copygb.exe -xg“218” WRFPRS_$domain.${fhr} wrfprs_$domain .${fhr} +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +As a user defined standard grid, such as for grid 255: +\end_layout + +\begin_deeper +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.25in +\end_inset + + +\series bold +\emph on +copygb.exe –xg“255 kgds” input_file output_file +\end_layout + +\begin_layout Standard +where the user defined grid is specified by a full set of kgds parameters + determining a GRIB GDS (grid description section) in the +\series bold +\emph on +W3fi63 +\series default +\emph default + format. + Details on how to specify the kgds parameters are documented in file +\series bold +\emph on +lib/w3lib/w3fi71.f +\series default +\emph default +. + For example: +\end_layout + +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.25in +\end_inset + + +\series bold +\emph on +copygb.exe -xg“ 255 3 109 91 37719 -77645 8 -71000 10433 9966 0 64 42000 + 42000” WRFPRS_$domain.${fhr} wrfprs_$domain.${fhr} +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +From a file: When WRF-ARW output is processed by +\series bold +\emph on +unipost +\series default +\emph default +, a text file, +\series bold +\emph on +copygb_hwrf.txt +\series default +\emph default +, is created. + This file contains the GRID GDS of a lat/lon grid similar in domain and + grid spacing to the one used to run the WRF-ARW model. + The contents of this file can be read into the variable +\begin_inset Quotes eld +\end_inset + +nav +\begin_inset Quotes erd +\end_inset + + and can be used as input to +\series bold +\emph on +copygb.exe +\series default +\emph default +. +\end_layout + +\begin_deeper +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.25in +\end_inset + + +\series bold +\emph on +copygb.exe -xg“$nav” input_file output_file +\end_layout + +\begin_layout Standard +For example, when using “ +\series bold +\emph on +copygb_hwrf.txt +\series default +\emph default +” for an application, the steps include: +\end_layout + +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.25in +\end_inset + + +\series bold +\emph on +read nav < 'copygb_hwrf.txt' +\end_layout + +\begin_layout Standard + +\series bold +\emph on +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +export nav +\end_layout + +\begin_layout Standard + +\series bold +\emph on +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +copygb.exe -xg"${nav}" WRFPRS_$domain.${fhr} +\end_layout + +\begin_layout Standard + +\series bold +\emph on +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +wrfprs_$domain.${fhr} +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Standard +\noindent +It should be noted that copygb is a flexible program that can accept several + command line options specifying details of how the horizontal interpolation + from the native grid to the output grid should be performed. + Complete documentation of copygb can be found at: +\end_layout + +\begin_layout Standard +\noindent +\begin_inset CommandInset href +LatexCommand href +target "http://www.dtcenter.org/met/users/support/online_tutorial/METv5.0/copygb/copygb.txt" + +\end_inset + + +\end_layout + +\begin_layout Section +Examples of wgrib2 (GRIB2 only) +\end_layout + +\begin_layout Standard + +\series bold +\emph on +Wgrib2 +\series default +\emph default + is a versatile program that has the ability to convert grib2 files from + one grid to another for various user-defined grids as well as pre-defined + NCEP grids. + Complete documentation with examples of re-gridding for all available grid + definitions can be found at: +\end_layout + +\begin_layout Standard +\noindent +\begin_inset CommandInset href +LatexCommand href +target "http://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/new_grid.html." + +\end_inset + + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +Sample command line usage for calling wgrib2: +\begin_inset VSpace 0.05in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\emph on +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +wgrib2 –new_grid_winds W –new_grid A B C outfile +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +Where, +\end_layout + +\begin_layout Standard + +\series bold +\emph on +W +\series default +\emph default + = earth or grid +\end_layout + +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +earth: winds oriented to the earth’s north and south directions +\end_layout + +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +grid: winds are rotated so that north is relative to the grid +\end_layout + +\begin_layout Standard + +\series bold +\emph on +A +\series default +\emph default +, +\series bold +\emph on +B +\series default +\emph default +, and +\series bold +\emph on +C +\series default +\emph default + represent the output grid description +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +Sample lat-lon grid description: +\end_layout + +\begin_layout Standard + +\series bold +\emph on +A +\series default +\emph default + = latlon +\end_layout + +\begin_layout Standard + +\series bold +\emph on +B +\series default +\emph default + = lon0:nlon:dlon +\end_layout + +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +lon0 is longitude of first grid point in degrees +\end_layout + +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +nlon is number of longitudes +\end_layout + +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +dlon is grid resolution in degrees of longitude +\end_layout + +\begin_layout Standard + +\series bold +\emph on +C +\series default +\emph default + = lat0:nlat:dlat +\end_layout + +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +lat0 is latitude of first grid point +\end_layout + +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +nlat is number of latitudes +\end_layout + +\begin_layout Standard +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +dlat is grid resolution in degrees of latitude +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\emph on +Note: +\series default + At this time, wgrib2 is not distributed within the UPP tar file. + Users may download and install from +\begin_inset CommandInset href +LatexCommand href +target "http://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/" + +\end_inset + +. +\end_layout + +\begin_layout Section +Visualization with UPP +\end_layout + +\begin_layout Subsection +GEMPAK +\end_layout + +\begin_layout Standard +The GEMPAK utility +\series bold +\emph on +nagrib +\series default +\emph default + is able to decode GRIB files whose navigation is on any non-staggered grid. + Hence, GEMPAK is able to decode GRIB files generated by the UPP package + and plot horizontal fields or vertical cross sections. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +A sample script named +\series bold +\emph on +run_unipostandgempak +\series default +\emph default +, which is included in the scripts directory of the tar file, can be used + to run +\series bold +\emph on +unipost +\series default +\emph default + and plot the following fields using GEMPAK: +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +\emph on +Sfcmap_dnn_hh.gif +\series default +\emph default +: mean SLP and 6 hourly precipitation +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +\emph on +PrecipType_dnn_hh.gif +\series default +\emph default +: precipitation type (just snow and rain) +\end_layout + +\begin_layout Itemize + +\series bold +\emph on +850mbRH_dnn_hh.gif +\series default +\emph default +: 850 mb relative humidity +\end_layout + +\begin_layout Itemize + +\series bold +\emph on +850mbTempandWind_dnn_hh.gif +\series default +\emph default +: 850 mb temperature and wind vectors +\end_layout + +\begin_layout Itemize + +\series bold +\emph on +500mbHandVort_dnn_hh.gif +\series default +\emph default +: 500 mb geopotential height and vorticity +\end_layout + +\begin_layout Itemize + +\series bold +\shape italic +250mbWindandH_dnn_hh.gif +\series default +\shape default +: 250 mb wind speed isotacs and geopotential height +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +This script can be modified to customize fields for output. + GEMPAK has an online users guide at: +\end_layout + +\begin_layout Standard +\noindent +\begin_inset CommandInset href +LatexCommand href +target "http://www.unidata.ucar.edu/software/gempak/help_and_documentation/manual/" + +\end_inset + +. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +In order to use the script +\series bold +\shape italic +run_unipostandgempak +\series default +\shape default +, it is necessary to set the environment variable +\series bold +\shape italic +GEMEXEC +\series default +\shape default + to the path of the GEMPAK executables. + For example, +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\shape italic +setenv GEMEXEC /usr/local/gempak/bin +\end_layout + +\begin_layout Subsection +GrADS +\end_layout + +\begin_layout Standard +The GrADS utilities +\series bold +\shape italic +grib2ctl.pl +\series default +\shape default + ( +\series bold +\shape italic +g2ctl.pl +\series default +\shape default +) and +\series bold +\shape italic +gribmap +\series default +\shape default + are able to decode GRIB1 (GRIB2) files whose navigation is on any non-staggered + grid. + These utilities and instructions on how to use them to generate GrADS control + files are available from: +\end_layout + +\begin_layout Standard +\noindent +\begin_inset CommandInset href +LatexCommand href +target "http://www.cpc.ncep.noaa.gov/products/wesley/grib2ctl.html" + +\end_inset + + (GRIB1) +\end_layout + +\begin_layout Standard +\noindent +\begin_inset CommandInset href +LatexCommand href +target "http://www.cpc.ncep.noaa.gov/products/wesley/g2ctl.html" + +\end_inset + + (GRIB2). +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +The GrADS package is available from: +\begin_inset CommandInset href +LatexCommand href +target "http://cola.gmu.edu/grads/gadoc/gadoc.php" + +\end_inset + +. +\end_layout + +\begin_layout Standard +\noindent +GrADS has an online User’s Guide at: +\begin_inset CommandInset href +LatexCommand href +target "http://cola.gmu.edu/grads/gadoc/users.html" + +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +A list of basic commands for GrADS can be found at: +\begin_inset CommandInset href +LatexCommand href +target "http://cola.gmu.edu/grads/gadoc/reference_card.pdf" + +\end_inset + +. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +A sample script named +\series bold +\shape italic +run_unipostandgrads +\series default +\shape default +, which is included in the scripts directory of the Unified Post Processing + package, can be used to run +\series bold +\shape italic +unipost +\series default +\shape default + and plot the following fields using GrADS: +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +\shape italic +Sfcmaphh_dnn_GRADS.png +\series default +\shape default +: mean SLP and 6-hour accumulated precipitation. +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +\shape italic +850mbRHhh_dnn_GRADS.png +\series default +\shape default +: 850 mb relative humidity +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +\shape italic +850mbTempandWindhh_dnn_GRADS.png +\series default +\shape default +: 850 mb temperature and wind vectors +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +\shape italic +500mbHandVorthh_dnn_GRADS.png +\series default +\shape default +: 500 mb geopotential heights and absolute vorticity +\end_layout + +\begin_layout Itemize +\noindent + +\series bold +\shape italic +250mbWindandHhh_dnn_GRADS.png +\series default +\shape default +: 250 mb wind speed isotacs and geopotential heights +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +In order to use the script +\series bold +\shape italic +run_unipostandgrads +\series default +\shape default +, it is necessary to: +\end_layout + +\begin_layout Enumerate +\noindent +Set the environmental variable GADDIR to the path of the GrADS fonts and + auxiliary files. + For example: +\end_layout + +\begin_deeper +\begin_layout Standard + +\series bold +\shape italic +setenv GADDIR /usr/local/grads/data +\end_layout + +\end_deeper +\begin_layout Enumerate +Add the location of the GrADS executables to the PATH. + For example: +\end_layout + +\begin_deeper +\begin_layout Standard + +\series bold +\shape italic +setenv PATH /usr/local/grads/bin:$PATH +\end_layout + +\end_deeper +\begin_layout Enumerate +Link script +\series bold +\shape italic +cbar.gs +\series default +\shape default + to the post-processor working directory. + (This scripts is provided in UPP package, and the +\series bold +\shape italic +run_unipostandgrads +\series default +\shape default + script makes a link from +\series bold +\shape italic +scripts/ +\series default +\shape default + to +\series bold +\shape italic +postprd/ +\series default +\shape default +.) To generate the plots above, GrADS script +\series bold +\shape italic +cbar.gs +\series default +\shape default + is invoked. + This script can also be obtained from the GrADS library of scripts at +\begin_inset CommandInset href +LatexCommand href +target "http://cola.gmu.edu/grads/gadoc/library.html" + +\end_inset + +. +\end_layout + +\begin_layout Section +Fields produced by unipost +\end_layout + +\begin_layout Standard +The 3 tables described below contain documentation regarding the fields + that are available for output by UPP for both GRIB1 and GRIB2. +\end_layout + +\begin_layout Subsection +Grib1 Table: +\end_layout + +\begin_layout Standard +\begin_inset CommandInset href +LatexCommand href +target "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB1_Table.pdf" + +\end_inset + + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +This table lists basic and derived fields currently produced by unipost + for grib1. + The abbreviated names listed in the second column of each table describe + how the fields should be entered in the +\series bold +\shape italic +wrf_cntrl.parm +\series default +\shape default +. +\end_layout + +\begin_layout Subsection +Grib2 Table: +\end_layout + +\begin_layout Standard +\begin_inset CommandInset href +LatexCommand href +target "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB2_Table.pdf" + +\end_inset + + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +This table lists basic and derived fields currently produced by unipost + for grib2. + The abbreviated names listed in the second column of each table describe + how the fields should be entered in the +\series bold +\shape italic +postcntrl.xml +\series default +\shape default +. +\end_layout + +\begin_layout Subsection +Grib2 Table (Extended): +\end_layout + +\begin_layout Standard +\begin_inset CommandInset href +LatexCommand href +target "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB2_Extended_Table.pdf" + +\end_inset + + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +This table lists basic and derived fields currently produced by +\series bold +\shape italic +unipost +\series default +\shape default + for grib2 and includes the parameter information which UPP uses for identifying + fields for GRIB2. +\end_layout + +\begin_layout Standard +\begin_inset Newpage pagebreak +\end_inset + + +\end_layout + +\begin_layout Section +\start_of_appendix +\noindent +Appendix A: UPPV3.1+ Reflectivity field descriptions +\end_layout + +\begin_layout Standard +Reflectivities are filled/computed depending on the model core and microphysics + options. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +UPP uses model derived reflectivity (REFL_10CM from WRF) for model runs + using the Thompson microphysics option (mp=8). + Other combinations use algorithms within UPP code. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +Work is underway to provide more user flexibility when selecting reflectivity + computations. + For more information on model computed reflectivity, e.g. + REFL_10CM, please see model documentation. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +Relevant routines for reflectivity. + Some or all of these may need to be modified if the user desires to change + where/how reflectivity is processed. + It is recommended that the user have knowledge of the model output and + reflectivity computations before trying to modify the UPP code. + Email +\begin_inset CommandInset href +LatexCommand href +name "upp-help@ucar.edu" +type "mailto:" + +\end_inset + + for further questions. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\shape italic +INITPOST* +\series default +\shape default + - Separate routines for each different model core (e.g. + ARW, FV3, etc.). + Reads model fields, e.g. + REFL_10CM, REFD_MAX +\end_layout + +\begin_layout Standard + +\series bold +\shape italic +MDLFLD.f +\series default +\shape default + - Computes DBZ or fills DBZ arrays with model computed Reflectivity. + - Fills 3-D model level reflectivity array (UPP ID: 250) - Fills 2-D composite + reflectivity array (UPP ID: 252) +\end_layout + +\begin_layout Standard + +\series bold +\shape italic +MDL2AGL.f +\series default +\shape default + - Interpolates relevant DBZ array to AGL reflectivity (UPP ID: 253) - Outputs + model computed maximum hourly reflectivity (REFD_MAX; UPP ID: 421) +\end_layout + +\begin_layout Standard + +\series bold +\shape italic +MDL2P.f +\series default +\shape default + - Interpolates relevant DBZ array to pressure levels (UPP ID: 251) +\end_layout + +\begin_layout Standard +\begin_inset Newpage pagebreak +\end_inset + + +\end_layout + +\begin_layout Section +Appendix B: Adding a new variable to the UPP code +\end_layout + +\begin_layout Standard +\noindent + +\shape slanted +*** NOTE *** +\begin_inset VSpace 0.05in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\shape slanted +This document provides general procedures and an example of how to add a + new variable to the UPP code. + Please keep in mind it may not be an exhaustive step-by-step depending + on your particular situation. + While we can provide general assistance for adding a new variable, users + should be aware that this requires good knowledge of Fortran and thorough + understanding of the code. +\end_layout + +\begin_layout Standard +\paragraph_spacing single +\noindent + +\shape slanted +We encourage users to contact us at upp-help@ucar.edu to make us aware of + modifications you are making. + In some cases, if we determine the changes you are making may be relevant + for operational and/or community purposes, we will be interested in incorporati +ng your changes into the code base for support and future release. + We would then work with you to make this possible. +\end_layout + +\begin_layout Standard +\noindent +\begin_inset VSpace 0.25in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent + +\series bold +\size larger +\color black +General Content Overview +\end_layout + +\begin_layout Standard +\begin_inset VSpace 0.25in +\end_inset + + +\end_layout + +\begin_layout Enumerate +Allocate the field: ALLOCATE.f +\end_layout + +\begin_deeper +\begin_layout Standard + +\emph on +This file is the instantiation or allocation of the +\shape slanted +variable +\shape default +. + Note that the variables are defined based on the parallel processing capability + of UPP - use an example from the file. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +Deallocate the field: DEALLOCATE.f +\end_layout + +\begin_deeper +\begin_layout Standard + +\emph on +All good programmers give back their resources when they are done. + Please update this routine to return your resource to the system. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +Declare the new variable: VRBLS2D_mod.f, VRBLS3D_mod.f or VRBLS4D_mod.f +\end_layout + +\begin_deeper +\begin_layout Standard + +\emph on +The variable is declared in one of these module defining files depending + on its dimension. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +Define field for grib1: RQSTFLD.f +\end_layout + +\begin_deeper +\begin_layout Standard + +\emph on +This file contains a list of all possible fields to be output by UPP, correspond +ing key-word character string user places in wrf_cntrl.parm file, UPP ID + for internal code, grib IDs. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +Read model output: INITPOST.F +\end_layout + +\begin_deeper +\begin_layout Standard + +\emph on +This file is used for reading the model output files. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +Determine routine for filling variable: e.g SURFCE.f, MDLFLD.f, MDL2P.f, etc. +\end_layout + +\begin_deeper +\begin_layout Standard + +\emph on +This is the place that you will fill the array with the data and call gribit + to output the field. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +Define table/grib2 parameters/ for grib2 output: params_grib2_tbl_new +\end_layout + +\begin_deeper +\begin_layout Standard + +\emph on +This table contains the necessary parameter information for grib2 fields. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +Define the field for grib2 output: post_avlbflds.xml +\end_layout + +\begin_deeper +\begin_layout Standard + +\emph on +This file is used for defining all available grib2 fields. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +Define control file entry for output: postcntrl.xml & postxconfig-NT.txt +\end_layout + +\begin_deeper +\begin_layout Standard + +\emph on +These files are used for controlling which fields are output by UPP for + grib2. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +Define output control file: wrf_cntrl.parm +\end_layout + +\begin_deeper +\begin_layout Standard + +\emph on +This file is used for controlling which fields are output by UPP for grib1. +\end_layout + +\end_deeper +\begin_layout Standard +\begin_inset Newpage pagebreak +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\size larger +\color black +Example Procedure: Steps for adding the new variable ‘ACLHF’ +\end_layout + +\begin_layout Standard +\begin_inset VSpace 0.25in +\end_inset + + +\end_layout + +\begin_layout Itemize +\noindent +This example illustrates a new variable from the WRF output that will be + read into UPP and directly output into the grib output files (i.e. + no additional computations/calculations are needed for the field). +\end_layout + +\begin_layout Itemize +Note that while grib1 procedures are provided, we have moved to grib2 almost + exclusively. + As such support for grib1 additions is limited. +\end_layout + +\begin_layout Itemize +Additions to each of the routines are highlighted in +\family typewriter +\series bold +\color green +green +\family default +\series default +\color inherit +. +\end_layout + +\begin_layout Itemize +Locations of +\series bold +\emph on +\color black +routines +\series default +\emph default +\color inherit + are in /UPPV4.1/sorc/ncep_post.fd unless specified otherwise. +\end_layout + +\begin_layout Itemize +A sample wrfout file for the following procedures is available for download + from: +\end_layout + +\begin_deeper +\begin_layout Itemize +\begin_inset CommandInset href +LatexCommand href +target "https://dtcenter.org/upp/users/downloads/data/AddNewVariableData.tar.gz" + +\end_inset + + +\end_layout + +\begin_layout Itemize +This data is the 6-hr forecast of a WRF initialization of 2009-12-17_12:00:00 +\end_layout + +\begin_layout Standard +\begin_inset VSpace 0.05in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Standard +\paragraph_spacing onehalf + +\series bold +\color black +\begin_inset space \hspace{} +\length 0.22in +\end_inset + +New variable to add: ACLHF +\begin_inset VSpace 0.05in +\end_inset + + +\end_layout + +\begin_layout Standard + +\family typewriter +\color black +float ACLHF(Time, south_north, west_east) ; +\end_layout + +\begin_layout Standard + +\family typewriter +\color black +\begin_inset space \hspace{} +\length 1.1cm +\end_inset + +ACLHF:FieldType = 104 ; +\end_layout + +\begin_layout Standard + +\family typewriter +\color black +\begin_inset space \hspace{} +\length 1.1cm +\end_inset + +ACLHF:MemoryOrder = "XY " ; +\end_layout + +\begin_layout Standard + +\family typewriter +\color black +\begin_inset space \hspace{} +\length 1.1cm +\end_inset + +ACLHF:description = "ACCUMULATED UPWARD LATENT HEAT FLUX AT THE SURFACE" + ; +\end_layout + +\begin_layout Standard + +\family typewriter +\color black +\begin_inset space \hspace{} +\length 1.1cm +\end_inset + +ACLHF:units = "J m-2" ; +\end_layout + +\begin_layout Standard + +\family typewriter +\color black +\begin_inset space \hspace{} +\length 1.1cm +\end_inset + +ACLHF:stagger = "" ; +\end_layout + +\begin_layout Standard + +\family typewriter +\color black +\begin_inset space \hspace{} +\length 1.1cm +\end_inset + +ACLHF:coordinates = "XLONG XLAT" ; +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Enumerate +Allocate the new variable in +\series bold +\emph on +\color black +ALLOCATE_ALL.f +\series default +\emph default +\color inherit + This file is the instantiation or allocation of the variable. + Note that the variables are defined based on the parallel processing capability + of UPP - use an example from the file. +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\begin_deeper +\begin_layout Standard + +\series bold +\emph on +\color black +User Procedure: +\end_layout + +\begin_layout Itemize +Add in VRBLS2D section as: +\end_layout + +\begin_deeper +\begin_layout Standard + +\family typewriter +\series bold +\color green +allocate(aclhf(im,jsta_2l:jend_2u)) +\family default + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\end_deeper +\begin_layout Enumerate +De-allocate the variable to give the resources back in +\series bold +\emph on +\color black +DEALLOCATE.f +\series default +\emph default +\color inherit + All good programmers give back their resources when they are done. + Please update this routine to return your resource to the system. +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\begin_deeper +\begin_layout Standard + +\series bold +\emph on +\color black +User procedure: +\end_layout + +\begin_layout Itemize +Add as: +\end_layout + +\begin_deeper +\begin_layout Standard + +\family typewriter +\series bold +\color green +deallocate(aclhf) +\family default + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\end_deeper +\begin_layout Enumerate +Declare the new variable in the appropriate file depending on its dimensions; + +\series bold +\emph on +\color black +VRBLS2D_mod.f +\series default +\emph default +\color inherit +, +\series bold +\emph on +\color black +VRBLS3D_mod.f +\series default +\emph default +\color inherit + or +\series bold +\emph on +\color black +VRBLS4D_mod.f +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\begin_deeper +\begin_layout Standard + +\series bold +\emph on +\color black +User procedure: +\end_layout + +\begin_layout Itemize + +\series bold +\color black +ACLHF +\series default +\color inherit + is a 2-dimensional field, so declare it in +\series bold +\emph on +\color black +VRBLS2D_mod.f +\end_layout + +\begin_layout Itemize +Add to the end of the first section of allocations as: +\end_layout + +\begin_deeper +\begin_layout Standard + +\family typewriter +\series bold +\color green +ACLHF(:,:) +\family default + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\end_deeper +\begin_layout Enumerate +List the new variable in +\series bold +\emph on +\color black +RQSTFLD.f +\series default +\emph default +\color inherit + which includes a list of all possible fields to be output by UPP, as well + as the corresponding key-word character string the user places in +\series bold +\emph on +\color black +wrf_cntrl.parm +\series default +\emph default +\color inherit + file, the UPP ID for internal code, and grib IDs. + Be sure to pick a unique identifier that is not already used for the new + variable. + The unique identifier or index are typically assigned in groups - hopefully + a community area will be added in the future - or a defined method to avoid + overwriting others values. + Right now we are using 900's for community contributions. +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\begin_deeper +\begin_layout Standard + +\series bold +\emph on +\color black +Example entry: +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +! HWRF addition for v_flux as pass through variable: +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +DATA +\color brown +IFILV +\color inherit +( +\color red +901 +\color inherit +), +\color cyan +AVBL +\color inherit +( +\color red +901 +\color inherit +), +\color green +IQ +\color inherit +( +\color red +901 +\color inherit +), +\color blue +IS +\color inherit +( +\color red +901 +\color inherit +), +\color orange +AVBLGRB2 +\color inherit +( +\color red +901 +\color inherit +) & +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +& +\begin_inset space \hspace{} +\length 1.35in +\end_inset + + / +\color brown +1 +\color inherit +,' +\color cyan +MODEL SFC V WIND STR +\color inherit +’, +\color green +125 +\color inherit +, +\color blue +001 +\color inherit +, & +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +& +\begin_inset space \hspace{} +\length 1.35in +\end_inset + + ' +\color orange +V_FLX ON surface +\color inherit +’/ +\family default +\series default + +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\begin_layout Standard +Where: +\end_layout + +\begin_layout Itemize + +\series bold +\color brown +IFILV +\series default + Identifies field as MASS/VELOCITY point +\end_layout + +\begin_layout Itemize + +\series bold +\color cyan +AVBL +\series default + is the model output character string variable name (grib1) +\end_layout + +\begin_layout Itemize + +\series bold +\color green +IQ +\series default + is the GRIB PDS OCTET 9 (table 2) - Indicator of parameter and units +\end_layout + +\begin_layout Itemize + +\series bold +\color blue +IS +\series default +\color inherit + +\color blue +is the GRIB PDS OCTET 10 (table 3&3a) - Indicator of type of level or layer +\end_layout + +\begin_layout Itemize + +\series bold +\color orange +AVBLGRB2 +\series default +\color inherit + +\color orange +is the model output character string variable name (grib2) +\end_layout + +\begin_layout Itemize + +\series bold +\color red +A +\family sans +\series default +\color inherit + +\begin_inset space ~ +\end_inset + + +\family default +\series bold +\color red +UNIQUE +\series default + array location UPP uses to store this variable in parallel arrays (e.g. + 901) +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\emph on +\color black +User procedure: +\end_layout + +\begin_layout Itemize +A latent heat flux variable (LHTFL) was found in the GRIB1 parameter tables, + so add a new unused parameter number (237) using Table 130 to define the + new field. +\end_layout + +\begin_deeper +\begin_layout Standard +\begin_inset CommandInset href +LatexCommand href +target "http://www.nco.ncep.noaa.gov/pmb/docs/on388/table2.html" + +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Itemize +Used level type surface, which is 001 +\end_layout + +\begin_deeper +\begin_layout Standard +\begin_inset CommandInset href +LatexCommand href +target "http://www.nco.ncep.noaa.gov/pmb/docs/on388/table3.html" + +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Itemize +Add as: +\end_layout + +\begin_deeper +\begin_layout Standard + +\family typewriter +\series bold +\color green +DATA IFILV(950),AVBL(950),IQ(950),IS(950),AVBLGRB2(950) & +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +& +\begin_inset space \hspace{} +\length 1.35in +\end_inset + + /1,'ACC SFC LAT HEAT FX ',237,001, & +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +& +\begin_inset space \hspace{} +\length 1.35in +\end_inset + + 'ACC LHTFL ON surface '/ !Table 130 +\family default + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\end_deeper +\begin_layout Enumerate +Read the model output field from the wrfout file by adding the new variable + into +\series bold +\emph on +\color black +INITPOST.F +\series default +\emph default +\color inherit + This file is used for reading the WRF-ARW model output files in netcdf + format. +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\begin_deeper +\begin_layout Standard + +\series bold +\emph on +\color black +User procedure: +\end_layout + +\begin_layout Itemize +Add using the 2D variable +\series bold +\color black +SNDEPAC +\series default +\color inherit + (snowfall accumulation), which is also a 2D surface based accumulation + field, as a template by following it through the routine. +\end_layout + +\begin_layout Itemize +Add to top section of the routine in ‘use vrbls2d’ to initiate the new variable + as: +\end_layout + +\begin_deeper +\begin_layout Standard + +\family typewriter +\series bold +\color green +aclhf +\end_layout + +\end_deeper +\begin_layout Itemize +Read in the new variable as: +\end_layout + +\begin_deeper +\begin_layout Standard + +\family typewriter +\series bold +\color green +VarName='ACLHF' +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +call getVariable(fileName,DateStr,DataHandle,VarName,DUMMY, & +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +IM,1,JM,1,IM,JS,JE,1) +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +do j = jsta_2l, jend_2u +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +do i = 1, im +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +ACLHF ( i, j ) = dummy ( i, j ) +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +end do +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +end do +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +! print*,'ACLHF at ',ii,jj,' = ',ACLHF(ii,jj) +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\end_deeper +\begin_layout Enumerate +Determine the correct routine to add the new variable to (e.g. + +\series bold +\emph on +\color black +SURFCE.f +\series default +\emph default +\color inherit +, +\series bold +\emph on +\color black +MDLFLD.f +\series default +\emph default +\color inherit +, +\series bold +\emph on +\color black +MDL2P.f +\series default +\emph default +\color inherit +, etc). + You will need to determine the correct routine to add your field into; + this is the place that you will fill the array with the data and call gribit + to output the field. + The correct routine will depend on what your field is. + For example, if you have a new diagnostic called foo, and you want it interpola +ted to pressure levels, you would need to add it to +\series bold +\emph on +\color black +MDL2P.f +\series default +\emph default +\color inherit +. + If foo was only a surface variable, you would add it to +\series bold +\emph on +\color black +SURFCE.f +\series default +\emph default +\color inherit +. + If you wanted foo on native model levels, you would add it to +\series bold +\emph on +\color black +MDLFLD.f +\series default +\emph default +\color inherit +. + If you’re not sure which routine to add the new variable to, choose a similar + variable as a template. +\end_layout + +\begin_deeper +\begin_layout Standard + +\emph on +Note: +\emph default + This is also where you would add any calculations needed for your new variable, + should it be required. +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\emph on +\color black +User procedure: +\end_layout + +\begin_layout Itemize +Treat ACLHF like a surface field ( +\series bold +\emph on +\color black +SURFCE.f +\series default +\emph default +\color inherit +) +\end_layout + +\begin_layout Itemize +Using the variable +\series bold +\color black +SNDEPAC +\series default +\color inherit + (accumulated depth of snowfall) as a template which is also an accumulated + field that is just being read through and output, similar to what we want. +\end_layout + +\begin_layout Itemize +Add in top section in ‘use vrbls2d, only’ to initiate the new variable as: +\end_layout + +\begin_deeper +\begin_layout Standard + +\family typewriter +\series bold +\color green +aclhf +\end_layout + +\end_deeper +\begin_layout Itemize +Add in main section using the template variable as a guide. +\end_layout + +\begin_deeper +\begin_layout Itemize +Note that ID(02), which is the ID for table version number, is added and + set to 130. + This is the table that we are adding the new variable to. +\end_layout + +\begin_layout Itemize +The block of code in +\family typewriter +\series bold +\color blue +blue +\family default +\series default +\color inherit + is for metadata for the accumulation field being added in this example + and the user does not need to edit it and it is not always needed. + For example, for an instantaneous field, you would not need that block. +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +! ACCUM UPWARD LATENT HEAT FLUX AT SURFACE +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +IF (IGET(950).GT.0) THEN +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +ID(1:25) = 0 +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +ID(02) = 130 +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +ITPREC = NINT(TPREC) +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +!mp +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +IF(ITPREC .NE. + 0) THEN +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +IFINCR = MOD(IFHR,ITPREC) +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +IF(IFMIN .GE. + 1)IFINCR = MOD(IFHR*60+IFMIN,ITPREC*60) +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +ELSE +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +IFINCR = 0 +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +ENDIF +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +!mp +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +ID(18) = 0 +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +ID(19) = IFHR +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +IF(IFMIN .GE. + 1)ID(19)=IFHR*60+IFMIN +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +ID(20) = 4 +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +IF (IFINCR.EQ.0) THEN +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +ID(18) = IFHR-ITPREC +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +ELSE +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +ID(18) = IFHR-IFINCR +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +IF(IFMIN .GE. + 1)ID(18)=IFHR*60+IFMIN-IFINCR +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +ENDIF +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color blue +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +IF (ID(18).LT.0) ID(18) = 0 +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +if(grib=='grib1') then +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +DO J=JSTA,JEND +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.75in +\end_inset + +DO I=1,IM +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 1in +\end_inset + +GRID1(I,J) = ACLHF(I,J) +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.75in +\end_inset + +ENDDO +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +ENDDO +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +CALL GRIBIT(IGET(950),LVLS(1,IGET(950)), GRID1,IM,JM) +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +elseif(grib=='grib2') then +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +cfld=cfld+1 +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +fld_info(cfld)%ifld=IAVBLFLD(IGET(950)) +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +fld_info(cfld)%ntrange=1 +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +fld_info(cfld)%tinvstat=IFHR-ID(18) +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +!$omp parallel do private(i,j,jj) +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +do j=1,jend-jsta+1 +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +jj = jsta+j-1 +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.75in +\end_inset + +do i=1,im +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 1in +\end_inset + +datapd(i,j,cfld) = ACLHF(i,jj) +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.75in +\end_inset + +enddo +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.5in +\end_inset + +enddo +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +endif +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +ENDIF +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\end_deeper +\begin_layout Enumerate +For grib2 output, add the new variable to /UPPV4.1/parm/ +\series bold +\emph on +\color black +params_grib2_tbl_new +\series default +\emph default +\color inherit +. + For all current UPP output fields, this table lists, in order, the: +\end_layout + +\begin_deeper +\begin_layout Itemize +Discipline ( +\begin_inset CommandInset href +LatexCommand href +target "http://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_table0-0.shtml" + +\end_inset + +) +\end_layout + +\begin_layout Itemize +Category ( +\begin_inset CommandInset href +LatexCommand href +target "http://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_table4-1.shtml" + +\end_inset + +) +\end_layout + +\begin_layout Itemize +Parameter Number ( +\begin_inset CommandInset href +LatexCommand href +target "http://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_table4-2.shtml" + +\end_inset + +) +\end_layout + +\begin_layout Itemize +Table information (0 for parameters from the WMO table; 1 for parameters + from the local NCEP table) +\end_layout + +\begin_layout Itemize +Abbreviated Variable Name (from the parameters table) +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\emph on +\color black +User procedure: +\end_layout + +\begin_layout Itemize +Since there is already a latent heat flux (LHTFL) parameter in this table, + create a new Latent Heat Flux parameter so as to not overwrite the current + one, just in case you want both to be output +\end_layout + +\begin_layout Itemize +Latent heat flux is a meteorological field (discipline=0) +\end_layout + +\begin_layout Itemize +Latent heat flux is a temperature product (category=0) +\end_layout + +\begin_layout Itemize +Pick an unused parameter number from the table defined by discipline=0 and + category=0 (Table 4.2-0-0: +\begin_inset CommandInset href +LatexCommand href +target "http://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_table4-2-0-0.shtml" + +\end_inset + +). + In this case, the unused parameter number 205 was chosen. +\end_layout + +\begin_layout Itemize +Add using the NCEP local table (table=1) +\end_layout + +\begin_layout Itemize +Choose an abbreviated parameter name to describe your field (e.g. + ACLHF) +\end_layout + +\begin_layout Itemize +Add as: +\end_layout + +\begin_deeper +\begin_layout Standard + +\family typewriter +\series bold +\color green +0 0 205 1 ACLHF +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\end_deeper +\begin_layout Enumerate +Add the new variable to the /UPPV4.1/parm/ +\series bold +\emph on +\color black +post_avblflds.xml +\series default +\emph default +\color inherit +, which lists all fields available for output in GRIB2 format. +\end_layout + +\begin_deeper +\begin_layout Itemize +Post_avblfldidx: the unique array number given in the RQSTFLD.f routine. +\end_layout + +\begin_layout Itemize +Shortname: name describing the variable and level type +\end_layout + +\begin_layout Itemize +Pname: the abbreviation for your variable +\end_layout + +\begin_layout Itemize +Table info: table used if not standard WMO +\end_layout + +\begin_layout Itemize +Fixed_sfc1_type: level type +\end_layout + +\begin_layout Itemize +Scale: precision of data written out to grib2 file +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\emph on +\color black +User procedure: +\end_layout + +\begin_layout Itemize +Add as: +\end_layout + +\begin_deeper +\begin_layout Standard + +\family typewriter +\series bold +\color green + +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +950 +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +ACC_LATENT_HEAT_FLUX_ON_SURFACE +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +ACLHF +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +NCEP +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +surface +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +4.0 +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\end_deeper +\begin_layout Enumerate +Add the new variable to the /UPPV4.1/parm/ +\series bold +\emph on +\color black +postcntrl.xml file +\series default +\emph default +\color inherit +, which lists all fields and levels you wish to output for GRIB2. + Remake the /UPPV4.1/parm/ +\series bold +\emph on +\color black +postxconfig-NT.txt +\series default +\emph default +\color inherit + file, which contains the information from the xml that UPP reads. +\end_layout + +\begin_deeper +\begin_layout Itemize +See the User’s guide on steps for creating the text control file +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +\emph on +\color black +User procedure: +\end_layout + +\begin_layout Itemize +Add as: +\end_layout + +\begin_deeper +\begin_layout Standard + +\family typewriter +\series bold +\color green + +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +ACC_LATENT_HEAT_FLUX_ON_SURFACE +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +ACLHF +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +4.0 +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\end_deeper +\begin_layout Enumerate +Add the new variable to the /UPPV4.1/parm/ +\series bold +\emph on +\color black +wrf_cntrl.parm +\series default +\emph default +\color inherit + file, which lists all fields and levels you wish to output for GRIB1. +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\begin_deeper +\begin_layout Standard + +\series bold +\emph on +\color black +User procedure: +\end_layout + +\begin_layout Itemize +Add as: +\end_layout + +\begin_deeper +\begin_layout Standard + +\family typewriter +\series bold +\color green +(ACC SFC LAT HEAT FX ) SCAL=( 4.0) +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color green +L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 + 00000 00000 +\begin_inset VSpace 0.02in +\end_inset + + +\end_layout + +\begin_layout Standard +** Note the first entry is turned from 0 to 1. + This turns on the first level. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\end_deeper +\begin_layout Enumerate +Run clean on the code and recompile the code to include the changes before + running your UPP run script. +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\begin_deeper +\begin_layout Standard + +\series bold +\emph on +\color black +User procedure: +\end_layout + +\begin_layout Standard + +\family typewriter +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +>> ./clean -a +\end_layout + +\begin_layout Standard + +\family typewriter +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +>> ./configure +\end_layout + +\begin_layout Standard + +\family typewriter +\begin_inset space \hspace{} +\length 0.25in +\end_inset + +>> ./compile >& compile.log & +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +Assuming the modified code compiled successfully and you were able to produce + grib output, you can check the grib file for your new variable. +\begin_inset VSpace 0.25in +\end_inset + + +\end_layout + +\begin_deeper +\begin_layout Standard + +\series bold +\color black +GRIB2 +\series default +\color inherit + output of the new variable from this example procedure (using the wgrib2 + utility if available on your system). +\end_layout + +\begin_layout Itemize +The new variable will not be defined by the variable name. + Instead it will be defined using the grib2 parameter information you entered + into +\series bold +\emph on +\color black +params_grib2_tbl_new +\series default +\emph default +\color inherit + from step 7 of this procedure. +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\begin_deeper +\begin_layout Standard + +\family typewriter +456:43204412:vt=2009121718: +\series bold +\color black +surface +\series default +\color inherit +:6 hour fcst:var +\series bold +\color black +discipline=0 +\series default +\color inherit + center=7 +\series bold +\color black +local_table=1 +\color inherit + +\color black +parmcat=0 parm=205 +\color inherit +: +\end_layout + +\begin_layout Standard + +\family typewriter +ndata=121002:undef=0:mean=1.97108e+06:min=-1.12e+06:max=2.406e+07 +\end_layout + +\begin_layout Standard + +\family typewriter +grid_template=30:winds(grid): +\end_layout + +\begin_layout Standard + +\family typewriter +Lambert Conformal: (402 x 301) input WE:SN output WE:SN res 8 +\end_layout + +\begin_layout Standard + +\family typewriter +Lat1 14.807213 Lon1 231.818604 LoV 258.040009 +\end_layout + +\begin_layout Standard + +\family typewriter +LatD 38.270000 Latin1 38.270000 Latin2 38.270000 +\end_layout + +\begin_layout Standard + +\family typewriter +LatSP 0.000000 LonSP 0.000000 +\end_layout + +\begin_layout Standard + +\family typewriter +North Pole (402 x 301) Dx 15000.000000 m Dy 15000.000000 m mode 8 +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Standard + +\series bold +\color black +GRIB1 +\series default +\color inherit + output of the new variable from this example procedure (using the wgrib + utility if available on your system). +\end_layout + +\begin_layout Itemize +The new variable will not be defined by the variable name. + Instead it is defined by +\family typewriter +\series bold +\color black +kpds5=237 +\family default +\series default +\color inherit + (grib1 ID) and +\family typewriter +\series bold +\color black +kpds6=1 +\family default +\series default +\color inherit + (level type) you gave it in +\series bold +\emph on +\color black +RQSTFLD.f +\series default +\emph default +\color inherit + in step 4. +\end_layout + +\begin_layout Itemize +For this particular variable, the accumulation period is shown, due to the + addition of the metadata block in the +\series bold +\emph on +\color black +SURFCE.f +\series default +\emph default +\color inherit + routine. +\begin_inset VSpace 0.15in +\end_inset + + +\end_layout + +\begin_deeper +\begin_layout Standard + +\family typewriter +rec 319:59903982:date 2009121712 +\series bold +\color black +var237 +\series default +\color inherit + +\series bold +\color black +kpds5=237 kpds6=1 +\series default +\color inherit + kpds7=0 levels=(0,0) grid=255 sfc +\series bold +\color black +0-24hr acc +\series default +\color inherit +: +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +\color black +var237=undefined +\end_layout + +\begin_layout Standard + +\family typewriter +timerange 0 P1 6 P2 0 TimeU 1 nx 402 ny 301 GDS grid 3 num_in_ave 0 missing + 0 center 7 subcenter 0 process 125 +\series bold +\color black +Table 130 +\series default +\color inherit + scan: WE:SN winds(grid) +\end_layout + +\begin_layout Standard + +\family typewriter +Lambert Conf: Lat1 14.807000 Lon1 231.819000 Lov 258.040000 +\end_layout + +\begin_layout Standard + +\family typewriter +Latin1 38.270000 Latin2 38.270000 LatSP 0.000000 LonSP 0.000000 +\end_layout + +\begin_layout Standard + +\family typewriter +North Pole (402 x 301) Dx 15.000000 Dy 15.000000 scan 64 mode 136 +\end_layout + +\begin_layout Standard + +\family typewriter +min/max data -1.1217e+06 2.40583e+07 num bits 12 BDS_Ref -112.17 DecScale -4 + BinScale +\family default +0 +\end_layout + +\end_deeper +\end_deeper +\begin_layout Standard +\begin_inset Newpage pagebreak +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +Acknowledgement +\end_layout + +\begin_layout Standard +\noindent +If significant help was provided via the UPP helpdesk for work resulting + in a publication, please acknowledge the Developmental Testbed Center Mesoscale + Modeling Team. +\end_layout + +\begin_layout Standard +\noindent +For referencing this document please use: +\end_layout + +\begin_layout Standard +\noindent +UPP Users’ Guide V4.1, 24 pp. + [available online at http://www.dtcenter.org/upp/users/docs/user_guide/V4.1/upp_us +ers_guide.pdf ] +\end_layout + +\end_body +\end_document From a8a190edbaf9af2aaf58103e0fba604d1283b792 Mon Sep 17 00:00:00 2001 From: Tracy Date: Thu, 27 Feb 2020 13:18:30 -0700 Subject: [PATCH 2/4] Fix typo in grib tables --- docs/UPP_GRIB1_Table.lyx | 10 +++++----- docs/UPP_GRIB2_Extended_Table.lyx | 12 ++++++------ docs/UPP_GRIB2_Table.lyx | 10 +++++----- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/UPP_GRIB1_Table.lyx b/docs/UPP_GRIB1_Table.lyx index 1b5b443a9..8b38a1e50 100644 --- a/docs/UPP_GRIB1_Table.lyx +++ b/docs/UPP_GRIB1_Table.lyx @@ -24672,7 +24672,7 @@ F15 SSMI NON-NADIR (Levels 1-6 = Channels 1,2,4,5,6,7) \begin_layout Plain Layout \size small -SSMIS F16 (183H 19H 19V 37H 37V 85H 85V) +SSMIS F16 (183H 19H 19V 37H 37V 91H 91V) \end_layout \end_inset @@ -24735,7 +24735,7 @@ F16 SSMIS NON-NADIR (Levels 1-7 = Channels 9,12,13,15,16,17,18) \begin_layout Plain Layout \size small -SSMIS F17 (183H 19H 19V 37H 37V 85H 85V) +SSMIS F17 (183H 19H 19V 37H 37V 91H 91V) \end_layout \end_inset @@ -24798,7 +24798,7 @@ F17 SSMIS NON-NADIR (Levels 1-7 = Channels 9,12,13,15,16,17,18) \begin_layout Plain Layout \size small -SSMIS F18 (183H 19H 19V 37H 37V 85H 85V) +SSMIS F18 (183H 19H 19V 37H 37V 91H 91V) \end_layout \end_inset @@ -24861,7 +24861,7 @@ F18 SSMIS NON-NADIR (Levels 1-7 = Channels 9,12,13,15,16,17,18) \begin_layout Plain Layout \size small -SSMIS F19 (183H 19H 19V 37H 37V 85H 85V) +SSMIS F19 (183H 19H 19V 37H 37V 91H 91V) \end_layout \end_inset @@ -24924,7 +24924,7 @@ F19 SSMIS NON-NADIR (Levels 1-7 = Channels 9,12,13,15,16,17,18) \begin_layout Plain Layout \size small -SSMIS F20 (183H 19H 19V 37H 37V 85H 85V) +SSMIS F20 (183H 19H 19V 37H 37V 91H 91V) \end_layout \end_inset diff --git a/docs/UPP_GRIB2_Extended_Table.lyx b/docs/UPP_GRIB2_Extended_Table.lyx index 6c24bdfd1..c453e8c67 100644 --- a/docs/UPP_GRIB2_Extended_Table.lyx +++ b/docs/UPP_GRIB2_Extended_Table.lyx @@ -43940,7 +43940,7 @@ NA \begin_layout Plain Layout \size small -SSMIS F16 (183H 19H 19V 37H 37V 85H 85V) +SSMIS F16 (183H 19H 19V 37H 37V 91H 91V) \end_layout \end_inset @@ -44041,7 +44041,7 @@ NA \begin_layout Plain Layout \size small -SSMIS F17 (183H 19H 19V 37H 37V 85H 85V) +SSMIS F17 (183H 19H 19V 37H 37V 91H 91V) \end_layout \end_inset @@ -44142,7 +44142,7 @@ NA \begin_layout Plain Layout \size small -SSMIS F18 (183H 19H 19V 37H 37V 85H 85V) +SSMIS F18 (183H 19H 19V 37H 37V 91H 91V) \end_layout \end_inset @@ -44243,7 +44243,7 @@ NA \begin_layout Plain Layout \size small -SSMIS F19 (183H 19H 19V 37H 37V 85H 85V) +SSMIS F19 (183H 19H 19V 37H 37V 91H 91V) \end_layout \end_inset @@ -44344,7 +44344,7 @@ NA \begin_layout Plain Layout \size small -SSMIS F20 (183H 19H 19V 37H 37V 85H 85V) +SSMIS F20 (183H 19H 19V 37H 37V 91H 91V) \end_layout \end_inset @@ -44647,7 +44647,7 @@ NA \begin_layout Plain Layout \size small -Seviri brightness temperature channels 5-11 +Seviri brightness temperature channels 5-11 (UPPV4.0.1; channels 4-11) \end_layout \end_inset diff --git a/docs/UPP_GRIB2_Table.lyx b/docs/UPP_GRIB2_Table.lyx index f8d058a41..448f90809 100644 --- a/docs/UPP_GRIB2_Table.lyx +++ b/docs/UPP_GRIB2_Table.lyx @@ -24719,7 +24719,7 @@ NA \begin_layout Plain Layout \size footnotesize -SSMIS F16 (183H 19H 19V 37H 37V 85H 85V) +SSMIS F16 (183H 19H 19V 37H 37V 91H 91V) \end_layout \end_inset @@ -24776,7 +24776,7 @@ NA \begin_layout Plain Layout \size footnotesize -SSMIS F17 (183H 19H 19V 37H 37V 85H 85V) +SSMIS F17 (183H 19H 19V 37H 37V 91H 91V) \end_layout \end_inset @@ -24833,7 +24833,7 @@ NA \begin_layout Plain Layout \size footnotesize -SSMIS F18 (183H 19H 19V 37H 37V 85H 85V) +SSMIS F18 (183H 19H 19V 37H 37V 91H 91V) \end_layout \end_inset @@ -24890,7 +24890,7 @@ NA \begin_layout Plain Layout \size footnotesize -SSMIS F19 (183H 19H 19V 37H 37V 85H 85V) +SSMIS F19 (183H 19H 19V 37H 37V 91H 91V) \end_layout \end_inset @@ -24947,7 +24947,7 @@ NA \begin_layout Plain Layout \size footnotesize -SSMIS F20 (183H 19H 19V 37H 37V 85H 85V) +SSMIS F20 (183H 19H 19V 37H 37V 91H 91V) \end_layout \end_inset From b8b7b4969e2c54e4b66592b2c391a72766486fa8 Mon Sep 17 00:00:00 2001 From: Tracy Date: Thu, 27 Feb 2020 13:19:39 -0700 Subject: [PATCH 3/4] Change name of UPPV4.1 users guide --- ...V4.1_beta.lyx => UPP_Users_guide_V4.1.lyx} | 1238 +++++++---------- 1 file changed, 514 insertions(+), 724 deletions(-) rename docs/{UPP_Users_guide_V4.1_beta.lyx => UPP_Users_guide_V4.1.lyx} (91%) diff --git a/docs/UPP_Users_guide_V4.1_beta.lyx b/docs/UPP_Users_guide_V4.1.lyx similarity index 91% rename from docs/UPP_Users_guide_V4.1_beta.lyx rename to docs/UPP_Users_guide_V4.1.lyx index 1677680d1..b0efc344d 100644 --- a/docs/UPP_Users_guide_V4.1_beta.lyx +++ b/docs/UPP_Users_guide_V4.1.lyx @@ -227,19 +227,6 @@ Software Installation/Getting Started UPP Software Requirements \end_layout -\begin_layout Standard -The Community Unified Post Processor version 4 no longer requires users - to first build the WRF model. -\end_layout - -\begin_layout Standard -\noindent -\begin_inset VSpace 0.2in -\end_inset - - -\end_layout - \begin_layout Standard \noindent Before installing the UPP code, it is necessary to ensure that you have @@ -280,49 +267,15 @@ target "https://github.com/NCAR/NCEPlibs" \end_layout -\end_deeper -\begin_layout Itemize -\noindent -\align left -The JasPer, PNG, and Zlib libraries, required with the release of UPPv2.0 - and higher, due to the addition of GRIB2 capabilities. - NCEP provides these necessary codes for download: -\end_layout - -\begin_deeper -\begin_layout Standard -\noindent -\begin_inset CommandInset href -LatexCommand href -target "http://www.nco.ncep.noaa.gov/pmb/codes/GRIB2/" - -\end_inset - - -\end_layout - -\end_deeper \begin_layout Itemize -GNU M4 for UPPV4.0 only, which is used to build the WRF I/O libraries now - included in UPPV4.0. - This is usually bundled with an operating system or can be downloaded: -\end_layout - -\begin_deeper -\begin_layout Standard -\begin_inset CommandInset href -LatexCommand href -target "https://www.gnu.org/software/m4/" - -\end_inset - - +For instructions on building the NCEP libraries required for UPP, please + refer to the README document in the NCEPlibs directory. \end_layout \end_deeper \begin_layout Standard \noindent -\begin_inset VSpace 0.2in +\begin_inset VSpace 0.05in \end_inset @@ -390,111 +343,110 @@ Obtaining the UPP Code \end_layout \begin_layout Standard -The UPP package can be downloaded from: +The user can obtain the code in one of to ways: \end_layout -\begin_layout Standard -\noindent -\begin_inset CommandInset href -LatexCommand href -target "http://www.dtcenter.org/upp/users/downloads/index.php" - -\end_inset - +\begin_layout Enumerate +The UPP package is now available on Github. + To create a local copy of the remote UPP repository on your computer and + get the CRTM submodules: +\series bold +\shape italic -\begin_inset VSpace 0.2in +\begin_inset VSpace 0.1in \end_inset \end_layout +\begin_deeper \begin_layout Standard -\noindent \series bold -\emph on -** Note -\series default -: Always obtain the latest version of the code if you are not trying to - continue a pre-existing project. +\shape italic +\begin_inset space \qquad{} +\end_inset + +git clone -b DTC_post --recurse-submodules https://github.com/NOAA-EMC/EMC_post + UPPV4.1 +\begin_inset VSpace 0.1in +\end_inset + + \end_layout \begin_layout Standard \noindent -\begin_inset VSpace 0.2in -\end_inset - -Once the +This will clone the \series bold -\emph on -tar +\shape slanted +DTC_post \series default -\emph default - file is obtained, +\shape default + branch of \series bold -\emph on -gunzip +\shape italic +EMC_post \series default -\emph default - and +\shape default + repository, community release version 4.1, into a directory called \series bold -\emph on -untar +\shape slanted +UPPV4.1 \series default -\emph default - the file. +\shape default +. + +\series bold +\shape italic + \begin_inset VSpace 0.1in \end_inset \end_layout -\begin_layout Standard - +\end_deeper +\begin_layout Enumerate +Download the release tarfile from the UPP website: \series bold -\emph on -tar –zxvf UPPV4.1.tar.gz -\series default -\emph default +\shape italic -\begin_inset VSpace 0.2in +\begin_inset VSpace 0.05in \end_inset \end_layout +\begin_deeper \begin_layout Standard -\noindent -This command will create a directory called +https://dtcenter.org/community-code/unified-post-processor-upp/download \series bold -\emph on -UPPV4.1 -\series default -\emph default -. -\end_layout +\shape italic + +\begin_inset VSpace 0.05in +\end_inset + -\begin_layout Subsection -UPP Directory Structure \end_layout \begin_layout Standard -Under the main directory of +Once the tar file is obtained, \series bold -\emph on -UPPV4.1 +\shape italic +gunzip \series default -\emph default - reside eleven subdirectories ( +\shape default + and \series bold \shape italic -* +untar \series default \shape default - indicates directories that are created after the configuration step): -\end_layout + the file. +\series bold +\shape italic -\begin_layout Standard \begin_inset VSpace 0.1in \end_inset @@ -502,15 +454,13 @@ UPPV4.1 \end_layout \begin_layout Standard -\noindent \series bold -docs -\series default -: Various documentation files -\end_layout +\shape italic +\begin_inset space \qquad{} +\end_inset -\begin_layout Standard +tar -xzvf UPPV4.1.tar.gz \begin_inset VSpace 0.1in \end_inset @@ -518,44 +468,67 @@ docs \end_layout \begin_layout Standard -\noindent - -\series bold -exec* -\series default -: Contains the +This command will create a directory called UPPV4.1. \series bold \shape italic -unipost -\series default -\shape default - executable after successful compilation + \begin_inset VSpace 0.1in \end_inset \end_layout +\end_deeper \begin_layout Standard -\noindent \series bold -include* +\shape italic +Note \series default -: Source include modules built/used during compilation of UPP -\begin_inset VSpace 0.1in +: Always obtain the latest version of the code if you are not trying to + continue a pre-existing project. +\end_layout + +\begin_layout Standard + +\series bold +\shape italic +\begin_inset VSpace 0.05in \end_inset \end_layout \begin_layout Standard -\noindent +\align center + +\series bold +\shape slanted +The remainder of this documentation assumes the top directory of the UPP + is called UPPV4.1 +\end_layout + +\begin_layout Subsection +UPP Directory Structure +\end_layout +\begin_layout Standard +Under the main directory of +\series bold +\emph on +UPPV4.1 +\series default +\emph default + reside the following relevant subdirectories ( \series bold -jobs +\shape italic +* \series default -: +\shape default + indicates directories that are created after the configuration step): +\end_layout + +\begin_layout Standard \begin_inset VSpace 0.1in \end_inset @@ -566,9 +539,15 @@ jobs \noindent \series bold -lib* +exec* +\series default +: Contains the +\series bold +\shape italic +unipost \series default -: Libraries built/used by UPP that aren't in NCEPlibs +\shape default + executable after successful compilation \begin_inset VSpace 0.1in \end_inset @@ -579,9 +558,9 @@ lib* \noindent \series bold -manage_externals +include* \series default -: +: Source include modules built/used during compilation of UPP \begin_inset VSpace 0.1in \end_inset @@ -592,9 +571,9 @@ manage_externals \noindent \series bold -modulefiles +lib* \series default -: +: Libraries built/used by UPP that are separate from NCEPlibs \begin_inset VSpace 0.1in \end_inset @@ -607,7 +586,7 @@ modulefiles \series bold parm \series default -: Contains the parameter files, which can be modified by the user to control +: Contains parameter files, which can be modified by the user to control how the post processing is performed. \begin_inset VSpace 0.1in \end_inset @@ -802,30 +781,6 @@ arch \begin_layout Itemize \noindent -\series bold -ndate -\series default -: Source code for -\series bold -\emph on -ndate -\end_layout - -\begin_layout Itemize -\noindent - -\series bold -ncep_post.fd -\series default -: Source code for -\series bold -\emph on -unipost -\end_layout - -\begin_layout Itemize -\noindent - \series bold comlib \series default @@ -891,21 +846,24 @@ xml \end_layout \end_deeper -\begin_layout Standard +\begin_layout Itemize \noindent -\begin_inset VSpace 0.1in -\end_inset - +\series bold +ncep_post.fd +\series default +: Source code for +\series bold +\emph on +unipost \end_layout \begin_layout Standard \noindent +\begin_inset VSpace 0.1in +\end_inset + -\series bold -ush -\series default -: \end_layout \begin_layout Subsection @@ -1010,6 +968,15 @@ Type configure, and provide the required info. \begin_layout Standard \noindent You will be given a list of choices for your computer. +\end_layout + +\begin_layout Standard +\noindent + +\series bold +(Please note that at this time, the option to build serially does not work) +\series default + \begin_inset VSpace 0.1in \end_inset @@ -1077,7 +1044,15 @@ Choices for LINUX operating systems are as follows: \begin_layout Standard \noindent -Choose one of the configure options listed. +Choose one of the +\series bold +\shape slanted +dmpar +\series default +\shape default + configure options listed. + If the serial option is chosen during configuration, an error staement + will be printed. Check the \series bold \emph on @@ -1210,20 +1185,18 @@ clean –a \begin_layout Standard \noindent + +\shape italic Note: For building UPPV4.1 on operational NCEP machines (hera/jet/wcoss), just type \series bold -\shape italic ./compile machine_name \series default -\shape default (e.g. \series bold -\shape italic ./compile hera \series default -\shape default ). This is an option for UPPV4.1 only and will not work for any previous release versions. @@ -1258,7 +1231,7 @@ can ingest WRF history files (wrfout*) in netCDF format. \begin_layout Itemize \noindent -can ingest FV3 history files (dyn*/phy* or gfs*) in binarynemsio format. +can ingest FV3 history files (dyn*/phy* or gfs*) in binarynemsiompiio format. \begin_inset VSpace 0.1in \end_inset @@ -1427,17 +1400,12 @@ UPP is written to process a single forecast hour, therefore, having a single UPP Control File Overview \end_layout -\begin_layout Subsection -GRIB1 control file -\end_layout - \begin_layout Standard - -\series bold -\emph on -Note -\series default -: This section pertains to outputting GRIB1 format only. +\noindent +The user interacts with unipost through the control file by specifying the + fields and levels desired for output. + These files are different depending on whether GRIB1 or GRIB2 output is + requested. \begin_inset VSpace 0.1in \end_inset @@ -1446,24 +1414,22 @@ Note \begin_layout Standard \noindent -The user interacts with unipost through the control file, -\series bold -\emph on -parm/wrf_cntrl.parm -\series default -\emph default - for WRF runs. -\begin_inset VSpace 0.1in -\end_inset - +Each control file is composed of a header and a body. + The header specifies the output file information. + The body allows the user to select which fields and levels to process. +\end_layout +\begin_layout Subsection +GRIB1 control file \end_layout \begin_layout Standard -\noindent -The control file is composed of a header and a body. - The header specifies the output file information. - The body allows the user to select which fields and levels to process. + +\series bold +\emph on +Note +\series default +: This section pertains to outputting GRIB1 format (WRF only). \begin_inset VSpace 0.1in \end_inset @@ -1475,7 +1441,7 @@ The control file is composed of a header and a body. The header of the \series bold \emph on -wrf_cntrl.parm +parm/wrf_cntrl.parm \series default \emph default file contains the following variables: @@ -1603,133 +1569,8 @@ The second line specifies the levels on which the variable is to be posted. AGL and 1 requests MSL. \end_layout -\begin_layout Subsubsection -Controlling which variables unipost outputs -\end_layout - -\begin_layout Standard -To output a field, the body of the control file needs to contain an entry - for the appropriate variable and output for this variable must be turned - on for at least one level (see next section: " -\emph on -Controlling which levels unipost outputs -\emph default -"). - If an entry for a particular field is not yet available in the control - file, two lines may be added to the control file with the appropriate entries - for that field. -\end_layout - -\begin_layout Subsubsection -Controlling which levels unipost outputs -\end_layout - \begin_layout Standard -The second line of each pair determines which levels unipost will output. - Output on a given level is turned off by a “0” or turned on by a “1”. -\end_layout - -\begin_layout Itemize -For isobaric output, 46 levels are possible, from 2 to 1000 hPa ( -\emph on -2, 5, 7, 10, 20, 30, 50, 70 mb and then every 25 mb from 75 to 1000 mb -\emph default -). - The complete list of levels is specified in -\series bold -\emph on -sorc/ncep_post.fd/CTLBLK.f -\series default -\emph default -. -\end_layout - -\begin_deeper -\begin_layout Itemize -Modify specification of variable LSMDEF to change the number of pressure - levels: LSMDEF=47 -\end_layout - -\begin_layout Itemize -Modify specification of SPLDEF array to change the values of pressure levels: - (/200.,500.,700.,1000.,2000.,3000. - &,5000.,7000.,7500.,10000.,12500.,15000.,17500.,20000., …/) -\end_layout - -\end_deeper -\begin_layout Itemize -For model-level output, all model levels are possible, from the highest - to the lowest. -\end_layout - -\begin_layout Itemize -When using the Noah LSM, the soil layers are 0-10 cm, 10-40 cm, 40-100 cm, - and 100-200 cm. -\end_layout - -\begin_layout Itemize -When using the RUC LSM, the soil levels are 0 cm, 1 cm, 4 cm, 10 cm, 30 - cm, 60 cm, 100 cm, 160 cm, and 300 cm. - For the RUC LSM, it is also necessary to turn on five additional output - levels in the -\series bold -\emph on -wrf_cntrl.parm -\series default -\emph default - to output 9 instead of 4. - (For the old RUC LSM, there are only 6 layers and if using this, you will - need to change -\begin_inset Quotes eld -\end_inset - -RUC LSM -\begin_inset Quotes erd -\end_inset - - from 9 to 6 in the WRFPOST.f routine.) -\end_layout - -\begin_layout Itemize -When using Pliem-Xiu LSM, there are two layers: 0-1 cm, 1-100 cm -\end_layout - -\begin_layout Itemize -For low, mid, and high cloud layers, the layers are -\begin_inset Formula $\geq$ -\end_inset - -642 hPa, -\begin_inset Formula $\geq$ -\end_inset - -350 hPa, and <350 hPa, respectively. -\end_layout - -\begin_layout Itemize -For PBL layer averages, the levels correspond to 6 layers with a thickness - of 30 hPa each. -\end_layout - -\begin_layout Itemize -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. -\end_layout - -\begin_layout Itemize -For AGL radar reflectivity, the levels are 4000 and 1000 m (see Appendix - A for details). -\end_layout - -\begin_layout Itemize -For surface or shelter-level output, only the first position of the line - needs to be turned on. -\end_layout - -\begin_deeper -\begin_layout Itemize -For example, the sample control file +Example: The sample control file \series bold \emph on parm/wrf_cntrl.parm @@ -1742,7 +1583,6 @@ parm/wrf_cntrl.parm \end_layout -\begin_deeper \begin_layout Standard (SURFACE DEWPOINT ) SCAL=( 4.0) \end_layout @@ -1775,8 +1615,6 @@ L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000) \end_layout -\end_deeper -\end_deeper \begin_layout Subsection GRIB2 control file \end_layout @@ -1803,7 +1641,7 @@ For outputting GRIB2 format, a preprocessing step is required by the user to convert the xml file \series bold \emph on -parm/postcntrl_comupp.xml +parm/postcntrl.xml \series default \emph default to a flat text file @@ -1814,13 +1652,101 @@ postxconfig-NT.txt \emph default . This new flat file is quicker to process than the old xml file. - The user will need to edit the + First, the user will need to edit the +\series bold +\emph on +postcntrl.xml +\series default +\emph default + file to declare which fields and levels are to be output from unipost. +\begin_inset VSpace 0.1in +\end_inset + +The header of the +\series bold +\shape italic +parm/postcntrl.xml +\series default +\shape default + includes a number of variables describing the output file information. + Of particular interest is the parameter which specifies the prefix + for the output filename. +\end_layout + +\begin_layout Standard +\noindent +\begin_inset VSpace 0.1in +\end_inset + +The body of the \series bold \emph on -postcntrl_comupp.xml +postcntrl.xml \series default \emph default - file to declare which fields are to be output from UPP. + file is composed of a series of parameter blocks similar to the following: +\end_layout + +\begin_layout Standard +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard + +\end_layout + +\begin_layout Standard +TMP_ON_ISOBARIC_SFC +\end_layout + +\begin_layout Standard +TMP +\end_layout + +\begin_layout Standard +10000. + 25000. + 50000. + 70000. + 85000. + 100000. +\end_layout + +\begin_layout Standard +3.0 +\end_layout + +\begin_layout Standard + +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +where, +\end_layout + +\begin_layout Itemize +The is the character name describing the product or field. +\end_layout + +\begin_layout Itemize +The is the field type abbreviation used by the grib2 libraries. +\end_layout + +\begin_layout Itemize +The is a list of levels desired to be output (included only for + fields available on vertical coordinate levels). +\end_layout + +\begin_layout Itemize +The indicates the the grib precison packing. \end_layout \begin_layout Standard @@ -1832,8 +1758,8 @@ postcntrl_comupp.xml \begin_layout Standard \noindent -In order to ensure that the user-edited xml files are error free, XML stylesheet -s ( +As an optional step to ensure that the user-edited xml files are error free, + XML stylesheets ( \series bold \emph on parm/EMC_POST_CTRL_Schema.xsd @@ -1845,16 +1771,16 @@ parm/EMC_POST_CTRL_Schema.xsd EMC_POST_Avblflds_Schema.xsd \series default \emph default -) are used to validate both the +) can be used to validate both the \series bold \emph on -postcntrl_comupp.xml +postcntrl.xml \series default \emph default and \series bold \emph on -post_avblflds_comupp.xml +post_avblflds.xml \series default \emph default files, respectively. @@ -1872,14 +1798,14 @@ post_avblflds_comupp.xml \series bold \emph on -xmllint --noout --schema EMC_POST_CTRL_Schema.xsd postcntrl_comupp.xml +xmllint --noout --schema EMC_POST_CTRL_Schema.xsd postcntrl.xml \end_layout \begin_layout Standard \series bold \emph on -xmllint --noout --schema EMC_POST_Avblflds_Schema.xsd post_avblflds_comupp.xml +xmllint --noout --schema EMC_POST_Avblflds_Schema.xsd post_avblflds.xml \series default \emph default @@ -1924,33 +1850,148 @@ postxconfig-NT.txt \series bold \emph on make -\series default -\emph default - -\begin_inset VSpace 0.1in -\end_inset - +\end_layout +\begin_layout Subsection +Controlling which variables unipost outputs \end_layout \begin_layout Standard -\noindent - -\series bold +To output a field, the body of the control file needs to contain an entry + for the appropriate variable and output for this variable must be turned + on for at least one level (see next section: " \emph on -Note -\series default -: The new flat file can only be used for running version 3.1 and onward and - is not backwards compatible with version 3.0. +Controlling which levels unipost outputs +\emph default +"). + If an entry for a particular field is not yet available in the control + file, a section may be added to the control file with the appropriate entries + for that field. \end_layout -\begin_layout Section -Running UPP +\begin_layout Subsection +Controlling which levels unipost outputs \end_layout \begin_layout Standard -Seven scripts for running the UPP package are included in the tar file: -\end_layout +The second line of each pair determines which levels unipost will output. + For GRIB1, output on a given level is turned off by a “0” or turned on + by a “1” in the +\series bold +\shape italic +wrf_cntrl.parm +\series default +\shape default +. + For GRIB2, the desired levels are listed in the list in the +\series bold +\shape italic +postcntrl.xml +\series default +\shape default +. + +\end_layout + +\begin_layout Itemize +For isobaric output, 46 levels are possible, from 2 to 1000 hPa ( +\emph on +2, 5, 7, 10, 20, 30, 50, 70 mb and then every 25 mb from 75 to 1000 mb +\emph default +). + The complete list of levels is specified in +\series bold +\emph on +sorc/ncep_post.fd/CTLBLK.f +\series default +\emph default +. +\end_layout + +\begin_deeper +\begin_layout Itemize +Modify specification of variable LSMDEF to change the number of pressure + levels: LSMDEF=47 +\end_layout + +\begin_layout Itemize +Modify specification of SPLDEF array to change the values of pressure levels: + (/200.,500.,700.,1000.,2000.,3000. + &,5000.,7000.,7500.,10000.,12500.,15000.,17500.,20000., …/) +\end_layout + +\end_deeper +\begin_layout Itemize +For model-level output, all model levels are possible, from the highest + to the lowest. +\end_layout + +\begin_layout Itemize +When using the Noah LSM, the soil layers are 0-10 cm, 10-40 cm, 40-100 cm, + and 100-200 cm. +\end_layout + +\begin_layout Itemize +When using the RUC LSM, the soil levels are 0 cm, 1 cm, 4 cm, 10 cm, 30 + cm, 60 cm, 100 cm, 160 cm, and 300 cm. + For the RUC LSM, it is also necessary to include the five additional output + levels in the relevant control file to output 9 instead of 4 levels. + (For the old RUC LSM, there are only 6 layers and if using this, you will + need to change +\begin_inset Quotes eld +\end_inset + +RUC LSM +\begin_inset Quotes erd +\end_inset + + from 9 to 6 in the WRFPOST.f routine.) +\end_layout + +\begin_layout Itemize +When using Pliem-Xiu LSM, there are two layers: 0-1 cm, 1-100 cm +\end_layout + +\begin_layout Itemize +For low, mid, and high cloud layers, the layers are +\begin_inset Formula $\geq$ +\end_inset + +642 hPa, +\begin_inset Formula $\geq$ +\end_inset + +350 hPa, and <350 hPa, respectively. +\end_layout + +\begin_layout Itemize +For PBL layer averages, the levels correspond to 6 layers with a thickness + of 30 hPa each. +\end_layout + +\begin_layout Itemize +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. +\end_layout + +\begin_layout Itemize +For AGL radar reflectivity, the levels are 4000 and 1000 m (see Appendix + A for details). +\end_layout + +\begin_layout Itemize +For surface or shelter-level output, only the first position of the line + needs to be turned on. +\end_layout + +\begin_layout Section +Running UPP +\end_layout + +\begin_layout Standard +Seven scripts for running the UPP package are included in the tar file: +\end_layout \begin_layout Standard @@ -2031,6 +2072,7 @@ DOMAINPATH \series default \emph default directory. + This is your working directory for the run. \end_layout \begin_layout Enumerate @@ -2086,26 +2128,19 @@ UPPV4.1/parm/wrf_cntrl.parm \end_layout \begin_layout Standard -For Grib2, copy a template -\series bold -\emph on -UPPV3.0/parm/postcntrl_comupp.xml -\series default -\emph default - if using v3.0 or +For Grib2, copy the default \series bold \emph on UPPV4.1/parm/postxconfig-NT-WRF.txt \series default \emph default - if using v3.1+. - For v4.1, a template + for WRF or \series bold \emph on UPPV4.1/parm/postxconfig-NT-GFS.txt \series default \shape italic - for FV3 can be used. + for FV3. \end_layout \end_deeper @@ -2124,16 +2159,16 @@ wrf_cntrl.parm For Grib2, edit the \series bold \emph on -postcntrl_comupp.xml +postcntrl.xml \series default \emph default - file for v3.0 or the + file and re-make the \series bold \emph on postxconfig-NT.txt \series default \emph default - file for v3.1+. + file. \end_layout \end_deeper @@ -2192,8 +2227,7 @@ scripts/ \begin_layout Standard \noindent -Since V3.0, user modified variables are now all contained at the top of the - +All user modified variables are contained at the top of the \series bold \emph on run_unipost* @@ -2304,13 +2338,13 @@ wrfprd/ paramFile \series default \emph default - : Name and location of cntrl.parm ( + : Name and location of grib1 control file ( \series bold \emph on wrf_cntrl.parm \series default \emph default -) text file that lists desired fields for GRIB1 output. +) that lists desired fields for GRIB1 output. Template in \series bold \emph on @@ -2330,7 +2364,7 @@ txtCntrlFile postxconfig-NT.txt \series default \emph default - file that lists desired fields for GRIB2 format for version 3.1+. + file that lists desired fields for GRIB2 format. This file is generated by the user following the steps listed above in the GRIB2 Control File section. \begin_inset VSpace 0.1in @@ -2362,15 +2396,11 @@ wrfprd/ \series bold wrf_cntrl.parm \series default - ( -\series bold -postcntrl.xml -\series default - or + (Grib1) or \series bold postxconfig-NT.txt \series default -) file to be in + (Grib2) file to be in \series bold parm/ \series default @@ -2383,7 +2413,7 @@ postprd/ DOMAINPATH \series default . - A similar sctructure, based on user-defined paths, is expected for FV3. + A similar sctructure is expected for FV3. \begin_inset VSpace 0.1in \end_inset @@ -2472,7 +2502,7 @@ outFormat \length 0.8in \end_inset -grib +grib (WRF only) \end_layout \begin_layout Standard @@ -2579,7 +2609,7 @@ domain_list \noindent Set/uncomment the run command for your system. (i.e. - serial, mpirun, etc). + serial, mpirun, etc).Need to add how to obtain the code via github download \end_layout \begin_deeper @@ -2796,6 +2826,10 @@ Dynamic core used (NCAR or GFS). Name of the FV3 (surface) output file to be post-processed. \end_layout +\begin_layout Enumerate +Name of Grib2 control file (postxconfig-NT.txt) +\end_layout + \begin_layout Standard \series bold @@ -2804,7 +2838,7 @@ Note \series default : If the third line (i.e., UPP output type) is not set, UPP will default the output file format to “grib1”. - This is only for WRF since UPP output for FV3 only supports GRIB2. + Please note that output for FV3 only supports GRIB2. \begin_inset VSpace 0.1in \end_inset @@ -2919,6 +2953,20 @@ nn hh \emph default ” is the forecast hour, may be consulted for further information. +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +Note: FV3 output is on a Guassian grid. + To interpolate to a lat/lon or other projection, use wgrib2 (see +\shape italic +Examples of wgrib2 +\shape default + below). \end_layout \begin_layout Section @@ -2936,6 +2984,9 @@ target "http://www.nco.ncep.noaa.gov/pmb/docs/on388/tableb.html" \end_inset ). + It is a flexible program that can accept several command line options specifyin +g details of how the horizontal interpolation from the native grid to the + output grid should be performed. Output from copygb is in NWS and WMO standard GRIB1 format (for GRIB documentat ion, see \begin_inset CommandInset href @@ -2945,262 +2996,36 @@ target "http://www.nco.ncep.noaa.gov/pmb/docs/" \end_inset ). -\end_layout - -\begin_layout Standard -\begin_inset VSpace 0.05in -\end_inset - -Sample command line for calling copygb: -\begin_inset VSpace 0.05in -\end_inset - - -\end_layout - -\begin_layout Standard - -\series bold -\emph on -\begin_inset space \hspace{} -\length 0.25in -\end_inset - -copygb.exe –xg“grid [kgds]” input_file output_file -\begin_inset VSpace 0.05in -\end_inset - - -\end_layout - -\begin_layout Standard -where -\series bold -\emph on -grid -\series default -\emph default - refers to the output grid to which the native forecast is being interpolated. -\begin_inset VSpace 0.2in -\end_inset - - -\end_layout - -\begin_layout Standard -\noindent -The output grid can be specified in three ways: -\end_layout - -\begin_layout Enumerate -As the grid id of a pre-defined AWIPS grid number (gridno): -\end_layout - -\begin_deeper -\begin_layout Standard - -\series bold -\emph on -\begin_inset space \hspace{} -\length 0.25in -\end_inset - -copygb.exe -g${gridno} -x input_file output_file -\end_layout - -\begin_layout Standard -For example, using grid 218: -\end_layout - -\begin_layout Standard - -\series bold -\emph on -\begin_inset space \hspace{} -\length 0.25in +\begin_inset VSpace 0.1in \end_inset -copygb.exe -xg“218” WRFPRS_$domain.${fhr} wrfprs_$domain .${fhr} +Copygb is available on Github and can be obtained by cloning the repository: \begin_inset VSpace 0.1in \end_inset \end_layout -\end_deeper -\begin_layout Enumerate -As a user defined standard grid, such as for grid 255: -\end_layout - -\begin_deeper \begin_layout Standard -\begin_inset space \hspace{} -\length 0.25in -\end_inset - \series bold -\emph on -copygb.exe –xg“255 kgds” input_file output_file -\end_layout - -\begin_layout Standard -where the user defined grid is specified by a full set of kgds parameters - determining a GRIB GDS (grid description section) in the -\series bold -\emph on -W3fi63 -\series default -\emph default - format. - Details on how to specify the kgds parameters are documented in file -\series bold -\emph on -lib/w3lib/w3fi71.f +\shape italic +git clone https://github.com/NCAR/copygb \series default -\emph default -. - For example: -\end_layout - -\begin_layout Standard -\begin_inset space \hspace{} -\length 0.25in -\end_inset - +\shape default -\series bold -\emph on -copygb.exe -xg“ 255 3 109 91 37719 -77645 8 -71000 10433 9966 0 64 42000 - 42000” WRFPRS_$domain.${fhr} wrfprs_$domain.${fhr} \begin_inset VSpace 0.1in \end_inset - -\end_layout - -\end_deeper -\begin_layout Enumerate -From a file: When WRF-ARW output is processed by -\series bold -\emph on -unipost -\series default -\emph default -, a text file, -\series bold -\emph on -copygb_hwrf.txt -\series default -\emph default -, is created. - This file contains the GRID GDS of a lat/lon grid similar in domain and - grid spacing to the one used to run the WRF-ARW model. - The contents of this file can be read into the variable -\begin_inset Quotes eld -\end_inset - -nav -\begin_inset Quotes erd -\end_inset - - and can be used as input to -\series bold -\emph on -copygb.exe -\series default -\emph default -. -\end_layout - -\begin_deeper -\begin_layout Standard -\begin_inset space \hspace{} -\length 0.25in -\end_inset - - -\series bold -\emph on -copygb.exe -xg“$nav” input_file output_file -\end_layout - -\begin_layout Standard -For example, when using “ +This will create a local repository called copygb. + Instructions on how to build copygb, along with examples for running the + executable can be found in the \series bold -\emph on -copygb_hwrf.txt +\shape italic +README \series default -\emph default -” for an application, the steps include: -\end_layout - -\begin_layout Standard -\begin_inset space \hspace{} -\length 0.25in -\end_inset - - -\series bold -\emph on -read nav < 'copygb_hwrf.txt' -\end_layout - -\begin_layout Standard - -\series bold -\emph on -\begin_inset space \hspace{} -\length 0.25in -\end_inset - -export nav -\end_layout - -\begin_layout Standard - -\series bold -\emph on -\begin_inset space \hspace{} -\length 0.25in -\end_inset - -copygb.exe -xg"${nav}" WRFPRS_$domain.${fhr} -\end_layout - -\begin_layout Standard - -\series bold -\emph on -\begin_inset space \hspace{} -\length 0.25in -\end_inset - -wrfprs_$domain.${fhr} -\begin_inset VSpace 0.1in -\end_inset - - -\end_layout - -\end_deeper -\begin_layout Standard -\noindent -It should be noted that copygb is a flexible program that can accept several - command line options specifying details of how the horizontal interpolation - from the native grid to the output grid should be performed. - Complete documentation of copygb can be found at: -\end_layout - -\begin_layout Standard -\noindent -\begin_inset CommandInset href -LatexCommand href -target "http://www.dtcenter.org/met/users/support/online_tutorial/METv5.0/copygb/copygb.txt" - -\end_inset - - +\shape default + document. \end_layout \begin_layout Section @@ -3217,8 +3042,8 @@ Wgrib2 is a versatile program that has the ability to convert grib2 files from one grid to another for various user-defined grids as well as pre-defined NCEP grids. - Complete documentation with examples of re-gridding for all available grid - definitions can be found at: + Complete documentation on grid specification with examples of re-gridding + for all available grid definitions can be found at: \end_layout \begin_layout Standard @@ -3238,164 +3063,128 @@ target "http://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/new_grid.html." \begin_layout Standard \noindent -Sample command line usage for calling wgrib2: -\begin_inset VSpace 0.05in -\end_inset - - +Since unipost output from FV3GFS is on a Gaussian grid, wgrib2 can be used + for interpolation to a lat-lon, or other user defined grid. + An example of how operations uses wgrib2 to interpolate to a lat-lon grid + is given below. \end_layout \begin_layout Standard - -\series bold -\emph on -\begin_inset space \hspace{} -\length 0.25in -\end_inset - -wgrib2 –new_grid_winds W –new_grid A B C outfile \begin_inset VSpace 0.1in \end_inset -\end_layout +\shape italic +wgrib2 INPUT_FILE -set_grib_type same -new_grid_winds earth +\backslash -\begin_layout Standard -Where, \end_layout \begin_layout Standard -\series bold -\emph on -W -\series default -\emph default - = earth or grid +\shape italic +-new_grid_interpolation bilinear +\backslash + \end_layout \begin_layout Standard -\begin_inset space \hspace{} -\length 0.25in -\end_inset -earth: winds oriented to the earth’s north and south directions +\shape italic +-if ":(CRAIN|CICEP|CFRZR|CSNOW|ICSEV):" -new_grid_interpolation neighbor + -fi +\backslash + \end_layout \begin_layout Standard -\begin_inset space \hspace{} -\length 0.25in -\end_inset -grid: winds are rotated so that north is relative to the grid +\shape italic +-set_bitmap 1 -set_grib_max_bits 16 +\backslash + \end_layout \begin_layout Standard -\series bold -\emph on -A -\series default -\emph default -, -\series bold -\emph on -B -\series default -\emph default -, and -\series bold -\emph on -C -\series default -\emph default - represent the output grid description -\begin_inset VSpace 0.1in -\end_inset - +\shape italic +-if ":(APCP|ACPCP|PRATE|CPRAT):" -set_grib_max_bits 25 -fi +\backslash \end_layout \begin_layout Standard -Sample lat-lon grid description: -\end_layout -\begin_layout Standard +\shape italic +-if ":(APCP|ACPCP|PRATE|CPRAT|DZDT):" -new_grid_interpolation budget -fi + +\backslash -\series bold -\emph on -A -\series default -\emph default - = latlon \end_layout \begin_layout Standard -\series bold -\emph on -B -\series default -\emph default - = lon0:nlon:dlon +\shape italic +-new_grid "latlon 0:1440:0.25 90:721:-0.25" OUTPUT_FILE_0p25 \end_layout \begin_layout Standard -\begin_inset space \hspace{} -\length 0.25in +\begin_inset VSpace 0.1in \end_inset -lon0 is longitude of first grid point in degrees + \end_layout \begin_layout Standard -\begin_inset space \hspace{} -\length 0.25in +\noindent +where, +\begin_inset VSpace 0.1in \end_inset -nlon is number of longitudes + \end_layout \begin_layout Standard -\begin_inset space \hspace{} -\length 0.25in -\end_inset - -dlon is grid resolution in degrees of longitude +\noindent +Line 1: Define the input file name, set the same grib packing as input file, + and define the wind orientation to be relative to the earth (U-wind eastward, + V-wind northward) \end_layout \begin_layout Standard - -\series bold -\emph on -C -\series default -\emph default - = lat0:nlat:dlat +\noindent +Line 2: Use a bilinear interpolation method for most variables (default + method) \end_layout \begin_layout Standard -\begin_inset space \hspace{} -\length 0.25in -\end_inset +\noindent +Line 3: Use nearest neighbor interpolation method for the specified variables +\end_layout -lat0 is latitude of first grid point +\begin_layout Standard +\noindent +Line 4: Use bitmap for complex packing and set scaling to not exceed a set + number of bits \end_layout \begin_layout Standard -\begin_inset space \hspace{} -\length 0.25in -\end_inset +\noindent +Line 5: Same as line 4, but different settings for specific variables +\end_layout -nlat is number of latitudes +\begin_layout Standard +\noindent +Line 6: Use the budget interpolation method for the specified variables \end_layout \begin_layout Standard -\begin_inset space \hspace{} -\length 0.25in -\end_inset +\noindent +Line 7: Define the grid specifications for an example 0.25 degree lat-lon + grid, and define the output file name +\end_layout -dlat is grid resolution in degrees of latitude +\begin_layout Standard \begin_inset VSpace 0.1in \end_inset @@ -3403,12 +3192,13 @@ dlat is grid resolution in degrees of latitude \end_layout \begin_layout Standard +\noindent \series bold \emph on Note: \series default - At this time, wgrib2 is not distributed within the UPP tar file. + At this time, wgrib2 is not distributed within the UPP. Users may download and install from \begin_inset CommandInset href LatexCommand href @@ -6533,7 +6323,7 @@ For referencing this document please use: \begin_layout Standard \noindent -UPP Users’ Guide V4.1, 24 pp. +UPP Users’ Guide V4.1, 23 pp. [available online at http://www.dtcenter.org/upp/users/docs/user_guide/V4.1/upp_us ers_guide.pdf ] \end_layout From 5e29c9a43cce9bfa007960ced4c1e5dcd1d2d335 Mon Sep 17 00:00:00 2001 From: Tracy Date: Tue, 10 Mar 2020 14:12:52 -0600 Subject: [PATCH 4/4] Updates to v4.1 UG --- docs/UPP_Users_guide_V4.1.lyx | 154 +++++++++++++++++++++------------- 1 file changed, 95 insertions(+), 59 deletions(-) diff --git a/docs/UPP_Users_guide_V4.1.lyx b/docs/UPP_Users_guide_V4.1.lyx index b0efc344d..b304c5157 100644 --- a/docs/UPP_Users_guide_V4.1.lyx +++ b/docs/UPP_Users_guide_V4.1.lyx @@ -148,7 +148,7 @@ The adaptation of the original WRF Post Processor package and User’s Guide Post Processor was performed by Nicole McKee (NCEP/EMC), Hui-ya Chuang (NCEP/EMC), and Jamie Wolff (NCAR/RAL/DTC). Implementation of the Community Unified Post Processor was performed by - Tricia Slovacek and Kate Fossell (NCAR/RAL/DTC). + Tricia Slovacek, Kate Fossell, and Tracy Hertneky (NCAR/RAL/DTC). \end_layout \begin_layout Standard @@ -204,18 +204,6 @@ UPP incorporates the Joint Center for Satellite Data Assimilation (JCSDA) This additional feature enables the generation of a number of simulated satellite products including GOES and AMSRE products for WRF-NMM, Hurricane WRF (HWRF), WRF-ARW and GFS. - For CRTM documentation, refer to: -\end_layout - -\begin_layout Standard -\noindent -\begin_inset CommandInset href -LatexCommand href -target "http://www.dtcenter.org/upp/users/docs/user_guide/crtm_ug/CRTM_User_Guide.pdf" - -\end_inset - -. \end_layout \begin_layout Section @@ -272,6 +260,16 @@ For instructions on building the NCEP libraries required for UPP, please refer to the README document in the NCEPlibs directory. \end_layout +\begin_layout Standard + +\series bold +\shape italic +Note +\series default +: These are specific versions of the NCEP libraries maintained by NCAR/DTC + and other versions of NCEPlibs may not work. +\end_layout + \end_deeper \begin_layout Standard \noindent @@ -367,8 +365,15 @@ The UPP package is now available on Github. \begin_inset space \qquad{} \end_inset -git clone -b DTC_post --recurse-submodules https://github.com/NOAA-EMC/EMC_post - UPPV4.1 +git clone -b +\begin_inset Quotes eld +\end_inset + +release-tag-name +\begin_inset Quotes erd +\end_inset + + --recurse-submodules https://github.com/NOAA-EMC/EMC_post UPPV4.1 \begin_inset VSpace 0.1in \end_inset @@ -376,20 +381,42 @@ git clone -b DTC_post --recurse-submodules https://github.com/NOAA-EMC/EMC_post \end_layout \begin_layout Standard -\noindent -This will clone the -\series bold -\shape slanted -DTC_post -\series default +where, +\begin_inset Quotes eld +\end_inset + + +\shape italic +release-tag-name \shape default - branch of + +\begin_inset Quotes erd +\end_inset + + is the release tag you wish to clone (e.g. + for UPPV4.1 use the release tag v4.1.0). +\end_layout + +\end_deeper +\begin_layout Standard + +\series bold +\shape italic +\begin_inset VSpace 0.1in +\end_inset + + +\end_layout + +\begin_layout Standard +\noindent +This will clone the specified release of the \series bold \shape italic EMC_post \series default \shape default - repository, community release version 4.1, into a directory called + repository into a directory called \series bold \shape slanted UPPV4.1 @@ -406,7 +433,6 @@ UPPV4.1 \end_layout -\end_deeper \begin_layout Enumerate Download the release tarfile from the UPP website: \series bold @@ -1231,7 +1257,8 @@ can ingest WRF history files (wrfout*) in netCDF format. \begin_layout Itemize \noindent -can ingest FV3 history files (dyn*/phy* or gfs*) in binarynemsiompiio format. +can ingest FV3 history files (e.g. + dyn*/phy* or gfs*) in binarynemsiompiio and netCDF format. \begin_inset VSpace 0.1in \end_inset @@ -1267,16 +1294,16 @@ unipost is provided for \begin_inset CommandInset href LatexCommand href -name "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB1_Table.pdf" -target "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB1_Table.pdf" +name "GRIB1" +target "https://dtcenter.org/sites/default/files/community-code/upp-grib1-table_2.pdf" \end_inset and \begin_inset CommandInset href LatexCommand href -name "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB2_Table.pdf" -target "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB2_Table.pdf" +name "GRIB2" +target "https://dtcenter.org/sites/default/files/community-code/upp-grib2-table_0.pdf" \end_inset @@ -1541,11 +1568,11 @@ A list of all possible output fields for unipost \series default \emph default - is provided in the GRIB1 output table + is provided in the \begin_inset CommandInset href LatexCommand href -name "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB1_Table.pdf" -target "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB1_Table.pdf" +name "GRIB1 ouput table" +target "https://dtcenter.org/sites/default/files/community-code/upp-grib1-table_2.pdf" \end_inset @@ -1741,8 +1768,8 @@ The is the field type abbreviation used by the grib2 libraries. \end_layout \begin_layout Itemize -The is a list of levels desired to be output (included only for - fields available on vertical coordinate levels). +The is a list of levels desired to be oUPP_Users_guide_V4.1.lyxutput + (included only for fields available on vertical coordinate levels). \end_layout \begin_layout Itemize @@ -2483,7 +2510,7 @@ arw – “netcdf” \length 0.8in \end_inset -fv3 – “binarynemsiompiio” +fv3 – “binarynemsiompiio or netcdf” \end_layout \begin_layout Standard @@ -2803,7 +2830,7 @@ Name of the WRF or FV3 (pressure level) output file to be posted. \begin_layout Enumerate \noindent -Format of WRF or FV3 model output (netcdf, binarynemsio). +Format of WRF or FV3 model output (netcdf, binarynemsiompiio). \end_layout \begin_layout Enumerate @@ -3011,9 +3038,10 @@ Copygb is available on Github and can be obtained by cloning the repository: \series bold \shape italic git clone https://github.com/NCAR/copygb -\series default -\shape default +\end_layout +\begin_layout Standard +\noindent \begin_inset VSpace 0.1in \end_inset @@ -3050,7 +3078,7 @@ Wgrib2 \noindent \begin_inset CommandInset href LatexCommand href -target "http://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/new_grid.html." +target "https://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/new_grid.html" \end_inset @@ -3327,7 +3355,7 @@ This script can be modified to customize fields for output. \noindent \begin_inset CommandInset href LatexCommand href -target "http://www.unidata.ucar.edu/software/gempak/help_and_documentation/manual/" +target "https://www.unidata.ucar.edu/software/gempak/#doc" \end_inset @@ -3639,7 +3667,7 @@ Grib1 Table: \begin_layout Standard \begin_inset CommandInset href LatexCommand href -target "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB1_Table.pdf" +target "https://dtcenter.org/sites/default/files/community-code/upp-grib1-table_2.pdf" \end_inset @@ -3671,7 +3699,7 @@ Grib2 Table: \begin_layout Standard \begin_inset CommandInset href LatexCommand href -target "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB2_Table.pdf" +target "https://dtcenter.org/sites/default/files/community-code/upp-grib2-table_0.pdf" \end_inset @@ -3703,7 +3731,7 @@ Grib2 Table (Extended): \begin_layout Standard \begin_inset CommandInset href LatexCommand href -target "https://dtcenter.org/upp/users/docs/tables/UPP_GRIB2_Extended_Table.pdf" +target "https://dtcenter.org/sites/default/files/community-code/upp-grib2-extended-table_1.pdf" \end_inset @@ -3726,6 +3754,22 @@ unipost fields for GRIB2. \end_layout +\begin_layout Section +External References +\end_layout + +\begin_layout Standard +\noindent +For CRTM documentation, refer to: +\begin_inset CommandInset href +LatexCommand href +target "https://ftp.emc.ncep.noaa.gov/jcsda/CRTM/CRTM_User_Guide.pdf" + +\end_inset + +. +\end_layout + \begin_layout Standard \begin_inset Newpage pagebreak \end_inset @@ -4139,21 +4183,13 @@ routines \end_layout \begin_layout Itemize -A sample wrfout file for the following procedures is available for download - from: +A sample wrfout file for the following procedures is available by request. + Please submit request to the UPP helpdesk at +\shape slanted +upp-help@ucar.edu. \end_layout \begin_deeper -\begin_layout Itemize -\begin_inset CommandInset href -LatexCommand href -target "https://dtcenter.org/upp/users/downloads/data/AddNewVariableData.tar.gz" - -\end_inset - - -\end_layout - \begin_layout Itemize This data is the 6-hr forecast of a WRF initialization of 2009-12-17_12:00:00 \end_layout @@ -5582,7 +5618,7 @@ params_grib2_tbl_new Discipline ( \begin_inset CommandInset href LatexCommand href -target "http://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_table0-0.shtml" +target "https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table0-0.shtml" \end_inset @@ -5593,7 +5629,7 @@ target "http://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_table0-0.shtml" Category ( \begin_inset CommandInset href LatexCommand href -target "http://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_table4-1.shtml" +target "https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-1.shtml" \end_inset @@ -5604,7 +5640,7 @@ target "http://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_table4-1.shtml" Parameter Number ( \begin_inset CommandInset href LatexCommand href -target "http://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_table4-2.shtml" +target "https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-2.shtml" \end_inset @@ -5651,7 +5687,7 @@ Pick an unused parameter number from the table defined by discipline=0 and category=0 (Table 4.2-0-0: \begin_inset CommandInset href LatexCommand href -target "http://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_table4-2-0-0.shtml" +target "https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-2-0-0.shtml" \end_inset