NCEP’s UNIFIED POST PROCESSOR (UPP) Hui-Ya Chuang 1 Overview • NCEP uses UPP as the common post processor for all operational models. • Forecasts from different models are computed the same way in UPP and can therefore be verified fairly. • UPP generates output in GRIB1 or GRIB2. 2 Components of the UPP The UPP has two components: post and copygb. post Visualization GFS output copygb gfs_cntrl.parm 3 Functions and features of post • Performs vertical interpolation onto isobaric and other non-model surfaces • Computes diagnostic fields • An MPI-parallel code • Can be run as a post library on NEMS quilt server 4 Functions of copygb • Performs horizontal interpolation to a defined output grid • Creates an output grid different than the model integration domain. • Performs de-staggering for models that are on staggered grids – NOTE: many visualization packages cannot properly handle staggered grids 5 Fields generated by the UPP • The UPP currently outputs hundreds of possible fields. – Complete list in the Post Processing Utilities Chapter of the user guide online: http://www.dtcenter.org/wrf-nmm/users/docs/user_guide/V3/users_guide_nmm_chap1-7.pdf • Sample fields generated by UPP: 1) T, Z, humidity, wind, cloud water, cloud ice, rain, snow, and aerosol on isobaric levels 2) Shelter level T, humidity, and wind fields 3) Two types of SLP 6 Fields generated by the UPP 4) Precipitation-related fields: accumulated and instantaneous precipitation for total, convective, and grid scale 5) PBL-related fields: PBL height, 6 layers of PBL 30 hPa layer-averaged temperature, humidity, and wind 6) Radiative and Surface fluxes 7) Cloud related fields: Cloud fraction, Cloud top/bottom p, Z, and T (conv, GS, total) 8) Aviation products: in-flight icing, turbulence and ceiling Fields generated by the UPP 9) Diagnostic fields: Vorticity and geostrophic stream function Isentropic fields WMO-defined and dynamic tropopause fields Precipitation type Satellite look-alike products Radar reflectivity for some models Computation of atmospheric isobaric fields • Vertical interpolation of all state fields from model to pressure levels is performed in linear in ln(p) fashion. • The GFS model does not output height fields, so the post processor generates model level heights by integrating the hypsometric equation. Computation of underground isobaric fields • All underground wind components are the same as those at the first model level above ground. • Temperature applies a constant qv computed from an average of the 2nd and 3rd model levels above ground. • Humidity fields are defined by maintaining the average RH of the 2nd and 3rd model levels above the surface. Derivation of sea level pressure • Standard NCEP SLP: – Based on underground temperatures extrapolated using a constant lapse rate, but subject to the Shuell correction. – Can be very noisy over mountainous terrain in higherresolution model runs • Membrane NCEP SLP: – Underground temperatures recomputed by relaxing 2 T v 0 . using successive overrelaxation. – Hydrostatic integration of this smooth underground temperature field yields a much smoother SLP field. Computation of simulated Satellite Products • They are derived by calling Community Radiative Transfer Model (CRTM) forward model using model predicted cloud, moisture, and surface fields as input • Allow users to make direct comparisons between satellite observations and model forecast • EMC has been generating NADIR simulated GOES products operationally for both GFS and NAM since 2007 • HWRF has also been generating simulated GOES operationally for several years and recently F-17 SSMIS Computation of simulated radar reflectivity • Different algorithms are used depending on the microphysics (MP) option used in the model run: – Ferrier MP scheme: consistent with assumptions made in Ferrier MP scheme (details in Ferrier’s 94 JAS publication). – Other MP schemes: adopted from RIP4. More information can be found online: http://www.mmm.ucar.edu/wrf/users/docs/ripug.htm – GFS currently does not output radar reflectivity because its microphysics scheme does not have suspended rain and snow. Shelter level fields and PBL height • Shelter level fields and PBL height are direct output from each model • They are not interpolated or diagnosed in the post • This ensures that these fields are derived within the model based on surface and PBL physics used in your model runs Input to run post • Post needs two input files: 1. itag: a text file which post reads via unit 5 to provide information on • model output file name • format of model output (nemsio, binary, or netcdf) • forecast validation time • model name (GFS, NMM or NCAR) 2. gfs_cntrl.parm: control file specifying fields/levels to output for Grib1 • In the scripts provided in with tutorial, these files are automatically generated or linked Post control file: gfs_cntrl.parm • Users specify which fields or which level(s) of fields to output by modifying control file, e.g., GRIB packing precision** (PRESS ON MDL SFCS ) SCAL=(6.0) L=(11000 00000 00000 00000 00000 00000 00000… (HEIGHT ON MDL SFCS ) SCAL=(6.0) L=(11000 00000 00000 00000 00000 00000 00000… Each column represents a single model/isobaric level: “1” = output, “0” = no output Product description – post code keys on these character strings. ** larger values more precision, but larger GRIB files. 16 Post control file: gfs_cntrl.parm • The included gfs_cntrl.parm file is used for operational GFS post processing. • The Table 3 in previously mentioned users’ guide explains the character string abbreviations used in the control file: http://www.dtcenter.org/wrf-nmm/users/docs/user_guide/V3/users_guide_nmm_chap1-7.pdf 17 Outputting fields on different vertical coordinates • Post outputs on several vertical coordinates: – Native model levels – 47 default or user-specified isobaric levels – 15 flight/wind energy levels: 30, 50, 80, 100, …, 2743, 3658, 4572, 6000 m (above ground or above MSL) – 6 PBL layers: each averaged over a 30 hPa deep layer – 2 AGL radar levels: 1000 & 4000 m • Except for AGL radar and isobaric levels, vertical levels are listed from the ground surface up in gfs_cntrl.parm. 18 Examples of using Post control file • Output T every 50 hPa from 50 hPa to 1000 hPa: (TEMP ON PRESS SFCS ) SCAL=( 4.0) L=(00000 01001 2 5 7 10 20 30 50 70 75 100 01…) 125 150 Isobaric levels increase from left to right: 2, 5, 7, 10, 20, 30, 50, 70, then every 25 hPa from 75-1000 hPa. Isobaric levels every 50 hPa: L=(00000 01001 01010 10101 01010 10101 01010 10101 01010 10000 00000 00000 00000 00000) Isobaric levels every 25 hPa: L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 10000 00000 00000 00000 00000) 19 Examples of using Post control file • Output instantaneous surface sensible heat flux: (INST SFC SENHEAT FX ) SCAL=( 4.0) L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000…) • Output the U-wind component at the 5 lowest model levels: (U WIND ON MDL SFCS ) SCAL=( 4.0) L=(11111 00000 00000 00000 00000 00000 00000 00000 00000 00000…) For the flight/wind • Output U-wind component at 30, 50, and 80 m AGL: energy level fields: (U WIND AT FD HEIGHT) SCAL=( 4.0) • “2” requests AGL. L=(22200 00000 00000 00000 00000 00000 00000above 00000 00000…) • “1” 00000 requests mean sea level. 20 To run copygb • The generic command to run copygb and horizontally interpolate onto a new grid is: copygb.exe –xg”${grid}” in.grb out.grb • Two options on how to specify the target $grid: 1. Pre-defined NCEP standard grid number 2. User-defined grid definition 21 Run copygb – Option 1 • Interpolate to a pre-defined NCEP standard grid (restrictive but simple) – For example, to interpolate onto NCEP grid 212: copygb.exe –xg212 in.grb out.grb Descriptions of NCEP grids are available online: http://www.nco.ncep.noaa.gov/pmb/docs/on388/tableb.html 22 Run copygb – Option 2 • Create a user-defined Latitude-Longitude grid by specifying a full set of grid parameters (complicated but flexible). map type (0=LTLN) copygb.exe –xg”255 0 NX NY STARTLAT STARTLON 136 ENDLAT ENDLON DLAT DLON 64” in.grb out.grb NE lat NE lon grid spacing (millidegrees) (millidegrees) (millidegrees) copygb –xg”255 0 401 401 10000 50000 -90000 100 100 -130000 136 64” in.grb out.grb 23 GRIB file visualization with GrADS • GrADS has utilities to read GRIB files on any nonstaggered grids and generate GrADS “control” files. The utilities grib2ctl and gribmap are available via: http://www.cpc.ncep.noaa.gov/products/wesley/grib2ctl.html • Package download and user guide for GrADS are available online: http://grads.iges.org/grads/gadoc/ • A sample script to use GrADS to plot various GFS fields will be provided with tutorial 24 Forecast plotted with GrADS: Observed (L) and GFS derived (R) brightness temperature for GOES water vapor channel 25 Future plans • Continue adding new products to the released UPP code as they are developed, and expand code portability • Continue to improve efficiency of UPP • Transition all operational model to output Grib2 26 Questions??? 27 GRIB file visualization with GEMPAK • The GEMPAK utility “nagrib” reads GRIB files from any non-staggered grid and generates GEMPAK-binary files that are readable by GEMPAK plotting programs • GEMPAK can plot horizontal maps, vertical crosssections, meteograms, and sounding profiles. • Package download and user guide are available online: http://www.unidata.ucar.edu/content/software/gempak/index.html 28 Forecast plotted with GEMPAK : Precipitation and derived radar reflectivity 29