awips2/mkdocs/search_index.json
2018-07-31 10:43:14 -07:00

2319 lines
No EOL
710 KiB
JSON

{
"docs": [
{
"location": "/",
"text": "Unidata AWIPS User Manual\n\uf0c1\n\n\n\n\nUnidata AWIPS\n is a modified and extended version of AWIPS (originally developed by NWS and Raytheon) for non-operational use in research and education by \nUCAR member institutions\n.\n\n\nAWIPS takes a unified approach to data ingest, and most data types follow a path through the system starting with an \nLDM\n client requesting data from the \nUnidata IDD\n. Various raw data and product files (grib, BUFR, text, gini, McIDAS, NetCDF, more) are decoded and stored as HDF5 and Postgres metadata by \nEDEX\n, which then serves these data and products to clients over http. \n\n\nUnidata supports two visualization frameworks for rendering data: \nCAVE\n, and the Python Data Access Framework (\npython-awips\n).\n\n\n\n\nDownload and Install CAVE\n\uf0c1\n\n\n\n\nRelease 17.1.1-6, June 13, 2018\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Linux \n\n\ninstall.sh --cave \n \n \nFor CentOS/Red Hat 6 and 7. Installs to /awips2/cave and writes files to ~/caveData.\n \nchmod 755 install.sh\nsudo ./install.sh --cave\nRun CAVE from the Linux Desktop menu Applications > Internet > AWIPS CAVE, or from the command line as simply \ncave\n.\n \nSystem Requirements\nx86_64 CentOS/RHEL 6 or 7\nOpenGL 2.0 capable device\n4GB RAM\nLatest NVIDIA driver\napprox. 2GB disk space for data caching (~/caveData)\nYou can reset CAVE at any time by removing the \n~/caveData\n directory (on macOS \n~/Library/caveData\n) and reconnecting to an EDEX server. \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n macOS \n\n\n Download and install both\nawips2-cave-17.1.1-6.dmg \nawips-python.pkg \n \nWrites and syncs files to ~/Library/caveData.\n \n \nawips-python.pkg\n is not a prerequisite, and CAVE will still run and display data without it, but to use any derived parameter functions such as wind barbs/arrows and grid parameters on various vertical coordinates, jep must be installed in some way (it is assumed in /Library/Python/2.7/site-packages/jep/)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 32-bit Windows \n\n\n \nawips-cave.msi \n \n \nWindows clients are still based on the CAVE 16.2.2 code base and provided in lieu of no 17.1.1 client.\n \nWrites files to caveData in the user's home directory.\n\n\n\n\n\n\n 64-bit Windows \n\n\n \nawips-cave.amd64.msi \n \n \nWindows clients are still based on the CAVE 16.2.2 code base and provided in lieu of no 17.1.1 client.\n \nWrites files to caveData in the user's home directory.\n \nBeta status\nClient-side Python scripts (including Derived Parameters) do not work on Windows\n\n\n\n\n\n\n\n\n\n\nRead full CAVE install instructions\n\n\n\n\n\n\nDownload and Install EDEX\n\uf0c1\n\n\n\n\nRelease 17.1.1-6, June 13, 2018\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Linux \n\n\ninstall.sh --edex \n \n \nInstalls to /awips2/ directories.\n \nchmod 755 install.sh\nsudo ./install.sh --edex\nStart and Stop:\nedex start\nedex stop\nSystem Requirements\nx86_64 CentOS/RHEL 6 or 7\n16+ CPU cores (each CPU core is one more decoder which can run in parallel)\n24GB RAM\n700GB+ disk space\n\n\n\n\n\n\n\n\n\n\nRead full EDEX install instructions\n\n\n\n\n\n\nLicense\n\uf0c1\n\n\nUnidata AWIPS source code and binaries (RPMs) are considered to be in the public domain, meaning there are no restrictions on any download, modification, or distribution in any form (original or modified). Unidata AWIPS contains no proprietery content and is therefore not subject to export controls as stated in the \nMaster Rights\n licensing file. \n\n\n\n\nAWIPS Data in the Cloud\n\uf0c1\n\n\nUnidata and XSEDE Jetstream have partnered to offer a EDEX data server in the cloud, open to the Unidata university community. Select the server in the Connectivity Preferences dialog, or enter \nedex-cloud.unidata.ucar.edu\n (without \nhttp://\n before, or \n:9581/services\n after).\n\n\n\n\n\n\nDistributed Computing\n\uf0c1\n\n\nAWIPS makes use of service-oriented architecture to request, process, and serve real-time meteorological data. While originally developed for use on internal NWS forecast office networks, where operational installations of AWIPS can consist of a dozen servers or more, because the AWIPS source code was hard-coded with the NWS network configuration, the early Unidata releases were stripped of operation-specific configurations and plugins, and released specifically for standalone installation. This made sense given that a single EDEX instance with a Solid State Drive could handle most of the entire NOAAport data volume. However, with GOES-R(16) coming online, and more gridded forecast models being created at finer temporal and spatial resolutions, there was now a need to distribute EDEX data decoding in order to handle this firehose of data.\n\n\n\n\nRead More: \nDistributed EDEX\n\n\n\n\n\n\n\n\nSoftware Components\n\uf0c1\n\n\n\n\nEDEX\n\n\nCAVE\n\n\nLDM\n\n\nedexBridge\n\n\nQpid\n\n\nPostgreSQL\n\n\nHDF5\n\n\nPyPIES\n\n\n\n\nEDEX\n\uf0c1\n\n\nThe main server for AWIPS. Qpid sends alerts to EDEX when data stored by the LDM is ready for processing. These Qpid messages include file header information which allows EDEX to determine the appropriate data decoder to use. The default ingest server (simply named ingest) handles all data ingest other than grib messages, which are processed by a separate ingestGrib server. After decoding, EDEX writes metadata to the database via Postgres and saves the processed data in HDF5 via PyPIES. A third EDEX server, request, feeds requested data to CAVE clients. EDEX ingest and request servers are started and stopped with the commands \nedex start\n and \nedex stop\n, which runs the system script \n/etc/rc.d/init.d/edex_camel\n\n\n\n\nRead More: How to Install EDEX\n\n\n\n\nCAVE\n\uf0c1\n\n\nCommon AWIPS Visualization Environment. The data rendering and visualization tool for AWIPS. CAVE contains of a number of different data display configurations called perspectives. Perspectives used in operational forecasting environments include \nD2D\n (Display Two-Dimensional), \nGFE\n (Graphical Forecast Editor), and \nNCP\n (National Centers Perspective). CAVE is started with the command \n/awips2/cave/cave.sh\n or \ncave.sh\n\n\n\n\nRead More: How to Install CAVE\n\n\n\n\n\n\nLDM\n\uf0c1\n\n\nhttps://www.unidata.ucar.edu/software/ldm/\n\n\nThe \nLDM\n (Local Data Manager), developed and supported by Unidata, is a suite of client and server programs designed for data distribution, and is the fundamental component comprising the Unidata Internet Data Distribution (IDD) system. In AWIPS, the LDM provides data feeds for grids, surface observations, upper-air profiles, satellite and radar imagery and various other meteorological datasets. The LDM writes data directly to file and alerts EDEX via Qpid when a file is available for processing. The LDM is started and stopped with the commands \nedex start\n and \nedex stop\n, which runs the commands \nservice edex_ldm start\n and \nservice edex_ldm stop\n\n\nedexBridge\n\uf0c1\n\n\nedexBridge, invoked in the LDM configuration file \n/awips2/ldm/etc/ldmd.conf\n, is used by the LDM to post \"data available\" messaged to Qpid, which alerts the EDEX Ingest server that a file is ready for processing.\n\n\nQpid\n\uf0c1\n\n\nhttp://qpid.apache.org\n\n\nApache Qpid\n, the Queue Processor Interface Daemon, is the messaging system used by AWIPS to facilitate communication between services. When the LDM receives a data file to be processed, it employs \nedexBridge\n to send EDEX ingest servers a message via Qpid. When EDEX has finished decoding the file, it sends CAVE a message via Qpid that data are available for display or further processing. Qpid is started and stopped by \nedex start\n and \nedex stop\n, and is controlled by the system script \n/etc/rc.d/init.d/qpidd\n\n\nPostgreSQL\n\uf0c1\n\n\nhttp://www.postgresql.org\n\n\nPostgreSQL\n, known simply as Postgres, is a relational database management system (DBMS) which handles the storage and retrieval of metadata, database tables and some decoded data. The storage and reading of EDEX metadata is handled by the Postgres DBMS. Users may query the metadata tables by using the termainal-based front-end for Postgres called \npsql\n. Postgres is started and stopped by \nedex start\n and \nedex stop\n, and is controlled by the system script \n/etc/rc.d/init.d/edex_postgres\n\n\nHDF5\n\uf0c1\n\n\nhttp://www.hdfgroup.org/HDF5/\n\n\nHierarchical Data Format (v.5)\n is the primary data storage format used by AWIPS for processed grids, satellite and radar imagery and other products. Similar to netCDF, developed and supported by Unidata, HDF5 supports multiple types of data within a single file. For example, a single HDF5 file of radar data may contain multiple volume scans of base reflectivity and base velocity as well as derived products such as composite reflectivity. The file may also contain data from multiple radars. HDF5 is stored in \n/awips2/edex/data/hdf5/\n\n\nPyPIES (httpd-pypies)\n\uf0c1\n\n\nPyPIES\n, Python Process Isolated Enhanced Storage, was created for AWIPS to isolate the management of HDF5 Processed Data Storage from the EDEX processes. PyPIES manages access, i.e., reads and writes, of data in the HDF5 files. In a sense, PyPIES provides functionality similar to a DBMS (i.e PostgreSQL for metadata); all data being written to an HDF5 file is sent to PyPIES, and requests for data stored in HDF5 are processed by PyPIES.\n\n\nPyPIES is implemented in two parts: 1. The PyPIES manager is a Python application that runs as part of an Apache HTTP server, and handles requests to store and retrieve data. 2. The PyPIES logger is a Python process that coordinates logging. PyPIES is started and stopped by \nedex start\n and \nedex stop\n, and is controlled by the system script \n/etc/rc.d/init.d/httpd-pypies",
"title": "Home"
},
{
"location": "/#unidata-awips-user-manual",
"text": "Unidata AWIPS is a modified and extended version of AWIPS (originally developed by NWS and Raytheon) for non-operational use in research and education by UCAR member institutions . AWIPS takes a unified approach to data ingest, and most data types follow a path through the system starting with an LDM client requesting data from the Unidata IDD . Various raw data and product files (grib, BUFR, text, gini, McIDAS, NetCDF, more) are decoded and stored as HDF5 and Postgres metadata by EDEX , which then serves these data and products to clients over http. Unidata supports two visualization frameworks for rendering data: CAVE , and the Python Data Access Framework ( python-awips ).",
"title": "Unidata AWIPS User Manual"
},
{
"location": "/#download-and-install-cave",
"text": "Release 17.1.1-6, June 13, 2018",
"title": "Download and Install CAVE"
},
{
"location": "/#download-and-install-edex",
"text": "Release 17.1.1-6, June 13, 2018",
"title": "Download and Install EDEX"
},
{
"location": "/#license",
"text": "Unidata AWIPS source code and binaries (RPMs) are considered to be in the public domain, meaning there are no restrictions on any download, modification, or distribution in any form (original or modified). Unidata AWIPS contains no proprietery content and is therefore not subject to export controls as stated in the Master Rights licensing file.",
"title": "License"
},
{
"location": "/#awips-data-in-the-cloud",
"text": "Unidata and XSEDE Jetstream have partnered to offer a EDEX data server in the cloud, open to the Unidata university community. Select the server in the Connectivity Preferences dialog, or enter edex-cloud.unidata.ucar.edu (without http:// before, or :9581/services after).",
"title": "AWIPS Data in the Cloud"
},
{
"location": "/#distributed-computing",
"text": "AWIPS makes use of service-oriented architecture to request, process, and serve real-time meteorological data. While originally developed for use on internal NWS forecast office networks, where operational installations of AWIPS can consist of a dozen servers or more, because the AWIPS source code was hard-coded with the NWS network configuration, the early Unidata releases were stripped of operation-specific configurations and plugins, and released specifically for standalone installation. This made sense given that a single EDEX instance with a Solid State Drive could handle most of the entire NOAAport data volume. However, with GOES-R(16) coming online, and more gridded forecast models being created at finer temporal and spatial resolutions, there was now a need to distribute EDEX data decoding in order to handle this firehose of data. Read More: Distributed EDEX",
"title": "Distributed Computing"
},
{
"location": "/#software-components",
"text": "EDEX CAVE LDM edexBridge Qpid PostgreSQL HDF5 PyPIES",
"title": "Software Components"
},
{
"location": "/#edex",
"text": "The main server for AWIPS. Qpid sends alerts to EDEX when data stored by the LDM is ready for processing. These Qpid messages include file header information which allows EDEX to determine the appropriate data decoder to use. The default ingest server (simply named ingest) handles all data ingest other than grib messages, which are processed by a separate ingestGrib server. After decoding, EDEX writes metadata to the database via Postgres and saves the processed data in HDF5 via PyPIES. A third EDEX server, request, feeds requested data to CAVE clients. EDEX ingest and request servers are started and stopped with the commands edex start and edex stop , which runs the system script /etc/rc.d/init.d/edex_camel Read More: How to Install EDEX",
"title": "EDEX"
},
{
"location": "/#cave",
"text": "Common AWIPS Visualization Environment. The data rendering and visualization tool for AWIPS. CAVE contains of a number of different data display configurations called perspectives. Perspectives used in operational forecasting environments include D2D (Display Two-Dimensional), GFE (Graphical Forecast Editor), and NCP (National Centers Perspective). CAVE is started with the command /awips2/cave/cave.sh or cave.sh Read More: How to Install CAVE",
"title": "CAVE"
},
{
"location": "/#ldm",
"text": "https://www.unidata.ucar.edu/software/ldm/ The LDM (Local Data Manager), developed and supported by Unidata, is a suite of client and server programs designed for data distribution, and is the fundamental component comprising the Unidata Internet Data Distribution (IDD) system. In AWIPS, the LDM provides data feeds for grids, surface observations, upper-air profiles, satellite and radar imagery and various other meteorological datasets. The LDM writes data directly to file and alerts EDEX via Qpid when a file is available for processing. The LDM is started and stopped with the commands edex start and edex stop , which runs the commands service edex_ldm start and service edex_ldm stop",
"title": "LDM"
},
{
"location": "/#edexbridge",
"text": "edexBridge, invoked in the LDM configuration file /awips2/ldm/etc/ldmd.conf , is used by the LDM to post \"data available\" messaged to Qpid, which alerts the EDEX Ingest server that a file is ready for processing.",
"title": "edexBridge"
},
{
"location": "/#qpid",
"text": "http://qpid.apache.org Apache Qpid , the Queue Processor Interface Daemon, is the messaging system used by AWIPS to facilitate communication between services. When the LDM receives a data file to be processed, it employs edexBridge to send EDEX ingest servers a message via Qpid. When EDEX has finished decoding the file, it sends CAVE a message via Qpid that data are available for display or further processing. Qpid is started and stopped by edex start and edex stop , and is controlled by the system script /etc/rc.d/init.d/qpidd",
"title": "Qpid"
},
{
"location": "/#postgresql",
"text": "http://www.postgresql.org PostgreSQL , known simply as Postgres, is a relational database management system (DBMS) which handles the storage and retrieval of metadata, database tables and some decoded data. The storage and reading of EDEX metadata is handled by the Postgres DBMS. Users may query the metadata tables by using the termainal-based front-end for Postgres called psql . Postgres is started and stopped by edex start and edex stop , and is controlled by the system script /etc/rc.d/init.d/edex_postgres",
"title": "PostgreSQL"
},
{
"location": "/#hdf5",
"text": "http://www.hdfgroup.org/HDF5/ Hierarchical Data Format (v.5) is the primary data storage format used by AWIPS for processed grids, satellite and radar imagery and other products. Similar to netCDF, developed and supported by Unidata, HDF5 supports multiple types of data within a single file. For example, a single HDF5 file of radar data may contain multiple volume scans of base reflectivity and base velocity as well as derived products such as composite reflectivity. The file may also contain data from multiple radars. HDF5 is stored in /awips2/edex/data/hdf5/",
"title": "HDF5"
},
{
"location": "/#pypies-httpd-pypies",
"text": "PyPIES , Python Process Isolated Enhanced Storage, was created for AWIPS to isolate the management of HDF5 Processed Data Storage from the EDEX processes. PyPIES manages access, i.e., reads and writes, of data in the HDF5 files. In a sense, PyPIES provides functionality similar to a DBMS (i.e PostgreSQL for metadata); all data being written to an HDF5 file is sent to PyPIES, and requests for data stored in HDF5 are processed by PyPIES. PyPIES is implemented in two parts: 1. The PyPIES manager is a Python application that runs as part of an Apache HTTP server, and handles requests to store and retrieve data. 2. The PyPIES logger is a Python process that coordinates logging. PyPIES is started and stopped by edex start and edex stop , and is controlled by the system script /etc/rc.d/init.d/httpd-pypies",
"title": "PyPIES (httpd-pypies)"
},
{
"location": "/install/install-cave/",
"text": "Download and Install CAVE\n\uf0c1\n\n\nLatest Release 17.1.1-6 (June 13, 2018)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Linux \n\n\ninstall.sh --cave \n \n \nFor CentOS/Red Hat 6 and 7. Installs to /awips2/cave and writes files to ~/caveData.\n \nchmod 755 install.sh\nsudo ./install.sh --cave\nRun CAVE from the Linux Desktop menu Applications > Internet > AWIPS CAVE, or from the command line as simply \ncave\n.\n \nSystem Requirements\nx86_64 CentOS/RHEL 6 or 7\nOpenGL 2.0 capable device\n4GB RAM\nLatest NVIDIA driver\napprox. 2GB disk space for data caching (~/caveData)\nYou can reset CAVE at any time by removing the \n~/caveData\n directory (on macOS \n~/Library/caveData\n) and reconnecting to an EDEX server. \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n macOS \n\n\n Download and install both\nawips2-cave-17.1.1-6.dmg \nawips-python.pkg \n \nWrites and syncs files to ~/Library/caveData.\n \n \nawips-python.pkg\n is not a prerequisite, and CAVE will still run and display data without it, but to use any derived parameter functions such as wind barbs/arrows and grid parameters on various vertical coordinates, jep must be installed in some way (it is assumed in /Library/Python/2.7/site-packages/jep/)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n 32-bit Windows \n\n\n \nawips-cave.msi \n \n \nWindows clients are still based on the CAVE 16.2.2 code base and provided in lieu of no 17.1.1 client.\n \nWrites files to caveData in the user's home directory.\n\n\n\n\n\n\n 64-bit Windows \n\n\n \nawips-cave.amd64.msi \n \n \nWindows clients are still based on the CAVE 16.2.2 code base and provided in lieu of no 17.1.1 client.\n \nWrites files to caveData in the user's home directory.\n \nBeta status\nClient-side Python scripts (including Derived Parameters) do not work on Windows\n\n\n\n\n\n\n\n\n\n\nAWIPS Data in the Cloud\n\uf0c1\n\n\nUnidata and XSEDE Jetstream have partnered to offer a EDEX data server in the cloud, open to the Unidata university community. Select the server in the Connectivity Preferences dialog, or enter \nedex-cloud.unidata.ucar.edu\n (without \nhttp://\n before, or \n:9581/services\n after).\n\n\n\n\n\n\nTroubleshooting\n\uf0c1\n\n\nLocalization Preferences Error\n\n\nYou can reset CAVE by removing the \n~/caveData\n directory (on macOS \n~/Library/caveData\n) and then run \ncave\n again to connect to an EDEX server. Your local files have been removed, but if you are re-connecting to an EDEX server you have used before, the remote files will sync again to your local \n~/caveData\n (bundles, colormaps, etc.).\n\n\nNo Images Displayed\n\n\nIf you are able to load wire-frame contours but not images, \nupdate your video driver\n.",
"title": "Install CAVE"
},
{
"location": "/install/install-cave/#download-and-install-cave",
"text": "Latest Release 17.1.1-6 (June 13, 2018)",
"title": "Download and Install CAVE"
},
{
"location": "/install/install-cave/#awips-data-in-the-cloud",
"text": "Unidata and XSEDE Jetstream have partnered to offer a EDEX data server in the cloud, open to the Unidata university community. Select the server in the Connectivity Preferences dialog, or enter edex-cloud.unidata.ucar.edu (without http:// before, or :9581/services after).",
"title": "AWIPS Data in the Cloud"
},
{
"location": "/install/install-cave/#troubleshooting",
"text": "Localization Preferences Error You can reset CAVE by removing the ~/caveData directory (on macOS ~/Library/caveData ) and then run cave again to connect to an EDEX server. Your local files have been removed, but if you are re-connecting to an EDEX server you have used before, the remote files will sync again to your local ~/caveData (bundles, colormaps, etc.). No Images Displayed If you are able to load wire-frame contours but not images, update your video driver .",
"title": "Troubleshooting"
},
{
"location": "/install/install-edex/",
"text": "Download and Install EDEX\n\uf0c1\n\n\nLatest Release 17.1.1-6 (June 13, 2018)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Linux \n\n\ninstall.sh --edex \n \n \nInstalls to /awips2/ directories.\n \nchmod 755 install.sh\nsudo ./install.sh --edex\nStart and Stop:\nedex start\nedex stop\nSystem Requirements\nx86_64 CentOS/RHEL 6 or 7\n16+ CPU cores (each CPU core is one more decoder which can run in parallel)\n24GB RAM\n700GB+ disk space\nA \nSolid State Drive (SSD)\n is highly recommended\n \nAn \nSSD\n should be mounted either to \n/awips2\n (to contain the entire EDEX system) or to \n/awips2/edex/data/hdf5\n (to contain the large files in the decoded data store). EDEX can scale to any system by adjusting the incoming LDM data feeds or adjusting the resources (CPU threads) allocated to each data type.\n64-bit CentOS/RHEL 6 and 7\n are the only supported operating systems for EDEX. You may have luck with Fedora Core 12 to 14 and Scientific Linux.\nEDEX is not supported on Debian, Ubuntu, SUSE, Solaris, OS X, or Windows.\n\n\n\n\n\n\n\n\n\n\nRead More: Distributed EDEX, Installing Across Multiple Machines\n\uf0c1\n\n\n\n\n\n\nLinux One-Time Setup\n\uf0c1\n\n\nAll of these command should be run as \nroot\n\n\n1. Create AWIPS User\n\uf0c1\n\n\n\n\nCreate user awips and group fxalpha\n\n\n groupadd fxalpha && useradd -G fxalpha awips\n\n\n\nor if the awips account already exists:\n\n\n groupadd fxalpha && usermod -G fxalpha awips\n\n\n\n\n\n2. Install EDEX\n\uf0c1\n\n\n\n\nDownload and run \ninstall.sh --edex \n\n\n wget https://www.unidata.ucar.edu/software/awips2/install.sh\n chmod 755 install.sh\n sudo ./install.sh --edex\n\n\n\n\n\ninstall.sh --edex\n will perform the following steps (it's always a good idea to review downloaded shell scripts):\n\n\n\n\nSaves the appropriate Yum repo file to \n/etc/yum.repos.d/awips2.repo\n\n\nIncreases process and file limits for the the \nawips\n account in \n/etc/security/limits.conf\n\n\nCreates \n/awips2/data_store\n if it does not exist already\n\n\nRuns \nyum groupinstall awips2-server\n\n\nAttempts to configure the EDEX hostname defined in \n/awips2/edex/bin/setup.env\n\n\nAlerts the user if the \nawips\n account does not exist (the RPMs will still install)\n\n\n\n\n\n\n\n\n3. EDEX Setup\n\uf0c1\n\n\n\n\nThe command \nedex setup\n will try to determine your fully-qualified domain name and set it in \n/awips2/edex/bin/setup.env\n. EDEX Server Administrators should double-check that the addresses and names defined in setup.env are resolvable from both inside and outside the server, and make appropriate edits to \n/etc/hosts\n if necessary. \n\n\nFor example, in the XSEDE Jetstream cloud, the fully-qualified domain name defined in \n/awips2/edex/bin/setup.env\n\n\n export EXT_ADDR=js-196-132.jetstream-cloud.org\n export DB_ADDR=localhost\n export DB_PORT=5432\n export BROKER_ADDR=localhost\n export PYPIES_SERVER=http://${EXT_ADDR}:9582\n\n\n\nis directed within to localhost in \n/etc/hosts\n\n\n 127.0.0.1 localhost localhost.localdomain js-196-132.jetstream-cloud.org\n\n\n\n\n\n4. Configure iptables\n\uf0c1\n\n\n\n\nConfigure iptables to allow TCP connections on ports 9581 and 9582 if you want to serve data to CAVE clients and the Python API.\n\n\n\n\n\n\nTo open ports to all connections\n\n\n vi /etc/sysconfig/iptables\n\n *filter\n :INPUT ACCEPT [0:0]\n :FORWARD ACCEPT [0:0]\n :OUTPUT ACCEPT [0:0]\n -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n -A INPUT -p icmp -j ACCEPT\n -A INPUT -i lo -j ACCEPT\n -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT\n -A INPUT -m state --state NEW -m tcp -p tcp --dport 9581 -j ACCEPT\n -A INPUT -m state --state NEW -m tcp -p tcp --dport 9582 -j ACCEPT\n -A INPUT -j REJECT --reject-with icmp-host-prohibited\n -A FORWARD -j REJECT --reject-with icmp-host-prohibited\n\n\n\nCOMMIT\n\n\n\n\n\n\nTo open ports to specific IP addresses\n\n\n vi /etc/sysconfig/iptables\n\n *filter\n :INPUT DROP [0:0]\n :FORWARD DROP [0:0]\n :OUTPUT ACCEPT [0:0]\n :EXTERNAL - [0:0]\n :EDEX - [0:0]\n -A INPUT -i lo -j ACCEPT\n -A INPUT -p icmp --icmp-type any -j ACCEPT\n -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n -A INPUT -s 128.117.140.0/24 -j EDEX\n -A INPUT -s 128.117.156.0/24 -j EDEX\n -A INPUT -j EXTERNAL\n -A EXTERNAL -j REJECT\n -A EDEX -m state --state NEW -p tcp --dport 22 -j ACCEPT\n -A EDEX -m state --state NEW -p tcp --dport 9581 -j ACCEPT\n -A EDEX -m state --state NEW -p tcp --dport 9582 -j ACCEPT\n -A EDEX -j REJECT\n COMMIT\n\n\n\n\n\n\n\nIn this example, the IP range \n128.117.140.0/24\n will match all 128.117.140.\n addresses, while \n128.117.156.0/24\n will match 128.117.156.\n.\n\n\nRestart iptables\n\n\n service iptables restart\n\n\n\nFor CentOS 7 error \nRedirecting to /bin/systemctl restart iptables.service\nFailed to restart iptables.service: Unit iptables.service failed to load: No such file or directory.\n\n\nThe solution is:\n\n\n yum install iptables-services\n systemctl enable iptables\n service iptables restart\n\n\n\n\n\n5. Start EDEX\n\uf0c1\n\n\n\n\n edex setup\n edex start\n\n\n\nTo manually start, stop, and restart:\n\n\n service edex_postgres start\n service httpd-pypies start\n service qpidd start\n service edex_camel start\n\n\n\nThe fifth service, \nedex_ldm\n, does \nnot run at boot\n to prevent filling up disk space if EDEX is not running. \n\n\n ldmadmin start\n\n\n\nTo start \nall services except the LDM\n (good for troubleshooting):\n\n\n edex start base\n\n\n\nTo restart EDEX\n\n\n edex restart\n\n\n\n\n\n\n\nAdditional Steps\n\uf0c1\n\n\n/etc/security/limits.conf\n\uf0c1\n\n\n/etc/security/limits.conf\n defines the number of user processes and files (this step is automatically performed by \ninstall.sh --edex\n). Without these definitions, Qpid is known to crash during periods of high ingest.\n\n\nawips soft nproc 65536\nawips soft nofile 65536\n\n\n\n\n\nEnsure SELinux is Disabled\n\uf0c1\n\n\nvi /etc/sysconfig/selinux\n\n# This file controls the state of SELinux on the system.\n# SELINUX= can take one of these three values:\n# enforcing - SELinux security policy is enforced.\n# permissive - SELinux prints warnings instead of enforcing.\n# disabled - No SELinux policy is loaded.\nSELINUX=disabled\n# SELINUXTYPE= can take one of these two values:\n# targeted - Targeted processes are protected,\n# mls - Multi Level Security protection.\nSELINUXTYPE=targeted\n\n\n\n\n\nRead more about selinux at \nredhat.com\n\n\n\n\n\n\nSSD Mount\n\uf0c1\n\n\nThough a Solid State Drive is not required, it is \nstrongly encouraged\n in order to handle the amount of disk IO for real-time IDD feeds. \n\n\nThe simplest configuration would be to mount an 500GB+ SSD to \n/awips2\n to contain both the installed software (approx. 20GB) and the real-time data (approx. 150GB per day).\n\n\nThe default \npurge rules\n are configured such that \n/awips2\n does not exceed 450GB. \n/awips2/data_store\n is scoured every hour and should not exceed 50GB. \n\n\nIf you want to increase EDEX data retention you should mount a large disk to \n/awips2/edex/data/hdf5\n since this will be where the archived processed data exists, and any case studies created.\n\n\n Filesystem Size Used Avail Use% Mounted on\n /dev/sda1 30G 2.5G 26G 9% /\n tmpfs 28G 0 28G 0% /dev/shm\n /dev/sdc1 788G 81G 667G 11% /awips2\n /dev/sdb1 788G 41G 708G 10% /awips2/edex/data/hdf5\n\n\n\n\n\nConfigure LDM Feeds\n\uf0c1\n\n\nEDEX installs its own version of the LDM to the directory \n/awips2/ldm\n. As with a the default LDM configuration, two files are used to control what IDD feeds are ingested:\n\n\n\n\n\n\n/awips2/ldm/etc/ldmd.conf\n - specifies an upstream LDM server to request data from, and what feeds to request:\n\n\nREQUEST NEXRAD3 \"./p(DHR|DPR|DSP|DTA|DAA|DVL|EET|HHC|N0Q|N0S|N0U|OHA|NVW|NTV|NST).\" idd.unidata.ucar.edu\nREQUEST FNEXRAD|IDS|DDPLUS|UNIWISC \".*\" idd.unidata.ucar.edu\nREQUEST NGRID \".*\" idd.unidata.ucar.edu\nREQUEST NOTHER \"^TIP... KNES.*\" idd.unidata.ucar.edu\n\n\n\n\n\nread more about ldmd.conf in the LDM User Manual\n\n\n\n\n\n\n\n\n/awips2/ldm/etc/pqact.conf\n - specifies the WMO headers and file pattern actions to request:\n\n\n# Redbook graphics\nANY ^([PQ][A-Z0-9]{3,5}) (....) (..)(..)(..) !redbook [^/]*/([^/]*)/([^/]*)/([^/]*)/([0-9]{8})\n FILE -overwrite -close -edex /awips2/data_store/redbook/\\8/\\4\\5Z_\\8_\\7_\\6-\\1_\\2_(seq).rb.%Y%m%d%H\n# NOAAPORT GINI images\nNIMAGE ^(sat[^/]*)/ch[0-9]/([^/]*)/([^/]*)/([^ ]*) ([^/]*)/([^/]*)/([^/]*)/ (T[^ ]*) ([^ ]*) (..)(..)(..)\n FILE -overwrite -close -edex /awips2/data_store/sat/\\(11)\\(12)Z_\\3_\\7_\\6-\\8_\\9_(seq).satz.%Y%m%d%H\n\n\n\n\n\nread more about pqact.conf in the LDM User Manual\n\n\n\n\n\n\nsee available AWIPS LDM feeds\n\n\n\n\n\n\n\n\n\n\nDirectories to Know\n\uf0c1\n\n\n\n\n/awips2\n - Contains all of the installed AWIPS software. \n\n\n/awips2/edex/logs\n - EDEX logs.\n\n\n/awips2/httpd_pypies/var/log/httpd\n - httpd-pypies logs.\n\n\n/awips2/database/data/pg_log\n - PostgreSQL logs.\n\n\n/awips2/qpid/log\n - Qpid logs.\n\n\n/awips2/edex/data/hdf5\n - HDF5 data store. \n\n\n/awips2/edex/data/utility\n - Localization store and configuration files. \n\n\n/awips2/ldm/etc\n - Location of \nldmd.conf\n and \npqact.conf\n\n\n/awips2/ldm/logs\n - LDM logs.\n\n\n/awips2/data_store\n - Raw data store.\n\n\n/awips2/data_store/ingest\n - Manual data ingest endpoint.\n\n\n\n\n\n\nWhat Version is my EDEX?\n\uf0c1\n\n\nrpm -qa | grep awips2-edex",
"title": "Install EDEX"
},
{
"location": "/install/install-edex/#download-and-install-edex",
"text": "Latest Release 17.1.1-6 (June 13, 2018)",
"title": "Download and Install EDEX"
},
{
"location": "/install/install-edex/#read-more-distributed-edex-installing-across-multiple-machines",
"text": "",
"title": "Read More: Distributed EDEX, Installing Across Multiple Machines"
},
{
"location": "/install/install-edex/#linux-one-time-setup",
"text": "All of these command should be run as root",
"title": "Linux One-Time Setup"
},
{
"location": "/install/install-edex/#1-create-awips-user",
"text": "Create user awips and group fxalpha groupadd fxalpha && useradd -G fxalpha awips or if the awips account already exists: groupadd fxalpha && usermod -G fxalpha awips",
"title": "1. Create AWIPS User"
},
{
"location": "/install/install-edex/#2-install-edex",
"text": "Download and run install.sh --edex wget https://www.unidata.ucar.edu/software/awips2/install.sh\n chmod 755 install.sh\n sudo ./install.sh --edex install.sh --edex will perform the following steps (it's always a good idea to review downloaded shell scripts): Saves the appropriate Yum repo file to /etc/yum.repos.d/awips2.repo Increases process and file limits for the the awips account in /etc/security/limits.conf Creates /awips2/data_store if it does not exist already Runs yum groupinstall awips2-server Attempts to configure the EDEX hostname defined in /awips2/edex/bin/setup.env Alerts the user if the awips account does not exist (the RPMs will still install)",
"title": "2. Install EDEX"
},
{
"location": "/install/install-edex/#3-edex-setup",
"text": "The command edex setup will try to determine your fully-qualified domain name and set it in /awips2/edex/bin/setup.env . EDEX Server Administrators should double-check that the addresses and names defined in setup.env are resolvable from both inside and outside the server, and make appropriate edits to /etc/hosts if necessary. For example, in the XSEDE Jetstream cloud, the fully-qualified domain name defined in /awips2/edex/bin/setup.env export EXT_ADDR=js-196-132.jetstream-cloud.org\n export DB_ADDR=localhost\n export DB_PORT=5432\n export BROKER_ADDR=localhost\n export PYPIES_SERVER=http://${EXT_ADDR}:9582 is directed within to localhost in /etc/hosts 127.0.0.1 localhost localhost.localdomain js-196-132.jetstream-cloud.org",
"title": "3. EDEX Setup"
},
{
"location": "/install/install-edex/#4-configure-iptables",
"text": "Configure iptables to allow TCP connections on ports 9581 and 9582 if you want to serve data to CAVE clients and the Python API. To open ports to all connections vi /etc/sysconfig/iptables\n\n *filter\n :INPUT ACCEPT [0:0]\n :FORWARD ACCEPT [0:0]\n :OUTPUT ACCEPT [0:0]\n -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n -A INPUT -p icmp -j ACCEPT\n -A INPUT -i lo -j ACCEPT\n -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT\n -A INPUT -m state --state NEW -m tcp -p tcp --dport 9581 -j ACCEPT\n -A INPUT -m state --state NEW -m tcp -p tcp --dport 9582 -j ACCEPT\n -A INPUT -j REJECT --reject-with icmp-host-prohibited\n -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT To open ports to specific IP addresses vi /etc/sysconfig/iptables\n\n *filter\n :INPUT DROP [0:0]\n :FORWARD DROP [0:0]\n :OUTPUT ACCEPT [0:0]\n :EXTERNAL - [0:0]\n :EDEX - [0:0]\n -A INPUT -i lo -j ACCEPT\n -A INPUT -p icmp --icmp-type any -j ACCEPT\n -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n -A INPUT -s 128.117.140.0/24 -j EDEX\n -A INPUT -s 128.117.156.0/24 -j EDEX\n -A INPUT -j EXTERNAL\n -A EXTERNAL -j REJECT\n -A EDEX -m state --state NEW -p tcp --dport 22 -j ACCEPT\n -A EDEX -m state --state NEW -p tcp --dport 9581 -j ACCEPT\n -A EDEX -m state --state NEW -p tcp --dport 9582 -j ACCEPT\n -A EDEX -j REJECT\n COMMIT In this example, the IP range 128.117.140.0/24 will match all 128.117.140. addresses, while 128.117.156.0/24 will match 128.117.156. . Restart iptables service iptables restart For CentOS 7 error Redirecting to /bin/systemctl restart iptables.service\nFailed to restart iptables.service: Unit iptables.service failed to load: No such file or directory. The solution is: yum install iptables-services\n systemctl enable iptables\n service iptables restart",
"title": "4. Configure iptables"
},
{
"location": "/install/install-edex/#5-start-edex",
"text": "edex setup\n edex start To manually start, stop, and restart: service edex_postgres start\n service httpd-pypies start\n service qpidd start\n service edex_camel start The fifth service, edex_ldm , does not run at boot to prevent filling up disk space if EDEX is not running. ldmadmin start To start all services except the LDM (good for troubleshooting): edex start base To restart EDEX edex restart",
"title": "5. Start EDEX"
},
{
"location": "/install/install-edex/#additional-steps",
"text": "",
"title": "Additional Steps"
},
{
"location": "/install/install-edex/#etcsecuritylimitsconf",
"text": "/etc/security/limits.conf defines the number of user processes and files (this step is automatically performed by install.sh --edex ). Without these definitions, Qpid is known to crash during periods of high ingest. awips soft nproc 65536\nawips soft nofile 65536",
"title": "/etc/security/limits.conf"
},
{
"location": "/install/install-edex/#ensure-selinux-is-disabled",
"text": "vi /etc/sysconfig/selinux\n\n# This file controls the state of SELinux on the system.\n# SELINUX= can take one of these three values:\n# enforcing - SELinux security policy is enforced.\n# permissive - SELinux prints warnings instead of enforcing.\n# disabled - No SELinux policy is loaded.\nSELINUX=disabled\n# SELINUXTYPE= can take one of these two values:\n# targeted - Targeted processes are protected,\n# mls - Multi Level Security protection.\nSELINUXTYPE=targeted Read more about selinux at redhat.com",
"title": "Ensure SELinux is Disabled"
},
{
"location": "/install/install-edex/#ssd-mount",
"text": "Though a Solid State Drive is not required, it is strongly encouraged in order to handle the amount of disk IO for real-time IDD feeds. The simplest configuration would be to mount an 500GB+ SSD to /awips2 to contain both the installed software (approx. 20GB) and the real-time data (approx. 150GB per day). The default purge rules are configured such that /awips2 does not exceed 450GB. /awips2/data_store is scoured every hour and should not exceed 50GB. If you want to increase EDEX data retention you should mount a large disk to /awips2/edex/data/hdf5 since this will be where the archived processed data exists, and any case studies created. Filesystem Size Used Avail Use% Mounted on\n /dev/sda1 30G 2.5G 26G 9% /\n tmpfs 28G 0 28G 0% /dev/shm\n /dev/sdc1 788G 81G 667G 11% /awips2\n /dev/sdb1 788G 41G 708G 10% /awips2/edex/data/hdf5",
"title": "SSD Mount"
},
{
"location": "/install/install-edex/#configure-ldm-feeds",
"text": "EDEX installs its own version of the LDM to the directory /awips2/ldm . As with a the default LDM configuration, two files are used to control what IDD feeds are ingested: /awips2/ldm/etc/ldmd.conf - specifies an upstream LDM server to request data from, and what feeds to request: REQUEST NEXRAD3 \"./p(DHR|DPR|DSP|DTA|DAA|DVL|EET|HHC|N0Q|N0S|N0U|OHA|NVW|NTV|NST).\" idd.unidata.ucar.edu\nREQUEST FNEXRAD|IDS|DDPLUS|UNIWISC \".*\" idd.unidata.ucar.edu\nREQUEST NGRID \".*\" idd.unidata.ucar.edu\nREQUEST NOTHER \"^TIP... KNES.*\" idd.unidata.ucar.edu read more about ldmd.conf in the LDM User Manual /awips2/ldm/etc/pqact.conf - specifies the WMO headers and file pattern actions to request: # Redbook graphics\nANY ^([PQ][A-Z0-9]{3,5}) (....) (..)(..)(..) !redbook [^/]*/([^/]*)/([^/]*)/([^/]*)/([0-9]{8})\n FILE -overwrite -close -edex /awips2/data_store/redbook/\\8/\\4\\5Z_\\8_\\7_\\6-\\1_\\2_(seq).rb.%Y%m%d%H\n# NOAAPORT GINI images\nNIMAGE ^(sat[^/]*)/ch[0-9]/([^/]*)/([^/]*)/([^ ]*) ([^/]*)/([^/]*)/([^/]*)/ (T[^ ]*) ([^ ]*) (..)(..)(..)\n FILE -overwrite -close -edex /awips2/data_store/sat/\\(11)\\(12)Z_\\3_\\7_\\6-\\8_\\9_(seq).satz.%Y%m%d%H read more about pqact.conf in the LDM User Manual see available AWIPS LDM feeds",
"title": "Configure LDM Feeds"
},
{
"location": "/install/install-edex/#directories-to-know",
"text": "/awips2 - Contains all of the installed AWIPS software. /awips2/edex/logs - EDEX logs. /awips2/httpd_pypies/var/log/httpd - httpd-pypies logs. /awips2/database/data/pg_log - PostgreSQL logs. /awips2/qpid/log - Qpid logs. /awips2/edex/data/hdf5 - HDF5 data store. /awips2/edex/data/utility - Localization store and configuration files. /awips2/ldm/etc - Location of ldmd.conf and pqact.conf /awips2/ldm/logs - LDM logs. /awips2/data_store - Raw data store. /awips2/data_store/ingest - Manual data ingest endpoint.",
"title": "Directories to Know"
},
{
"location": "/install/install-edex/#what-version-is-my-edex",
"text": "rpm -qa | grep awips2-edex",
"title": "What Version is my EDEX?"
},
{
"location": "/cave/d2d-perspective/",
"text": "D2D Perspective\n\uf0c1\n\n\nD2D (Display 2-Dimensions) is the default AWIPS CAVE perspective, designed to mimmic the look and feel of the legacy AWIPS I system. \n\n\n\n\nSystem menus include \nCAVE\n, \nFile\n, \nView\n, \nOptions\n, \nTools\n, and \nHelp\n (far right)\n\n\nData menus include \nModels\n, \nSurface\n, \nNCEP/Hydro\n, \nUpper Air\n, \nSatellite\n, \nRadar\n, \nMRMS\n, and \nMaps\n.\n\n\nFrame control, map projection, image properties, and a few featured applications (\nWarngen\n, \nNsharp\n, \nNcdata\n, and \nBrowser\n) make up the the primary D2D toolbar. \n\n\n\n\nResource Stack\n\uf0c1\n\n\nAt bottom-right of the map window the the Resource Stack, which displays all loaded resources and map overlays, and allows for interaction and customization with the resource via a \nright-click menu\n.\n\n\nThere are three available views of the Resource Stack, the default will show all Product Resources. \nRight Click\n the mouse on the map background to switch to a Simple View. \nRight Click\n again to show all Map Resources. \nRight Click\n again to toggle back to Product Resources.\n\n\nIt's important to understand that Product Resources and Map Resources are handled differently given the time-based nature of Products, compared to the static nature of maps. Selecting the \nClear\n button will remove all Products but not remove any Map Products. \n\n\n\n\nLeft-Click Resource Name to Hide\n\n\n\n\nA left click on any resource in the stack will hide the resource and turn the label gray. Clicking the name again makes the resource visible.\n\n\n\n\n\n\nLeft-Click Background to Hide Resource Types\n\n\n\n\nA left click of the mouse anywhere on the map will hide the Resource Stack display names, which may help to declutter the view if a number of data types are loaded at once.\n\n\n\n\nHold-Right-Click Background for Display Menu\n\n\n\n\nHolding down the right mouse button anywhere in the map view will open a right-click menu\n\n\n\n\n\n\nShow Map Legends\n\n\n\n\nFrom the above menu select \nShow Map Legends\n and watch the Resource Stack show only map resources which are loaded to the view.\n\n\n\n\n\n\nToggle 2 or 4-Panel Layout\n\n\n\n\nRight-click hold in the view and select \nTwo Panel Layout\n or \nFour Panel Layout\n to create duplicates of the current view (note that any data loaded to the \nview\n will be loaded to \nboth displays within the view\n).\n\n\nFrom this multi-pane display, hold-right-click again and you will see the \nSingle Panel Layout\n option to switch back to a standard view (defaulting to the left of two, and top-left of four).\n\n\n\n\nSample Loaded Resources\n\n\n\n\nMost data types have a right-click menu option for reading out the pixel value, displayed as multi-line text for multiple resources.\n\n\n\n\n\n\nHold-Right-Click Resource Name for Menu\n\n\n\n\nDrag the mouse over a loaded resource and \nhold\n the right mouse button until a menu appears (simply clicking the resource with the right mouse button will toggle its visibility).\n\n\nThe hold-right-click menu allows you to control individual resource \nImage Properties\n, \nChange Colormaps\n, change resource color, width, density, and magnification, \nmove resources up and down\n in the stack, as well as configure custom options with other interactive resources.\n\n\n\n\n\n\nProduct Browser\n\uf0c1\n\n\nThe Product Browser allows users to browse a complete data inventory in a side window, organized by data type. Selections for \nGFE\n, \nGrids\n, \nLightning\n, \nMap Overlays\n, \nRadar\n, \nSatellite\n, \nRedbook\n, and \nVIIRS\n are available. All products loaded with the Product Browser are given default settings. \n\n\n\n\n\n\nSwitch Pane Layouts\n\uf0c1\n\n\nwill switch between the single page (default) view and the 5-panel WFO view (centered on OAX by default).\n\n\n\n\nTime Options (Ctrl + T)\n\uf0c1\n\n\nThis check button enables/disables the ability to select the time interval between frames of real-time or model data. This feature has the added benefit of allowing you to view extended amounts of data (temporally) but stay within the limits of 64 frames. For example, METAR surface plots, which typically display every hour, can be set to display every three hours via the Select Valid Time and Time Resolution Dialog Box.\n\n\nWhen the Time Options check button is selected, the next product you choose to display in the Main Display Pane launches either the Select Valid Time and Time Resolution dialog box or the Select\nOffset and Tolerance dialog box.\n\n\n\n\n\n\nWhen you are loading data to an empty display and the Time Options check button is enabled, the Select Valid Time and Time Resolution dialog box opens.\n\n\n\n\n\n\nValid Time:\n In this column of dates/times, you may choose the one that will be the first frame loaded onto the Large Display Pane. The Default option is the most recent data.\n\n\n\n\n\n\nTime Resolution:\n This column contains various time increments in which the data can be displayed. Once you make a selection, the Valid Time Column indents the exact times that will\nbe displayed. The Default resolution displays the most recent frames available.\n\n\n\n\n\n\n\n\n\n\nWith the Time Options check button enabled for a display that already contains data, when you choose the data to be overlaid in the Main Display Pane, the Select Offset and Tolerance dialog\nbox appears, providing the following options:\n\n\n\n\n\n\nOffset\n: This column contains various time increments at intervals before, at, or after the time you selected for the first product that is displayed in the Main Display Pane.\n\n\n\n\n\n\nTolerance\n: The options in this column refer to how strict the time matching is. \"None\" means an exact match, while \"Infinite\" will put the closest match in each frame, regardless of how\nfar off it is.\n\n\n\n\n\n\n\n\n\n\n\n\nData Scale (Ctrl + S)\n\uf0c1\n\n\nThis check button enables/disables the ability to display data on its native scale. For example, if you enable Data Scaling and select a product from an alternate radar, the data will be displayed with that radar in the center of the screen. Other data can be overlaid on this \"dynamic\" scale until the Main Display Pane is cleared or a non-plan-view product is loaded.\n\n\n\n\nImage Combination (Insert)\n\uf0c1\n\n\nThis check button enables/disables the ability to display two images at once. You can also enable/disable the ability to combine images by using the Toggle Image Combination iconified button on the Toolbar.\n\n\nCombined-image displays have been improved by removing the valid time for non-forecast products and removing the date string (time is kept) from the left side of the legend. In particular, this\nmakes All-Tilts radar legends more usable.\n\n\n\n\nDisplay Properties\n\uf0c1\n\n\nThis menu option opens the Display Properties dialog box. All the options available in this dialog box are also available on the Toolbar.\n\n\n\n\n\n\nLoop Properties (Ctrl + L)\n\uf0c1\n\n\nLoop Properties is another dialog box that can be opened from the Options menu or from the Loop Properties iconified button on the D2D Toolbar, or by using the Ctrl + L keyboard shortcut. The dialog allows you to adjust the forward and backward speeds, with 0 = off and 10 = maximum speed. You can set the duration of the first and last frame dwell times to between zero and 2.5 seconds.\n\n\nYou can turn looping on or off by checking the Looping check button. There is also a Looping button located on the Toolbar that enables/disables the animation in the large display pane. Finally, you can turn looping on and increase/decrease forward speed by pressing Page Up/Page Down on your keyboard, and turn looping off with the Left or Right Arrow keys. On the toolbar, you can use the button to start/stop looping.\n\n\n\n\nImage Properties (Ctrl + I)\n\uf0c1\n\n\nThe Image Properties dialog box can be opened here or by using the Image Properties iconified button on the D2D Toolbar, or using using the Ctrl + I keyboard shortcut. This dialog box provides options that allow you to change the color table; adjust the brightness, contrast, and alpha of either a single image or combined images; fade between combined images; and/or interpolate the displayed data.\n\n\n\n\nSet Time\n\uf0c1\n\n\nThis option allows you to set the CAVE clock, located on the bottom of the screen, to an earlier time for reviewing archived data.\n\n\n\n\nSet Background Color\n\uf0c1\n\n\nYou can now set the background display color on your workstation. You can also set the background display color for a single pane via mouse Button 3 (B3).\n\n\n\n\nSwitching Perspectives\n\uf0c1\n\n\nCAVE > Perspective\n\n\nD2D is one of many available CAVE perspectives. By selecting the \nCAVE\n > \nPerspective\n menu you can switch into the \nGFE\n, \nHydro\n, \nLocalization\n, \nMPE\n, or \nNational Centers Perspective\n (which is available in the \nOther...\n submenu. Nobody seems to know why the NCP is not listed with the other perspectives, or how to make it appear with them).\n\n\n\n\n\n\nCAVE Preferences\n\uf0c1\n\n\nPreferences and settings for the CAVE client can be found in the \nCAVE > Preferences\n menu.\n\n\nSet the Localization Site and server for the workstation; configure mouse operations, change performance levels, font magnification, and text workstation hostname.\n\n\n\n\n\n\nLoad Mode\n\uf0c1\n\n\nUnder the Display Properties option is Load Mode, which provides different ways to display data by manipulating previous model runs and inventories of data sets. The selected load mode is shown on the toolbar when the Load Mode menu is closed.\n\n\nA description of the Load Mode options follow.\n\n\n\n\nLatest\n: Displays forecast data only from the latest model run, but also backfills at the beginning of the loop with available frames from previous runs to satisfy the requested number of\nframes.\n\n\nValid time seq\n: Displays the most recent data and fills empty frames with previous data. For models, it provides the product from the latest possible run for every available valid time.\n\n\nNo Backfill\n: Displays model data only from the most recent model run time with no backfilling to fill out a loop. Using this Load Mode prevents the mixing of old and new data.\n\n\nPrevious run\n: Displays the previous model run, backfilling with frames from previous runs at the beginning of the loop to satisfy the requested number of frames.\n\n\nPrev valid time seq\n: Displays the previous model run and fills empty frames with previous model data or analyses.\n\n\nPrognosis loop\n: Shows a sequence of n-hour forecasts from successive model runs.\n\n\nAnalysis loop\n: Loads a sequence of model analyses but no forecasts.\n\n\ndProg/dt\n: Selects forecasts from different model runs that all have the same valid times. This load mode is available only when there are no other products loaded in the large display\npane.\n\n\nForced\n: Puts the latest version of a selected product in all frames without time-matching.\n\n\nForecast match\n: Overlays a model product only when its forecast times match those of an initially loaded product. This load mode is available only when another product is already\nloaded in the large display pane.\n\n\nInventory\n: Selecting a product when the load mode is set to Inventory brings up a Dialog Box with the available forecast and inventory times from which you can select the product you\nwant. Inventory loads into the currently displayed frame.\n\n\nSlot\n: Puts the latest version of a selected product in the currently displayed frame.",
"title": "D2D Perspective"
},
{
"location": "/cave/d2d-perspective/#d2d-perspective",
"text": "D2D (Display 2-Dimensions) is the default AWIPS CAVE perspective, designed to mimmic the look and feel of the legacy AWIPS I system. System menus include CAVE , File , View , Options , Tools , and Help (far right) Data menus include Models , Surface , NCEP/Hydro , Upper Air , Satellite , Radar , MRMS , and Maps . Frame control, map projection, image properties, and a few featured applications ( Warngen , Nsharp , Ncdata , and Browser ) make up the the primary D2D toolbar.",
"title": "D2D Perspective"
},
{
"location": "/cave/d2d-perspective/#resource-stack",
"text": "At bottom-right of the map window the the Resource Stack, which displays all loaded resources and map overlays, and allows for interaction and customization with the resource via a right-click menu . There are three available views of the Resource Stack, the default will show all Product Resources. Right Click the mouse on the map background to switch to a Simple View. Right Click again to show all Map Resources. Right Click again to toggle back to Product Resources. It's important to understand that Product Resources and Map Resources are handled differently given the time-based nature of Products, compared to the static nature of maps. Selecting the Clear button will remove all Products but not remove any Map Products. Left-Click Resource Name to Hide A left click on any resource in the stack will hide the resource and turn the label gray. Clicking the name again makes the resource visible. Left-Click Background to Hide Resource Types A left click of the mouse anywhere on the map will hide the Resource Stack display names, which may help to declutter the view if a number of data types are loaded at once. Hold-Right-Click Background for Display Menu Holding down the right mouse button anywhere in the map view will open a right-click menu Show Map Legends From the above menu select Show Map Legends and watch the Resource Stack show only map resources which are loaded to the view. Toggle 2 or 4-Panel Layout Right-click hold in the view and select Two Panel Layout or Four Panel Layout to create duplicates of the current view (note that any data loaded to the view will be loaded to both displays within the view ). From this multi-pane display, hold-right-click again and you will see the Single Panel Layout option to switch back to a standard view (defaulting to the left of two, and top-left of four). Sample Loaded Resources Most data types have a right-click menu option for reading out the pixel value, displayed as multi-line text for multiple resources. Hold-Right-Click Resource Name for Menu Drag the mouse over a loaded resource and hold the right mouse button until a menu appears (simply clicking the resource with the right mouse button will toggle its visibility). The hold-right-click menu allows you to control individual resource Image Properties , Change Colormaps , change resource color, width, density, and magnification, move resources up and down in the stack, as well as configure custom options with other interactive resources.",
"title": "Resource Stack"
},
{
"location": "/cave/d2d-perspective/#product-browser",
"text": "The Product Browser allows users to browse a complete data inventory in a side window, organized by data type. Selections for GFE , Grids , Lightning , Map Overlays , Radar , Satellite , Redbook , and VIIRS are available. All products loaded with the Product Browser are given default settings.",
"title": "Product Browser"
},
{
"location": "/cave/d2d-perspective/#switch-pane-layouts",
"text": "will switch between the single page (default) view and the 5-panel WFO view (centered on OAX by default).",
"title": "Switch Pane Layouts"
},
{
"location": "/cave/d2d-perspective/#time-options-ctrl-t",
"text": "This check button enables/disables the ability to select the time interval between frames of real-time or model data. This feature has the added benefit of allowing you to view extended amounts of data (temporally) but stay within the limits of 64 frames. For example, METAR surface plots, which typically display every hour, can be set to display every three hours via the Select Valid Time and Time Resolution Dialog Box. When the Time Options check button is selected, the next product you choose to display in the Main Display Pane launches either the Select Valid Time and Time Resolution dialog box or the Select\nOffset and Tolerance dialog box. When you are loading data to an empty display and the Time Options check button is enabled, the Select Valid Time and Time Resolution dialog box opens. Valid Time: In this column of dates/times, you may choose the one that will be the first frame loaded onto the Large Display Pane. The Default option is the most recent data. Time Resolution: This column contains various time increments in which the data can be displayed. Once you make a selection, the Valid Time Column indents the exact times that will\nbe displayed. The Default resolution displays the most recent frames available. With the Time Options check button enabled for a display that already contains data, when you choose the data to be overlaid in the Main Display Pane, the Select Offset and Tolerance dialog\nbox appears, providing the following options: Offset : This column contains various time increments at intervals before, at, or after the time you selected for the first product that is displayed in the Main Display Pane. Tolerance : The options in this column refer to how strict the time matching is. \"None\" means an exact match, while \"Infinite\" will put the closest match in each frame, regardless of how\nfar off it is.",
"title": "Time Options (Ctrl + T)"
},
{
"location": "/cave/d2d-perspective/#data-scale-ctrl-s",
"text": "This check button enables/disables the ability to display data on its native scale. For example, if you enable Data Scaling and select a product from an alternate radar, the data will be displayed with that radar in the center of the screen. Other data can be overlaid on this \"dynamic\" scale until the Main Display Pane is cleared or a non-plan-view product is loaded.",
"title": "Data Scale (Ctrl + S)"
},
{
"location": "/cave/d2d-perspective/#image-combination-insert",
"text": "This check button enables/disables the ability to display two images at once. You can also enable/disable the ability to combine images by using the Toggle Image Combination iconified button on the Toolbar. Combined-image displays have been improved by removing the valid time for non-forecast products and removing the date string (time is kept) from the left side of the legend. In particular, this\nmakes All-Tilts radar legends more usable.",
"title": "Image Combination (Insert)"
},
{
"location": "/cave/d2d-perspective/#display-properties",
"text": "This menu option opens the Display Properties dialog box. All the options available in this dialog box are also available on the Toolbar.",
"title": "Display Properties"
},
{
"location": "/cave/d2d-perspective/#loop-properties-ctrl-l",
"text": "Loop Properties is another dialog box that can be opened from the Options menu or from the Loop Properties iconified button on the D2D Toolbar, or by using the Ctrl + L keyboard shortcut. The dialog allows you to adjust the forward and backward speeds, with 0 = off and 10 = maximum speed. You can set the duration of the first and last frame dwell times to between zero and 2.5 seconds. You can turn looping on or off by checking the Looping check button. There is also a Looping button located on the Toolbar that enables/disables the animation in the large display pane. Finally, you can turn looping on and increase/decrease forward speed by pressing Page Up/Page Down on your keyboard, and turn looping off with the Left or Right Arrow keys. On the toolbar, you can use the button to start/stop looping.",
"title": "Loop Properties (Ctrl + L)"
},
{
"location": "/cave/d2d-perspective/#image-properties-ctrl-i",
"text": "The Image Properties dialog box can be opened here or by using the Image Properties iconified button on the D2D Toolbar, or using using the Ctrl + I keyboard shortcut. This dialog box provides options that allow you to change the color table; adjust the brightness, contrast, and alpha of either a single image or combined images; fade between combined images; and/or interpolate the displayed data.",
"title": "Image Properties (Ctrl + I)"
},
{
"location": "/cave/d2d-perspective/#set-time",
"text": "This option allows you to set the CAVE clock, located on the bottom of the screen, to an earlier time for reviewing archived data.",
"title": "Set Time"
},
{
"location": "/cave/d2d-perspective/#set-background-color",
"text": "You can now set the background display color on your workstation. You can also set the background display color for a single pane via mouse Button 3 (B3).",
"title": "Set Background Color"
},
{
"location": "/cave/d2d-perspective/#switching-perspectives",
"text": "CAVE > Perspective D2D is one of many available CAVE perspectives. By selecting the CAVE > Perspective menu you can switch into the GFE , Hydro , Localization , MPE , or National Centers Perspective (which is available in the Other... submenu. Nobody seems to know why the NCP is not listed with the other perspectives, or how to make it appear with them).",
"title": "Switching Perspectives"
},
{
"location": "/cave/d2d-perspective/#cave-preferences",
"text": "Preferences and settings for the CAVE client can be found in the CAVE > Preferences menu. Set the Localization Site and server for the workstation; configure mouse operations, change performance levels, font magnification, and text workstation hostname.",
"title": "CAVE Preferences"
},
{
"location": "/cave/d2d-perspective/#load-mode",
"text": "Under the Display Properties option is Load Mode, which provides different ways to display data by manipulating previous model runs and inventories of data sets. The selected load mode is shown on the toolbar when the Load Mode menu is closed. A description of the Load Mode options follow. Latest : Displays forecast data only from the latest model run, but also backfills at the beginning of the loop with available frames from previous runs to satisfy the requested number of\nframes. Valid time seq : Displays the most recent data and fills empty frames with previous data. For models, it provides the product from the latest possible run for every available valid time. No Backfill : Displays model data only from the most recent model run time with no backfilling to fill out a loop. Using this Load Mode prevents the mixing of old and new data. Previous run : Displays the previous model run, backfilling with frames from previous runs at the beginning of the loop to satisfy the requested number of frames. Prev valid time seq : Displays the previous model run and fills empty frames with previous model data or analyses. Prognosis loop : Shows a sequence of n-hour forecasts from successive model runs. Analysis loop : Loads a sequence of model analyses but no forecasts. dProg/dt : Selects forecasts from different model runs that all have the same valid times. This load mode is available only when there are no other products loaded in the large display\npane. Forced : Puts the latest version of a selected product in all frames without time-matching. Forecast match : Overlays a model product only when its forecast times match those of an initially loaded product. This load mode is available only when another product is already\nloaded in the large display pane. Inventory : Selecting a product when the load mode is set to Inventory brings up a Dialog Box with the available forecast and inventory times from which you can select the product you\nwant. Inventory loads into the currently displayed frame. Slot : Puts the latest version of a selected product in the currently displayed frame.",
"title": "Load Mode"
},
{
"location": "/cave/maps-views-projections/",
"text": "Default Map Scales\n\uf0c1\n\n\nThe first toolbar menu item is a dropdown menu for different geographic areas and map projections. The efault view is always \nCONUS\n, which is a North Polar Steregraphic projection centered on the Continental United States.\n\n\nDefault projections and areas available in the menu\n\n\n\n\nN. Hemisphere\n (North Polar Stereographic)\n\n\nRegional\n (for the selected localization site)\n\n\nWFO\n (for the selected localization site)\n\n\nWorld Mercator\n\n\nWorld CED\n\n\nWorld Mollweide\n\n\nGeostationary (GOES East Full Disk)\n\n\nand \nRegional\n Mercator projections for \nAfrica\n, \nAustralia/NZ\n, \nSouth America\n, \nEurope\n, \nAlaska\n, \nHawaii\n, \nPuerto Rico\n, \nJapan\n, \nPacific Ocean\n, and the north and south poles.\n\n\n\n\nThere is also a \nWFO\n submenu which contains a map scale for every NWS localization site. \n\n\n\n\n\n\nNew Map Editor / View\n\uf0c1\n\n\nFile > New Map\n\n\nOpens a new map editor tab with the default projection (CONUS Polar Stereographic). \n\n\n\n\nThis can also be done by \nright-click\n on any tab and selecting \nNew Editor\n\n\n\n\n\n\nNew Projection\n\uf0c1\n\n\nFile > New Projection\n\n\nCreate a new map projection.",
"title": "Maps, Views, Projections"
},
{
"location": "/cave/maps-views-projections/#default-map-scales",
"text": "The first toolbar menu item is a dropdown menu for different geographic areas and map projections. The efault view is always CONUS , which is a North Polar Steregraphic projection centered on the Continental United States. Default projections and areas available in the menu N. Hemisphere (North Polar Stereographic) Regional (for the selected localization site) WFO (for the selected localization site) World Mercator World CED World Mollweide Geostationary (GOES East Full Disk) and Regional Mercator projections for Africa , Australia/NZ , South America , Europe , Alaska , Hawaii , Puerto Rico , Japan , Pacific Ocean , and the north and south poles. There is also a WFO submenu which contains a map scale for every NWS localization site.",
"title": "Default Map Scales"
},
{
"location": "/cave/maps-views-projections/#new-map-editor-view",
"text": "File > New Map Opens a new map editor tab with the default projection (CONUS Polar Stereographic). This can also be done by right-click on any tab and selecting New Editor",
"title": "New Map Editor / View"
},
{
"location": "/cave/maps-views-projections/#new-projection",
"text": "File > New Projection Create a new map projection.",
"title": "New Projection"
},
{
"location": "/cave/bundles-and-procedures/",
"text": "AWIPS contains two methods for saving and loading data resources: \nBundles\n are a simple way to save loaded resources to access in future CAVE sessions. \nProcedures\n are similar to Bundles, but can be thought of a \ngroups of bundles\n and allows the user to manage saved resources with more control.\n\n\nBundles\n\uf0c1\n\n\nFile > Open Bundle\n\uf0c1\n\n\nLoad a previously-saved bundle from within the AWIPS system. The Open Bundle dialog allows you to select your own saved bundles as well as those saved by other users (and other localization-levels such as \nworkstation\n).\n\n\nEach selected bundle will load its contents to new tabs which are named after the bundle file name (e.g. NAM_ThetaE)\n\n\n\n\nMost saved bundles will consist of a single Map Editor (tab), but with multiple tabs saved each will open again in its own Map Editor\n\n\n\n\nFile > Save Bundle\n\uf0c1\n\n\nSave a product display within the AWIPS system, synching the bundle between CAVE and the EDEX server.\n\n\n\n\nFile > Delete Bundle\n\uf0c1\n\n\nSelect and remove a saved bundle under File > Delete Bundle. Select the file name and click \nOK\n and then confirm deletion to remove the saved file permanently.\n\n\n\n\n\n\n\n\nLoad Bundle from Local Disk\n\uf0c1\n\n\nTo load a previously-saved display from a path within the file directory of the workstation, select \nFile > Open Bundle\n and then select the \nFile\n button on the right to browse your local directories.\n\n\n\n\n\n\nSave Bundle to Local Disk\n\uf0c1\n\n\nTo save a product display to a path within the file directory of the workstation, select \nFile > Save Bundle\n and then select the \nFile\n button on the right.\n\n\n\n\nProcedures\n\uf0c1\n\n\nNew Procedure\n\uf0c1\n\n\n\n\nSelect the menu \nFile > Procedures > New\n\n\nSelect \nCopy Into\n to add all loaded resources to the Procedure Stack\n\n\nSelect \nSave\n (or \nSave As\n) and then enter a name for the Procedure before clicking \nOK\n to save.\n\n\n\n\n\n\nOpen Procedure\n\uf0c1\n\n\nSimilar to creating a new Procedure, select \nFile > Procedures > Open\n, select the saved resources and click \nLoad\n to load them to CAVE.\n\n\nDelete Procedure\n\uf0c1\n\n\nFrom the menu \nFile > Procedures > Delete\n you can delete existing Procedure files in a way similar to deleting saved Bundle files.",
"title": "Bundles and Procedures"
},
{
"location": "/cave/bundles-and-procedures/#bundles",
"text": "",
"title": "Bundles"
},
{
"location": "/cave/bundles-and-procedures/#file-open-bundle",
"text": "Load a previously-saved bundle from within the AWIPS system. The Open Bundle dialog allows you to select your own saved bundles as well as those saved by other users (and other localization-levels such as workstation ). Each selected bundle will load its contents to new tabs which are named after the bundle file name (e.g. NAM_ThetaE) Most saved bundles will consist of a single Map Editor (tab), but with multiple tabs saved each will open again in its own Map Editor",
"title": "File > Open Bundle"
},
{
"location": "/cave/bundles-and-procedures/#file-save-bundle",
"text": "Save a product display within the AWIPS system, synching the bundle between CAVE and the EDEX server.",
"title": "File > Save Bundle"
},
{
"location": "/cave/bundles-and-procedures/#file-delete-bundle",
"text": "Select and remove a saved bundle under File > Delete Bundle. Select the file name and click OK and then confirm deletion to remove the saved file permanently.",
"title": "File > Delete Bundle"
},
{
"location": "/cave/bundles-and-procedures/#load-bundle-from-local-disk",
"text": "To load a previously-saved display from a path within the file directory of the workstation, select File > Open Bundle and then select the File button on the right to browse your local directories.",
"title": "Load Bundle from Local Disk"
},
{
"location": "/cave/bundles-and-procedures/#save-bundle-to-local-disk",
"text": "To save a product display to a path within the file directory of the workstation, select File > Save Bundle and then select the File button on the right.",
"title": "Save Bundle to Local Disk"
},
{
"location": "/cave/bundles-and-procedures/#procedures",
"text": "",
"title": "Procedures"
},
{
"location": "/cave/bundles-and-procedures/#new-procedure",
"text": "Select the menu File > Procedures > New Select Copy Into to add all loaded resources to the Procedure Stack Select Save (or Save As ) and then enter a name for the Procedure before clicking OK to save.",
"title": "New Procedure"
},
{
"location": "/cave/bundles-and-procedures/#open-procedure",
"text": "Similar to creating a new Procedure, select File > Procedures > Open , select the saved resources and click Load to load them to CAVE.",
"title": "Open Procedure"
},
{
"location": "/cave/bundles-and-procedures/#delete-procedure",
"text": "From the menu File > Procedures > Delete you can delete existing Procedure files in a way similar to deleting saved Bundle files.",
"title": "Delete Procedure"
},
{
"location": "/cave/import-export/",
"text": "Export Images\n\uf0c1\n\n\nFile > Export > Image\n\n\nwhich captures a screenshot of the current view\n\n\n\n\n\n\nExport KML\n\uf0c1\n\n\nFile > Export > KML\n\n\nThe \"Export\" submenu also includes a \"KML\" option, which allows users to save D2D displays or\nGFE grids in the KML (Keyhole Markup Language) file format. When zipped (compressed), the KML\nfile format forms a KMZ file, which can be used in applications such as Google Earth.\n\n\n\n\nThe KML dialog box includes options to select frames to export. This includes exporting all frames,\nthe current/displayed frame, a range of frames, and, in GFE, the selected time range as highlighted in\nthe Grid Manager. Additional options are available for selection under the \"Other Options\" section:\n\n\n\n\n\n\nExport Hidden\n: When selected, all displayed and hidden products listed in the Product Legend section of the Main Display Pane will be exported.\n\n\n\n\n\n\nExport Maps\n: When selected, all enabled maps displayed within the Main Display Pane will be\nexported.\n\n\n\n\n\n\nShade Earth\n: When selected, a shaded background is applied to the exported product. If loaded in Google Earth, the earth will be overlaid with a black backdrop, and data will be displayed as it would in D2D with a black background.\n\n\n\n\n\n\nShow Background Tiles\n: When selected, data (such as plot data) will display on top of black\ntiles when loaded in Google Earth.\n\n\n\n\n\n\n\n\nCAVE Import Formats\n\uf0c1\n\n\nCAVE supported the following geo-referenced data files. CAVE can import the following through formats through the \nCAVE\n -> \nImport\n menu.\n\n\n\n\n\n\nGIS Data\n\n\n\n\n\n\nBCD File\n\n\n\n\n\n\nGeoTIFF\n\n\n\n\n\n\nLPI File\n\n\n\n\n\n\nSPI File\n\n\n\n\n\n\nDisplays\n\n\n\n\n\n\n\n\n\n\nCAVE Export Formats\n\uf0c1\n\n\nCAVE can export to the following through the \nCAVE\n -> \nExport\n menu.\n\n\n\n\n\n\nKML\n\n\n\n\n\n\nEditor Display\n\n\n\n\n\n\nPerspective Display\n\n\n\n\n\n\nCapture Current Frame\n\n\n\n\n\n\nCapture All Frames\n\n\n\n\n\n\nPrint Screen",
"title": "Import/Export"
},
{
"location": "/cave/import-export/#export-images",
"text": "File > Export > Image which captures a screenshot of the current view",
"title": "Export Images"
},
{
"location": "/cave/import-export/#export-kml",
"text": "File > Export > KML The \"Export\" submenu also includes a \"KML\" option, which allows users to save D2D displays or\nGFE grids in the KML (Keyhole Markup Language) file format. When zipped (compressed), the KML\nfile format forms a KMZ file, which can be used in applications such as Google Earth. The KML dialog box includes options to select frames to export. This includes exporting all frames,\nthe current/displayed frame, a range of frames, and, in GFE, the selected time range as highlighted in\nthe Grid Manager. Additional options are available for selection under the \"Other Options\" section: Export Hidden : When selected, all displayed and hidden products listed in the Product Legend section of the Main Display Pane will be exported. Export Maps : When selected, all enabled maps displayed within the Main Display Pane will be\nexported. Shade Earth : When selected, a shaded background is applied to the exported product. If loaded in Google Earth, the earth will be overlaid with a black backdrop, and data will be displayed as it would in D2D with a black background. Show Background Tiles : When selected, data (such as plot data) will display on top of black\ntiles when loaded in Google Earth.",
"title": "Export KML"
},
{
"location": "/cave/import-export/#cave-import-formats",
"text": "CAVE supported the following geo-referenced data files. CAVE can import the following through formats through the CAVE -> Import menu. GIS Data BCD File GeoTIFF LPI File SPI File Displays",
"title": "CAVE Import Formats"
},
{
"location": "/cave/import-export/#cave-export-formats",
"text": "CAVE can export to the following through the CAVE -> Export menu. KML Editor Display Perspective Display Capture Current Frame Capture All Frames Print Screen",
"title": "CAVE Export Formats"
},
{
"location": "/cave/localization-perspective/",
"text": "Localization Levels\n\uf0c1\n\n\nAWIPS uses a hierarchical system known as \nLocalization\n to configure many aspects of EDEX and CAVE, such as available menu items, color maps, and derived parameters. This system allows a user to override existing configurations and customize CAVE. For example, a \nUser-level\n localization file will supercede any similar file in a lower level (such as \nWorkstation\n or \nSite\n).\n\n\n\n\nThere are six \nlevels of localization\n, starting with the default \nBASE\n\n\n\n\nBASE\n - default\n\n\nRegion\n - a region may have many sites (generally unused)\n\n\nSite\n - a site may have many desks (required)\n\n\nDesk\n - a desk may have many workstations\n\n\nWorkstation\n - a workstation may have many users\n\n\nUser\n - highest level of localization, overrides all others\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nLocalization Editor\n\uf0c1\n\n\nThe Localization Perspective acts as file editor for the XML, Python, and text files which customize the look and feel of CAVE. \n\n\nUsers may copy and add files to available directories at the \nWorkstation\n and \nUser\n levels.\n\n\nExamples of things that can be accessed through the perspective include (this list is not all-inclusive):\n\n\n\n\n\n\nNCP Predefined Areas, Color Maps and Style Rules\n\n\n\n\n\n\nD2D Volume Browser Controls\n\n\n\n\n\n\nD2D Bundles - Scales (WFO, State(s), etc.)\n\n\n\n\n\n\nCAVE Map Overlays, Color Maps and Style Rules\n\n\n\n\n\n\nGFE Tools and Utilities\n\n\n\n\n\n\n\n\nThe left panel contains a directory heirarchy of CAVE files for D2D, GFE, and NCP, which can be copied and edited as \nuser\n localization files.\n\n\n\n\nThere may be several versions of each file including \nBASE\n, \nCONFIGURED\n (GFE only), \nSITE\n, \nWORKSTATION\n, and \nUSER\n. Each file version is listed separately under the actual file name.\n\n\nThe \nFile Editor\n view opens the selected configuration file in an appropriate editor. For example, a Python file is opened in a Python editor, and an XML file is opened in an XML editor.\n\n\n--\n\n\nCustomizing CAVE Menus\n\uf0c1\n\n\nNavigate to \nCAVE\n > \nMenus\n and select a submenu (e.g. \nsatellite\n). This directory lists all of the menu file contributions made by this data plugin. Most data menu directories will have an \nindex.xml\n file from which you can investigate the menu structure and made needed changes. \n\n\nSelecting a file such as \nindex.xml\n will show a sub-menu with a default localization level (typically \nBASE\n or \nCONFIGURED\n). Double-click this tab to open in the file editor (you may need to click \nSource\n at the bottom of the view to see the raw XML). Right-click this tab and select \nCopy To\n > \nUser (awips)\n and you will see the file localization versions update with the new copy. Select this file to edit, and override, the existing version.\n\n\n--\n\n\nAdd new Predefined Area to NCP\n\uf0c1\n\n\nIn the Localization Perspective, navigate to \u2018\nNCEP - Predefined Area Menus\n\u2019, double-click \u2018\nAreaMenus.xml\n\u2019, and then right-click \u2018\nBASE\n\u2019 and select \u2018\nCopy To - User\n\u2019. You can also copy to \nDesk\n or \nWorkstation\n localization.\n\n\n\n\nYou will see a new \u2018\nUSER (username)\n\u2019 or \n\u2018WORKSTATION (name)\u2019 \nentry for the file \nAreaMenus.xml\n. \n\n\n \n\n\nDouble-click the new file and copy or create a new AreaMenuItem entry, such as a new CONUS Mercator projection called \nCONUS_Mercator\n:\n\n\n<AreaMenuItem subMenuName=\"\" menuName=\"CONUS (Mercator)\">\n\n <source>PREDEFINED_AREA</source>\n\n <areaName>CONUS_Mercator</areaName>\n\n</AreaMenuItem>\n\n\n\n\n\nNow you can either copy and post an existing xml area file, or simple create one in the NCP. Switch back to the NCP, and select \u2018\nArea - World\n\u2019 to load a known Mercator projection. Zoom in to the continental United States and then from the menu bar select \u2018\nFile - Save Area\n\u2019 and name it \nCONUS_Mercator\n so it matches the name string given in the above AreaMenuItem.\n\n\n\n\n\n\nYou can switch back to the Localization Perspective to confirm that the file was saved. It will be viewable under \nNCEP - Predefined Areas\n and, in this example, be called \nCONUS_Mercator.xml\n.\n\n\n\n\nCAVE needs to be restarted in order for the new menu item to show up under the NCP \nArea\n menu.\n\n\n\n\nSwitch to the new Area to confirm.\n\n\n\n\nOn your workstation you can find the new USER localization files in ~/caveData\n\n\nfind ~/caveData -name CONUS_Mercator.xml\n\n./etc/user/mjames/ncep/PredefinedAreas/CONUS_Mercator.xml\n./.localization/NCEP/Predefined Areas/CONUS_Mercator.xml",
"title": "Localization Perspective"
},
{
"location": "/cave/localization-perspective/#localization-levels",
"text": "AWIPS uses a hierarchical system known as Localization to configure many aspects of EDEX and CAVE, such as available menu items, color maps, and derived parameters. This system allows a user to override existing configurations and customize CAVE. For example, a User-level localization file will supercede any similar file in a lower level (such as Workstation or Site ). There are six levels of localization , starting with the default BASE BASE - default Region - a region may have many sites (generally unused) Site - a site may have many desks (required) Desk - a desk may have many workstations Workstation - a workstation may have many users User - highest level of localization, overrides all others",
"title": "Localization Levels"
},
{
"location": "/cave/localization-perspective/#localization-editor",
"text": "The Localization Perspective acts as file editor for the XML, Python, and text files which customize the look and feel of CAVE. Users may copy and add files to available directories at the Workstation and User levels. Examples of things that can be accessed through the perspective include (this list is not all-inclusive): NCP Predefined Areas, Color Maps and Style Rules D2D Volume Browser Controls D2D Bundles - Scales (WFO, State(s), etc.) CAVE Map Overlays, Color Maps and Style Rules GFE Tools and Utilities The left panel contains a directory heirarchy of CAVE files for D2D, GFE, and NCP, which can be copied and edited as user localization files. There may be several versions of each file including BASE , CONFIGURED (GFE only), SITE , WORKSTATION , and USER . Each file version is listed separately under the actual file name. The File Editor view opens the selected configuration file in an appropriate editor. For example, a Python file is opened in a Python editor, and an XML file is opened in an XML editor. --",
"title": "Localization Editor"
},
{
"location": "/cave/localization-perspective/#customizing-cave-menus",
"text": "Navigate to CAVE > Menus and select a submenu (e.g. satellite ). This directory lists all of the menu file contributions made by this data plugin. Most data menu directories will have an index.xml file from which you can investigate the menu structure and made needed changes. Selecting a file such as index.xml will show a sub-menu with a default localization level (typically BASE or CONFIGURED ). Double-click this tab to open in the file editor (you may need to click Source at the bottom of the view to see the raw XML). Right-click this tab and select Copy To > User (awips) and you will see the file localization versions update with the new copy. Select this file to edit, and override, the existing version. --",
"title": "Customizing CAVE Menus"
},
{
"location": "/cave/localization-perspective/#add-new-predefined-area-to-ncp",
"text": "In the Localization Perspective, navigate to \u2018 NCEP - Predefined Area Menus \u2019, double-click \u2018 AreaMenus.xml \u2019, and then right-click \u2018 BASE \u2019 and select \u2018 Copy To - User \u2019. You can also copy to Desk or Workstation localization. You will see a new \u2018 USER (username) \u2019 or \u2018WORKSTATION (name)\u2019 entry for the file AreaMenus.xml . Double-click the new file and copy or create a new AreaMenuItem entry, such as a new CONUS Mercator projection called CONUS_Mercator : <AreaMenuItem subMenuName=\"\" menuName=\"CONUS (Mercator)\">\n\n <source>PREDEFINED_AREA</source>\n\n <areaName>CONUS_Mercator</areaName>\n\n</AreaMenuItem> Now you can either copy and post an existing xml area file, or simple create one in the NCP. Switch back to the NCP, and select \u2018 Area - World \u2019 to load a known Mercator projection. Zoom in to the continental United States and then from the menu bar select \u2018 File - Save Area \u2019 and name it CONUS_Mercator so it matches the name string given in the above AreaMenuItem. You can switch back to the Localization Perspective to confirm that the file was saved. It will be viewable under NCEP - Predefined Areas and, in this example, be called CONUS_Mercator.xml . CAVE needs to be restarted in order for the new menu item to show up under the NCP Area menu. Switch to the new Area to confirm. On your workstation you can find the new USER localization files in ~/caveData find ~/caveData -name CONUS_Mercator.xml\n\n./etc/user/mjames/ncep/PredefinedAreas/CONUS_Mercator.xml\n./.localization/NCEP/Predefined Areas/CONUS_Mercator.xml",
"title": "Add new Predefined Area to NCP"
},
{
"location": "/cave/ncp-perspective/",
"text": "The National Centers Perspective (NCP)\n\uf0c1\n\n\nThe NCP toolbar includes two buttons to load \nData\n and \nBundles\n, respectively. The toolbar also include a \nClear\n button, \nZoom\n and \nUnzoom\n, and the \nNSHARP\n plugin.\n\n\n\n\n\n\nLoading Data\n\uf0c1\n\n\n\n\n\n\nClick the \"\n+Data\n\" button.\n\n\n\n\n\n\nSelect \nCategory\n, \nSource\n, \nGroup\n, and \nAttributes\n\n\n\n\n\n\nDouble-click the product, or select \"\nAdd\n\" and the data will load to CAVE with the default number of frames (Note: this makes time-matching more difficult. For time-matching multiple products, load as a \nBundle\n.)\n\n\n\n\n\n\n\n\nLatest Available Data Time\n or \nCycle Time\n is underneath the Attributes column at bottom-right.\n\n\n\n\nCreate a Bundle\n\uf0c1\n\n\nOpen the Resource Manager by:\n\n\n\n\n\n\nClick the \"\n+Bundle\n\" button on the toolbar\n\n\n\n\n\n\nPress the \nSpacebar\n\n\n\n\n\n\nPress the \"\nW\n\" key\n\n\n\n\n\n\nClick \nFile -> New -> Bundle\n.\n\n\n\n\n\n\n\n\n\n\nTimeline\n\uf0c1\n\n\nA timeline is displayed for available data. Here, the user may choose the dominant resource, number of frames, time range, reference time, etc. for the products to be displayed.\n\n\n\n\nClicking \"\nLoad\n\" will keep open the Resource Manager while the selected data layers are loaded to the map. \u201d\nLoad and Close\n\u201d will display data and close the Resource Manager.\n\n\n\n\nSave a Bundle\n\uf0c1\n\n\nIn AWIPS II CAVE, Bundles are organized within the Resource Manager GUI. Steps in the Bundle creation process are prompted with new GUI windows that are specific to the operation taking place, as you will see below.\n\n\n\n\n\n\nSelect resources for a Bundle (as in previous steps).\n\n\n\n\n\n\nClick the \"\nSave Bundle\n\".\n\n\n\n\n\n\nSelect or type-in your desired Group Name and Bundle name and click \"\nSave Bundle\n\".\n\n\n\n\n\n\n\n\nAfter saving a Bundle, its a good idea to confirm that it loads correctly. Select \"\nBundle\n\" -> \u201c\nLoad Bundle\n\u201d to find your newly created Bundle.\n\n\nThe \"\nEdit Bundle\n\" button is available to make any changes while loading.\n\n\n\n\nManage Bundles\n\uf0c1\n\n\nThe third tab in the Resource Manager, titled \nManage Bundles\n can be used to do just that: modify, create, and delete existing Bundle Groups.\n\n\nAt the top left, there are 3 options: \nModify Bundle Group\n, \nCreate Bundle Group\n, and \nDelete Bundle Group\n.\n\n\nThe user can change the order of the Bundles within the Bundle Group, by clicking the \"\nMove Up\n\" and \u201c\nMove Down\n\u201d buttons on the right. A user can add Bundles to an existing Bundle Group by clicking the \u201c\nAdd Bundle\n\u201d button. A new Gui will pop up, allowing the user to select a Bundle that exists within a different Bundle Group or a current CAVE display.\n\n\nA Bundle may be renamed by clicking the \"\nRename Bundle\n\" button. Similarly, an Bundle may be removed from a specific Bundle Group by clicking the \u201c\nRemove Bundle\n\u201d button. NOTE: any changes made here must be saved by clicking the \u201c\nSave Bundle Group\n\u201d button on the left-hand side.\n\n\nDeleting an Bundle Group is a fairly straightforward action. First, click the \"\nDelete Bundle Group\n\" option on the top-left, then select the Bundle Group Group and Name to be deleted.\n\n\n\n\n\n\nEdit Data Sources\n\uf0c1\n\n\n\n\nSelection a Resource to edit allows you to update the number of frames, frame span, range and timeline form. The plugin name and grid name (\nGDFILE\n) can also be edited.\n\n\n\n\n\n\nEdit Resource Attributes\n\uf0c1\n\n\nUsing gridded data, selecting an Attribute to edit allows you to change the GEMPAK syntax used to define the resource.\n\n\n\n\n\n\nAdd a New Grid\n\uf0c1\n\n\n\n\n\n\nClick the \"\nBundle\n\" button and then open the \u201c\nManage Data\n\u201d tab.\n\n\n\n\n\n\nSelect the category (we will use \nGRID\n).\n\n\n\n\n\n\nSelect a model to copy as a template. In this example we select the base \"\nNAM-12km\n\" model.\n\n\n\n\n\n\nClick the \"\nCopy\n\" button underneath the GRID column.\n\n\n\n\n\n\n\n\n\n\nYou can edit the new resource under \"\nEdit Resource Type\n\".\n\n\n\n\n\n\n\n\n\n\nChoose a name for the new resource (e.g. \nWRF\n)\n\n\n\n\n\n\nIn \"\nEdit Resource Parameters\n\", change the \u201c\nGDFILE=\n\u201d definition to match the name of the new model in the database (In this case we change \nGDFILE=NAM\n to \nGDFILE=WRF)\n.\n\n\n\n\n\n\n\n\n\n\n\n\nClick \"\nCreate\n\" at the bottom of the window to finish.\n\n\n\n\n\n\nThe new Resource now displays with a (\nU\n) next to the name, signifying a user-created item.\n\n\n\n\n\n\n\n\n\n\n\n\nIn \nAttribute Groups\n, you can add attributes to a resource by clicking \"\nEdit\n\".\n\n\n\n\n\n\nSelect the desired Attribute Set and click \"\nAdd ->\n\" to add it to the right column (You can hold the \nCtrl\n key and select multiple Attributes.)\n\n\n\n\n\n\n\n\n\n\n\n\nClick \"\nSave\n\" and then \u201c\nOk\n\u201d.\n\n\n\n\n\n\nIn the \"\nCreate Bundle\n\" tab, click \u201c\nNew\n\u201d to see the new Resource.\n\n\n\n\n\n\n\n\n\n\nMulti-Pane Display\n\uf0c1\n\n\nThe NCP includes a configurable multi-pane display. As seen in the figure below, selecting the \"Multi-Pane\" check box extends the GUI window and displays additional options.\n\n\n\n\nSelecting the \"\nMulti-Pane Display\n\" checkbox enables the multi-pane builder.\n\n\n\n\nThis new feature allows you to customize the number of panes you would like to display in AWIPS II CAVE. The \"Select Pane\" portion of the GUI allows you to load different products into each pane, which includes importing previously created bundles.\n\n\nHere are a few quick steps to creating a Multi-pane display in AWIPS II:\n\n\n\n\n\n\nClick the \nMulti-Pane\n checkbox in the Resource Manager\n\n\n\n\n\n\nSelect the number of \nRows\n and \nColumns\n you would like your data display to contain\n\n\n\n\n\n\nSelect the precise pane in which you would like a specific product (i.e. Row 1, Column1)\n\n\n\n\n\n\nChoose a product through the \nAdd\n button (See Data Selection above)\n\n\n\n\n\n\nSelect a different cell in your multi-paned display in which you would like to display a product \n\n\n\n\nthe user will need to load a separate product from the Resource Manager for each pane in the \nselect pane\n layout\n\n\n\n\n\n\n\n\nRepeat step #4\n\n\n\n\n\n\nRepeat the previous steps, until all of your panes have products queued up inside. \n\n\n\n\n\n\nClick \"\nLoad\n\" and your multi-paned display will appear\n\n\n\n\n\n\n\n\nLoad Multiple Bundles\n\uf0c1\n\n\nThe Load Bundle tab in the Resource Manager can be used to load Bundles previously created by the user:\n\n\n\n\nThe user should select name of the Group in which the desired Bundle is housed. After doing so, a list of available Bundles will appear in the centrally located \"Bundles\" pane. Selecting a Bundle will populate the pane on the right, which displays the contents of each Bundle, and also provides information on its Localization settings.\n\n\nClicking \"Load\" or \u201cLoad and Close\u201d at the bottom of this window will load the saved Bundle. Before doing so, you can adjust things like Frames, dominant resources, time range, etc. in the \u201c\nSelect Timeline\n\u201d section at the bottom of the window. \n\n\nMultiple Bundles can be selected and loaded all at once by simply hold the \nCtl\n key and multi-selecting Bundles from the central pane, and then clicking either of the Load buttons. If multiple Bundles are loaded at once, they will each be displayed in different tabs in the CAVE interface. The order/arrangement of the Bundles will be mimicked in the order of the tabs when displayed in CAVE. \n\n\nFinally, the user may also edit an Bundle in this tab, simply by clicking the \"\nEdit\n\" button, and making desired changes in the GUI that pops up.",
"title": "NCP Perspective"
},
{
"location": "/cave/ncp-perspective/#the-national-centers-perspective-ncp",
"text": "The NCP toolbar includes two buttons to load Data and Bundles , respectively. The toolbar also include a Clear button, Zoom and Unzoom , and the NSHARP plugin.",
"title": "The National Centers Perspective (NCP)"
},
{
"location": "/cave/ncp-perspective/#loading-data",
"text": "Click the \" +Data \" button. Select Category , Source , Group , and Attributes Double-click the product, or select \" Add \" and the data will load to CAVE with the default number of frames (Note: this makes time-matching more difficult. For time-matching multiple products, load as a Bundle .) Latest Available Data Time or Cycle Time is underneath the Attributes column at bottom-right.",
"title": "Loading Data"
},
{
"location": "/cave/ncp-perspective/#create-a-bundle",
"text": "Open the Resource Manager by: Click the \" +Bundle \" button on the toolbar Press the Spacebar Press the \" W \" key Click File -> New -> Bundle .",
"title": "Create a Bundle"
},
{
"location": "/cave/ncp-perspective/#timeline",
"text": "A timeline is displayed for available data. Here, the user may choose the dominant resource, number of frames, time range, reference time, etc. for the products to be displayed. Clicking \" Load \" will keep open the Resource Manager while the selected data layers are loaded to the map. \u201d Load and Close \u201d will display data and close the Resource Manager.",
"title": "Timeline"
},
{
"location": "/cave/ncp-perspective/#save-a-bundle",
"text": "In AWIPS II CAVE, Bundles are organized within the Resource Manager GUI. Steps in the Bundle creation process are prompted with new GUI windows that are specific to the operation taking place, as you will see below. Select resources for a Bundle (as in previous steps). Click the \" Save Bundle \". Select or type-in your desired Group Name and Bundle name and click \" Save Bundle \". After saving a Bundle, its a good idea to confirm that it loads correctly. Select \" Bundle \" -> \u201c Load Bundle \u201d to find your newly created Bundle. The \" Edit Bundle \" button is available to make any changes while loading.",
"title": "Save a Bundle"
},
{
"location": "/cave/ncp-perspective/#manage-bundles",
"text": "The third tab in the Resource Manager, titled Manage Bundles can be used to do just that: modify, create, and delete existing Bundle Groups. At the top left, there are 3 options: Modify Bundle Group , Create Bundle Group , and Delete Bundle Group . The user can change the order of the Bundles within the Bundle Group, by clicking the \" Move Up \" and \u201c Move Down \u201d buttons on the right. A user can add Bundles to an existing Bundle Group by clicking the \u201c Add Bundle \u201d button. A new Gui will pop up, allowing the user to select a Bundle that exists within a different Bundle Group or a current CAVE display. A Bundle may be renamed by clicking the \" Rename Bundle \" button. Similarly, an Bundle may be removed from a specific Bundle Group by clicking the \u201c Remove Bundle \u201d button. NOTE: any changes made here must be saved by clicking the \u201c Save Bundle Group \u201d button on the left-hand side. Deleting an Bundle Group is a fairly straightforward action. First, click the \" Delete Bundle Group \" option on the top-left, then select the Bundle Group Group and Name to be deleted.",
"title": "Manage Bundles"
},
{
"location": "/cave/ncp-perspective/#edit-data-sources",
"text": "Selection a Resource to edit allows you to update the number of frames, frame span, range and timeline form. The plugin name and grid name ( GDFILE ) can also be edited.",
"title": "Edit Data Sources"
},
{
"location": "/cave/ncp-perspective/#edit-resource-attributes",
"text": "Using gridded data, selecting an Attribute to edit allows you to change the GEMPAK syntax used to define the resource.",
"title": "Edit Resource Attributes"
},
{
"location": "/cave/ncp-perspective/#add-a-new-grid",
"text": "Click the \" Bundle \" button and then open the \u201c Manage Data \u201d tab. Select the category (we will use GRID ). Select a model to copy as a template. In this example we select the base \" NAM-12km \" model. Click the \" Copy \" button underneath the GRID column. You can edit the new resource under \" Edit Resource Type \". Choose a name for the new resource (e.g. WRF ) In \" Edit Resource Parameters \", change the \u201c GDFILE= \u201d definition to match the name of the new model in the database (In this case we change GDFILE=NAM to GDFILE=WRF) . Click \" Create \" at the bottom of the window to finish. The new Resource now displays with a ( U ) next to the name, signifying a user-created item. In Attribute Groups , you can add attributes to a resource by clicking \" Edit \". Select the desired Attribute Set and click \" Add -> \" to add it to the right column (You can hold the Ctrl key and select multiple Attributes.) Click \" Save \" and then \u201c Ok \u201d. In the \" Create Bundle \" tab, click \u201c New \u201d to see the new Resource.",
"title": "Add a New Grid"
},
{
"location": "/cave/ncp-perspective/#multi-pane-display",
"text": "The NCP includes a configurable multi-pane display. As seen in the figure below, selecting the \"Multi-Pane\" check box extends the GUI window and displays additional options. Selecting the \" Multi-Pane Display \" checkbox enables the multi-pane builder. This new feature allows you to customize the number of panes you would like to display in AWIPS II CAVE. The \"Select Pane\" portion of the GUI allows you to load different products into each pane, which includes importing previously created bundles. Here are a few quick steps to creating a Multi-pane display in AWIPS II: Click the Multi-Pane checkbox in the Resource Manager Select the number of Rows and Columns you would like your data display to contain Select the precise pane in which you would like a specific product (i.e. Row 1, Column1) Choose a product through the Add button (See Data Selection above) Select a different cell in your multi-paned display in which you would like to display a product the user will need to load a separate product from the Resource Manager for each pane in the select pane layout Repeat step #4 Repeat the previous steps, until all of your panes have products queued up inside. Click \" Load \" and your multi-paned display will appear",
"title": "Multi-Pane Display"
},
{
"location": "/cave/ncp-perspective/#load-multiple-bundles",
"text": "The Load Bundle tab in the Resource Manager can be used to load Bundles previously created by the user: The user should select name of the Group in which the desired Bundle is housed. After doing so, a list of available Bundles will appear in the centrally located \"Bundles\" pane. Selecting a Bundle will populate the pane on the right, which displays the contents of each Bundle, and also provides information on its Localization settings. Clicking \"Load\" or \u201cLoad and Close\u201d at the bottom of this window will load the saved Bundle. Before doing so, you can adjust things like Frames, dominant resources, time range, etc. in the \u201c Select Timeline \u201d section at the bottom of the window. Multiple Bundles can be selected and loaded all at once by simply hold the Ctl key and multi-selecting Bundles from the central pane, and then clicking either of the Load buttons. If multiple Bundles are loaded at once, they will each be displayed in different tabs in the CAVE interface. The order/arrangement of the Bundles will be mimicked in the order of the tabs when displayed in CAVE. Finally, the user may also edit an Bundle in this tab, simply by clicking the \" Edit \" button, and making desired changes in the GUI that pops up.",
"title": "Load Multiple Bundles"
},
{
"location": "/cave/nsharp/",
"text": "NSHARP\n\uf0c1\n\n\nNSHARP, which stands for the \nN\national Center \nS\nounding and \nH\nodograph \nA\nnalysis and \nR\nesearch \nP\nrogram, is an AWIPS plugin originally based on NAWIPS NSHAREP, SPCs \nBigSHARP\n sounding display tool, and the Python package \nSHARpy\n. \n\n\nNSHARP is available a number of ways in CAVE:\n\n\n\n\nFrom the \nD2D toolbar\n select the NSHARP icon\n\n\nFrom the \nUpper Air\n menu select \nNSHARP Soundings\n\n\nFrom the \nUpper Air\n menu select a station from the RAOB menus\n\n\nFrom the \nUpper Air\n menu select \nNUCAPS Soundings\n\n\nFrom within \nModels > Volume Browser\n\n\nFrom the \nMaps\n menu select \nSounding Locs\n to \n\n\n\n\nNSHARP Configurations\n\uf0c1\n\n\nNSHARP has four configurations for use in different operational settings:\n\n\n\n\n\n\nSPC Wide\n - more insets and graphs at the expense of timeline/station inventory.\n\n\n\n\n\n\nD2D Skewt Standard\n - default for WFOs, larger SkewT with inventory, no Wind/Height, temperature advection, insets, or graphs.\n\n\n\n\n\n\nD2D Lite\n - Skew-T, table, and inventory only.\n\n\n\n\n\n\nOPC\n - Ocean Prediction Center display.\n\n\n\n\n\n\n\n\nIf you would like to interactively explore the different graphical areas in\u00a0NSHARP\u00a0\non the Web\n, see the\u00a0\nNSHARP Interactive Overview\n\n\n\n\n\n\nTo change the NSHARP confiuguration:\n\n\n\n\nClick the \nConfigure\n button\n\n\nClick \nDisplay Pane Configuration\n (second from bottom)\n\n\nChoose configuration, apply, save, close\n\n\n\n\n\n\nSkew-T Display\n\uf0c1\n\n\nThe Skew-T display renders a vertical profile of temperature, dew point, and wind for RAOBs and model point soundings using a Skew-T Log-P diagram. Skew-T is the default upper air chart in AWIPS, and can be changed to \nturbulence display\n (\"T\") or an \nicing display\n (\"I\"). \n\n\nThe upper-left red box is linked to the cursor readout when over the SkewT chart, reported as temperature, dewpoint, wind direction and speed, pressure, height AGL, and RH of the trace.\n\n\nWindspeed vs Height and Inferred Temperature Advection\n\uf0c1\n\n\nThe windspeed vs height and inferred temperature advection with height plot (referred to by label \"iii\" in the NSHARP schematic images) is situated next to the SkewT to show the values at the same heights. Inferred temperature advection is from the thermal wind. Use the AWIPS-2 NSHARP Interactive Overview page for more information about the Skew-T display.\n\n\nHodograph Display\n\uf0c1\n\n\nThis panel contains the hodograph display from the sounding data (referred to by label \"iv\" in the NSHARP schematic images). The rings in the hodograph represent the wind speed in 20 knot increments. The hodograph trace uses different colors to highlight wind observations in 3 km height increments. This display also contains information such as the mean wind, Bunkers Left/Right Moving storm motion, upshear and downshear Corfidi vectors, and a user-defined motion. Use the AWIPS NSHARP Interactive Overview page for more information about the hodograph display.\n\n\nInsets\n\uf0c1\n\n\nIn the SPC Wide Screen Configuration there are four small insets beneath the hodograph containing storm-relative windspeed versus height, a Storm Slinky, Theta-E vs Pressure, Possible Watch Type, Thea-E vs Height, and storm-relative wind vectors (referred to by label \"v\" in the NSHARP schematic images). There are buttons in the NSHARP(D2D) control button tab that toggle the six possible contents in the four boxes. Use the AWIPS NSHARP Interactive Overview page for more information on the tables and a list/definition of the parameters available.\n\n\nTable Output Displays\n\uf0c1\n\n\nThe Table Output Displays (referred to by label \"vi\" in the NSHARP schematic images) contains five different pages of parameters ranging from parcel instability to storm relative shear to severe hazards potential. Use the AWIPS NSHARP Interactive Overview page for more information on the tables and a list/definition of the parameters available.\n\n\nGraphs/Statistics\n\uf0c1\n\n\nIn the SPC Wide Screen Configuration there are two graphs boxes under the insets (referred to by label \"vii\" in the NSHARP schematic images), and they can display information on Enhanced Bulk Shear, Significant Tornado Parameter, Significant Hail Parameter (SHIP), Winter Weather, Fire Weather, Hail model (not implemented), and the Sounding Analog Retrieval System (SARS). There are buttons in the NSHARP(D2D) control button tab that toggle the six possible contents in the two boxes. Use the AWIPS NSHARP Interactive Overview page for more information on the tables and a list/definition of the parameters available.\n\n\nSounding Inventory\n\uf0c1\n\n\nThis section (referred to by label \"viii\" in the NSHARP schematic images) controls the inventory of the soundings that have been loaded for potential display in NSHARP. The different colors of the text represent variously that a sounding/station is being displayed, available for display, or not available for display. Use the AWIPS NSHARP Interactive Overview page for more information on how to use the sounding inventory and time line.",
"title": "NSHARP"
},
{
"location": "/cave/nsharp/#nsharp",
"text": "NSHARP, which stands for the N ational Center S ounding and H odograph A nalysis and R esearch P rogram, is an AWIPS plugin originally based on NAWIPS NSHAREP, SPCs BigSHARP sounding display tool, and the Python package SHARpy . NSHARP is available a number of ways in CAVE: From the D2D toolbar select the NSHARP icon From the Upper Air menu select NSHARP Soundings From the Upper Air menu select a station from the RAOB menus From the Upper Air menu select NUCAPS Soundings From within Models > Volume Browser From the Maps menu select Sounding Locs to",
"title": "NSHARP"
},
{
"location": "/cave/nsharp/#nsharp-configurations",
"text": "NSHARP has four configurations for use in different operational settings: SPC Wide - more insets and graphs at the expense of timeline/station inventory. D2D Skewt Standard - default for WFOs, larger SkewT with inventory, no Wind/Height, temperature advection, insets, or graphs. D2D Lite - Skew-T, table, and inventory only. OPC - Ocean Prediction Center display. If you would like to interactively explore the different graphical areas in\u00a0NSHARP\u00a0 on the Web , see the\u00a0 NSHARP Interactive Overview To change the NSHARP confiuguration: Click the Configure button Click Display Pane Configuration (second from bottom) Choose configuration, apply, save, close",
"title": "NSHARP Configurations"
},
{
"location": "/cave/nsharp/#skew-t-display",
"text": "The Skew-T display renders a vertical profile of temperature, dew point, and wind for RAOBs and model point soundings using a Skew-T Log-P diagram. Skew-T is the default upper air chart in AWIPS, and can be changed to turbulence display (\"T\") or an icing display (\"I\"). The upper-left red box is linked to the cursor readout when over the SkewT chart, reported as temperature, dewpoint, wind direction and speed, pressure, height AGL, and RH of the trace.",
"title": "Skew-T Display"
},
{
"location": "/cave/nsharp/#windspeed-vs-height-and-inferred-temperature-advection",
"text": "The windspeed vs height and inferred temperature advection with height plot (referred to by label \"iii\" in the NSHARP schematic images) is situated next to the SkewT to show the values at the same heights. Inferred temperature advection is from the thermal wind. Use the AWIPS-2 NSHARP Interactive Overview page for more information about the Skew-T display.",
"title": "Windspeed vs Height and Inferred Temperature Advection"
},
{
"location": "/cave/nsharp/#hodograph-display",
"text": "This panel contains the hodograph display from the sounding data (referred to by label \"iv\" in the NSHARP schematic images). The rings in the hodograph represent the wind speed in 20 knot increments. The hodograph trace uses different colors to highlight wind observations in 3 km height increments. This display also contains information such as the mean wind, Bunkers Left/Right Moving storm motion, upshear and downshear Corfidi vectors, and a user-defined motion. Use the AWIPS NSHARP Interactive Overview page for more information about the hodograph display.",
"title": "Hodograph Display"
},
{
"location": "/cave/nsharp/#insets",
"text": "In the SPC Wide Screen Configuration there are four small insets beneath the hodograph containing storm-relative windspeed versus height, a Storm Slinky, Theta-E vs Pressure, Possible Watch Type, Thea-E vs Height, and storm-relative wind vectors (referred to by label \"v\" in the NSHARP schematic images). There are buttons in the NSHARP(D2D) control button tab that toggle the six possible contents in the four boxes. Use the AWIPS NSHARP Interactive Overview page for more information on the tables and a list/definition of the parameters available.",
"title": "Insets"
},
{
"location": "/cave/nsharp/#table-output-displays",
"text": "The Table Output Displays (referred to by label \"vi\" in the NSHARP schematic images) contains five different pages of parameters ranging from parcel instability to storm relative shear to severe hazards potential. Use the AWIPS NSHARP Interactive Overview page for more information on the tables and a list/definition of the parameters available.",
"title": "Table Output Displays"
},
{
"location": "/cave/nsharp/#graphsstatistics",
"text": "In the SPC Wide Screen Configuration there are two graphs boxes under the insets (referred to by label \"vii\" in the NSHARP schematic images), and they can display information on Enhanced Bulk Shear, Significant Tornado Parameter, Significant Hail Parameter (SHIP), Winter Weather, Fire Weather, Hail model (not implemented), and the Sounding Analog Retrieval System (SARS). There are buttons in the NSHARP(D2D) control button tab that toggle the six possible contents in the two boxes. Use the AWIPS NSHARP Interactive Overview page for more information on the tables and a list/definition of the parameters available.",
"title": "Graphs/Statistics"
},
{
"location": "/cave/nsharp/#sounding-inventory",
"text": "This section (referred to by label \"viii\" in the NSHARP schematic images) controls the inventory of the soundings that have been loaded for potential display in NSHARP. The different colors of the text represent variously that a sounding/station is being displayed, available for display, or not available for display. Use the AWIPS NSHARP Interactive Overview page for more information on how to use the sounding inventory and time line.",
"title": "Sounding Inventory"
},
{
"location": "/cave/warngen/",
"text": "WarnGen is an AWIPS graphics application for creating and issuing warnings as is done by National Weather Service offices. In the Unidata AWIPS release it is a \nnon-operational\n forecasting tool, meaning it allows users to experiment and simulate with the drawing and text-generation tools, but prevents you from transmitting a generated warning upstream. \n\n\n\n\nIn order to select a feature it must be within your \nCAVE localization\n coverage (load \nMaps\n > \nCounty Warning Areas\n to see coverages)\n\n\n\n\nSteps involved in using WarnGen in Unidata AWIPS CAVE 17.1.1\n\n\n\n\nLoad NEXRAD Display from the Radar menu.\n\n\nChoose a WFO site with active severe weather (LKZ is used in the video).\n\n\nRe-localize to this site in the CAVE > Preferences > Localization menu.\n\n\nLoad NEXRAD Display again and select a WSR-88D site to load a 2-panel display of 0.5 degree Reflectivity (N0Q) and Velocity (N0U).\n\n\nClick the WarnGen toolbar button or load from Tools > WarnGen.\n\n\nDrag the storm marker to the center of a storm feature.\n\n\nStep through frames back and forth and adjust the marker to match the trajectory of the storm feature.\n\n\nFrom the WarnGen dialog select the type of warning to generate, the time range, the basis of the warning, and any threats to add (wind, hail, etc). \n\n\nClick \"Create Text\" at the bottom of the WarnGen dialog to generate a text warning product in a new window.\n\n\nClick \"Reset\" at the top of the WarnGen dialog to reset the storm marker at any time.\n\n\nSelect \"Line of Storms\" to enable a two-pointed vector which is to be positioned parallel to a storm line.\n\n\n\n\n\n\n\n\n\nLoad NEXRAD level 3 display\n\uf0c1\n\n\nSelect the menu \nRadar\n > \nNEXRAD Display\n and note coverage areas of current severe weather. We choose a WFO ID that contains some active severe weather (KLZK Little Rock, Arkansas, in this example).\n\n\nSelect SITE Localization\n\uf0c1\n\n\nOpen \nCAVE\n > \nPreferences\n > \nLocalization\n, select the WFO ID (KLZK) for the coverage area you want to use, followed by \nApply\n and then \nRestart\n.\n\n\nSelect the nearest WSR-88D location\n\uf0c1\n\n\nClick on any NEXRAD Display station to load a two-pane Reflectivity/Velocity view.\n\n\nLaunch WarnGen\n\uf0c1\n\n\nSelect \nWarnGen\n from the D2D Toolbar or from the \nTools\n menu. When started, the storm centroid marker appears and the WarnGen GUI will pop up as a separate window. \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nGenerate a Storm Motion Vector\n\uf0c1\n\n\n\n\nClick and drag \nDrag Me to Storm\n to the feature you want to track (WarnGen uses a dot to track a single storm and a line to track a line of storms).\n\n\nStep back 3 to 4 frames.\n\n\nDrag the dot to the previous position of the feature you first marked.\n\n\nReview the product loop and make adjustments to ensure the vector is accurate.\n\n\n\n\nRestart\n\uf0c1\n\n\nClick the \nReset\n button to clear all current polygons and vectors and reset the storm centroid marker.\n\n\nRedrawing a Polygon\n\uf0c1\n\n\nSelect the \nTrack\n button in the \n\"Redraw Box on Screen\"\n section to redraw a default warning polygon oriented along the storm motion track and containing the storm centroid dot for the most recent volume scan. The initial polygon may have unhatched areas that will be removed from the warning due to crossing CWAs or not meeting area thresholds in the county for inclusion. The Warned/Hatched Area button allow you to preview the polygon shape that will be issued, so you can make further edits.\n\n\nMoving Vertex Points\n\uf0c1\n\n\nVertices can be moved by clicking and dragging with the mouse. The warning polygon, including stippling, will update automatically.\n\n\n\n\nWhen reshaping your warning polygon in this manner, the philosophy is to include all areas that are at risk of experiencing severe weather covered by that warning type. Effective polygons account for uncertainty over time and typically widen downstream. There will be a lot of training provided on Storm-Based Warning Fundamentals in RAC and in the workshop, and this lesson is more focused on the basic mechanics.\n\n\nAdd and Remove Vertex Points\n\uf0c1\n\n\nThere will be some occasions where you will want to add vertices to your warning polygon. Most often, these situations will involve line warnings with bowing segments or single storm warnings where you want to account for storm motion uncertainty or multiple threat areas that may have differing storm motions.\n\n\nNew vertices are added to the warning polygon using a context relative menu accessed by selecting the warning polygon line segments with a \nRight Mouse Button \"click and hold\"\n. \n\n\n\n\nHold right-click and select \nadd vertex\n.\n\n\nClick the left mouse button at the location you desire for the new vertex and the point is created there.\n\n\nClicking the middle mouse button (or scroll wheel) along an edge of the polygon will also place a vertex at that point.\n\n\n\n\nVertex points are removed from the warning polygon using the same context relative menu. Instead of selecting a line segment, you select the vertex you wish to remove and then \nclick and hold\n with right mouse button. Hold right-click and select \nremove vertex\n. \n\n\nRestoring a Polygon\n\uf0c1\n\n\nWhen you are customizing a polygon in WarnGen, speed is critical. Everyone, even veteran warning forecasters, will occasionally draw a warning polygon one way and then realize, prior to sending the warning, that they want to draw the warning boundaries differently. Depending on the complexity of the changes you make to a warning polygon, sometimes it\u2019s faster to just start over from scratch. The easiest way to proceed, especially if you are still comfortable with the storm motion, is to select the \u201cTrack\u201d button from the \u201cRedraw Box on Screen from\u201d section of the WarnGen GUI.\n\n\nText Window\n\uf0c1\n\n\nUsing the customized settings in the WarnGen GUI, WarnGen translates the information into a text product that is displayed in a text window on the Text Display. Initially the AWIPS Header Block window appears, and you will just click Enter to modify the text of the warning. The auto-generated text contains the storm speed and direction, the counties and cities affected by the warning/advisory, the valid times of the product, the warning/advisory body text (including any optional bullets selected in the GUI), and additional code to help our partners to efficiently process and disseminate the warning/advisory. The locked parts of the text are highlighted in blue and most of your text should not need to be edited if you configured your WarnGen window correctly.\n\n\nFor some products like Severe Weather Statements, there are parts of text that must be edited that have wild-card characters around them that need to be removed after modifying the text inside (e.g. !\n WEAKENED.MOVED OUT OF THE WARNED AREA. \n!). When you attempt to send a product, WarnGen will instruct you to modify this text if you have not. Once the text looks ready for submission you click the Send button, and, on a live system, the warning will be transmitted for public broadcast after you press the Go Ahead button on the final WarnGen check. WES-2 Bridge has been implemented in a way that cannot interact with the live AWIPS processes and communications, so warnings issued on the WES-2 Bridge will not be transmitted as live products.\n\n\nNOTE: Edits made to product text in the editor window should be limited to items such as forecaster name/initials, call-to-action text, etc. If changes are warranted for items such as storm motion, warned counties, or Latitude/Longitude points, close the editor window and make changes using the D-2D and WarnGen graphical tools, then recreate the polygon and/or the text.\n\n\n\"Issuing\" a Warning\n\uf0c1\n\n\nWith a tracked storm in WarnGen:\n\n\n\n\nSelect \nCAVE > New > Text Workstation\n\n\nSelect the \nTrack\n button to preview the polygon\n\n\nSelect the \nCreate Text\n button.\n\n\nSelect \nEnter\n on the AWIPS Header Block window to enter the text editor. \n\n\nBlue text is locked and uneditable. You should not need to edit most text, and you need to be careful not to make the hazards inconsistent with the locked intensity summary at the bottom of the warning.\n\n\nIf WarnGen has text you need to edit, there will be wildcards around the text, and WarnGen will not let you send the warning until you modify it.\n\n\n\n\n\n\nRead the text of the warning, identify your ETN number after the \u201cSV.W.\u201d (e.g. 0004) at the top of the warning, and make changes to the warning text if WarnGen tells you to.\n\n\nClick the \nSend\n button (will not actually send). Sending warnings on the WES-2 Bridge is safe because it is not connected to the live AWIPS communications route, and the transmission capabilities have been disabled, firewalled, and modified to prevent any risk of warnings going out. Unidata AWIPS always disables the sending of warnings.",
"title": "WarnGen Walkthrough"
},
{
"location": "/cave/warngen/#load-nexrad-level-3-display",
"text": "Select the menu Radar > NEXRAD Display and note coverage areas of current severe weather. We choose a WFO ID that contains some active severe weather (KLZK Little Rock, Arkansas, in this example).",
"title": "Load NEXRAD level 3 display"
},
{
"location": "/cave/warngen/#select-site-localization",
"text": "Open CAVE > Preferences > Localization , select the WFO ID (KLZK) for the coverage area you want to use, followed by Apply and then Restart .",
"title": "Select SITE Localization"
},
{
"location": "/cave/warngen/#select-the-nearest-wsr-88d-location",
"text": "Click on any NEXRAD Display station to load a two-pane Reflectivity/Velocity view.",
"title": "Select the nearest WSR-88D location"
},
{
"location": "/cave/warngen/#launch-warngen",
"text": "Select WarnGen from the D2D Toolbar or from the Tools menu. When started, the storm centroid marker appears and the WarnGen GUI will pop up as a separate window.",
"title": "Launch WarnGen"
},
{
"location": "/cave/warngen/#generate-a-storm-motion-vector",
"text": "Click and drag Drag Me to Storm to the feature you want to track (WarnGen uses a dot to track a single storm and a line to track a line of storms). Step back 3 to 4 frames. Drag the dot to the previous position of the feature you first marked. Review the product loop and make adjustments to ensure the vector is accurate.",
"title": "Generate a Storm Motion Vector"
},
{
"location": "/cave/warngen/#restart",
"text": "Click the Reset button to clear all current polygons and vectors and reset the storm centroid marker.",
"title": "Restart"
},
{
"location": "/cave/warngen/#redrawing-a-polygon",
"text": "Select the Track button in the \"Redraw Box on Screen\" section to redraw a default warning polygon oriented along the storm motion track and containing the storm centroid dot for the most recent volume scan. The initial polygon may have unhatched areas that will be removed from the warning due to crossing CWAs or not meeting area thresholds in the county for inclusion. The Warned/Hatched Area button allow you to preview the polygon shape that will be issued, so you can make further edits.",
"title": "Redrawing a Polygon"
},
{
"location": "/cave/warngen/#moving-vertex-points",
"text": "Vertices can be moved by clicking and dragging with the mouse. The warning polygon, including stippling, will update automatically. When reshaping your warning polygon in this manner, the philosophy is to include all areas that are at risk of experiencing severe weather covered by that warning type. Effective polygons account for uncertainty over time and typically widen downstream. There will be a lot of training provided on Storm-Based Warning Fundamentals in RAC and in the workshop, and this lesson is more focused on the basic mechanics.",
"title": "Moving Vertex Points"
},
{
"location": "/cave/warngen/#add-and-remove-vertex-points",
"text": "There will be some occasions where you will want to add vertices to your warning polygon. Most often, these situations will involve line warnings with bowing segments or single storm warnings where you want to account for storm motion uncertainty or multiple threat areas that may have differing storm motions. New vertices are added to the warning polygon using a context relative menu accessed by selecting the warning polygon line segments with a Right Mouse Button \"click and hold\" . Hold right-click and select add vertex . Click the left mouse button at the location you desire for the new vertex and the point is created there. Clicking the middle mouse button (or scroll wheel) along an edge of the polygon will also place a vertex at that point. Vertex points are removed from the warning polygon using the same context relative menu. Instead of selecting a line segment, you select the vertex you wish to remove and then click and hold with right mouse button. Hold right-click and select remove vertex .",
"title": "Add and Remove Vertex Points"
},
{
"location": "/cave/warngen/#restoring-a-polygon",
"text": "When you are customizing a polygon in WarnGen, speed is critical. Everyone, even veteran warning forecasters, will occasionally draw a warning polygon one way and then realize, prior to sending the warning, that they want to draw the warning boundaries differently. Depending on the complexity of the changes you make to a warning polygon, sometimes it\u2019s faster to just start over from scratch. The easiest way to proceed, especially if you are still comfortable with the storm motion, is to select the \u201cTrack\u201d button from the \u201cRedraw Box on Screen from\u201d section of the WarnGen GUI.",
"title": "Restoring a Polygon"
},
{
"location": "/cave/warngen/#text-window",
"text": "Using the customized settings in the WarnGen GUI, WarnGen translates the information into a text product that is displayed in a text window on the Text Display. Initially the AWIPS Header Block window appears, and you will just click Enter to modify the text of the warning. The auto-generated text contains the storm speed and direction, the counties and cities affected by the warning/advisory, the valid times of the product, the warning/advisory body text (including any optional bullets selected in the GUI), and additional code to help our partners to efficiently process and disseminate the warning/advisory. The locked parts of the text are highlighted in blue and most of your text should not need to be edited if you configured your WarnGen window correctly. For some products like Severe Weather Statements, there are parts of text that must be edited that have wild-card characters around them that need to be removed after modifying the text inside (e.g. ! WEAKENED.MOVED OUT OF THE WARNED AREA. !). When you attempt to send a product, WarnGen will instruct you to modify this text if you have not. Once the text looks ready for submission you click the Send button, and, on a live system, the warning will be transmitted for public broadcast after you press the Go Ahead button on the final WarnGen check. WES-2 Bridge has been implemented in a way that cannot interact with the live AWIPS processes and communications, so warnings issued on the WES-2 Bridge will not be transmitted as live products. NOTE: Edits made to product text in the editor window should be limited to items such as forecaster name/initials, call-to-action text, etc. If changes are warranted for items such as storm motion, warned counties, or Latitude/Longitude points, close the editor window and make changes using the D-2D and WarnGen graphical tools, then recreate the polygon and/or the text.",
"title": "Text Window"
},
{
"location": "/cave/warngen/#issuing-a-warning",
"text": "With a tracked storm in WarnGen: Select CAVE > New > Text Workstation Select the Track button to preview the polygon Select the Create Text button. Select Enter on the AWIPS Header Block window to enter the text editor. Blue text is locked and uneditable. You should not need to edit most text, and you need to be careful not to make the hazards inconsistent with the locked intensity summary at the bottom of the warning. If WarnGen has text you need to edit, there will be wildcards around the text, and WarnGen will not let you send the warning until you modify it. Read the text of the warning, identify your ETN number after the \u201cSV.W.\u201d (e.g. 0004) at the top of the warning, and make changes to the warning text if WarnGen tells you to. Click the Send button (will not actually send). Sending warnings on the WES-2 Bridge is safe because it is not connected to the live AWIPS communications route, and the transmission capabilities have been disabled, firewalled, and modified to prevent any risk of warnings going out. Unidata AWIPS always disables the sending of warnings.",
"title": "\"Issuing\" a Warning"
},
{
"location": "/cave/goes-16-satellite/",
"text": "As of Unidata AWIPS 17.1.1, the GOES-R decoder supports the ingest and display of NOAAport provisional products (currently on the NOTHER feed), as well as Level 2b netCDF files. A GOES-R Geostationary Lightning Mapper (GLM) decoder is also provided to handle sensor lightning observations.\n\n\nGOES-R products are accessible in the menu \nSatellite\n > \nGOES-16 Provisional Products\n\n\n\n\n\n\nNOAAport Provisional Products\n\uf0c1\n\n\nLDM Pattern Action\n\uf0c1\n\n\nNOTHER ^(TI[RS]...) (KNES) (......) (...)\n FILE -close -edex\n /awips2/data_store/satellite/goes16/\\1_\\2_\\3_\\4_(seq).gini\n\n\n\nPuerto Rico sector (PRREGI)\n\uf0c1\n\n\n\n\nCONUS 1km\n\uf0c1\n\n\n\n\nFull Disk 6km\n\uf0c1\n\n\n\n\nMesoscale Sectors (TMESO-1, TMESO-2)\n\uf0c1\n\n\nTwo floating mesoscale sectors (will vary from image shown)\n\n\n\n\nIcing Composite\n\uf0c1\n\n\nChannels 5,3,2 (1.61u, 0.87u, 0.64u)\n\n\n\n\nDaytime Composite 1\n\uf0c1\n\n\nChannels 2,5,14 (0.64u, 1.61u, 11.20u)\n\n\n\n\nDaytime Composite 2\n\uf0c1\n\n\nChannels 2,3,2 (0.64u, 0.87u, 0.64u)\n\n\n\n\n\n\nGOES-16 Composite Imagery NOT SUPPORTED on macOS\n\n\nOpenGL Shading Language limitations prevent multi-channel imagery from displaying correctly on Mac:\n\n\n\n\nIcing (1.61, 0.87, 0.64)\n\n\nDaytime Composite (0.64, 1.61, 11.20)\n\n\nDaytime Composite (0.64, 0.87, 0.64) \n\n\n\n\n\n\nTo display multi-channel composites requires CAVE for Linux or Windows.\n\n\nHDF5 Data Store\n\uf0c1\n\n\nDecoded GOES-R satellite images are stored in \n/awips2/edex/data/hdf5/satellite/\n under sector subdirectories:\n\n\ndrwxr-xr-x 18 awips fxalpha PRREGI\ndrwxr-xr-x 18 awips fxalpha TCONUS\ndrwxr-xr-x 18 awips fxalpha TFD\ndrwxr-xr-x 18 awips fxalpha TMESO-1\ndrwxr-xr-x 18 awips fxalpha TMESO-2\n\n\n\n\n\nLevel 2+ Products\n\uf0c1\n\n\nLevel 2+ products are described as derived environmental variables which will be created and disseminated when GOES-16 is used operationally (compared to \nLevel 0\n, described as unprocessed instrument data at full resolution, and \nLevel 1b\n products, described as radiometric and geometric correction applied to produce parameters in physical units). \n\n\nUnidata does not currently have access to these products, but EDEX 17.1.1 can support their ingest if made available. \n\n\nRead more about GOES-R data levels...\n\n\nLevel 2+ Decoder Regular Expression\n\uf0c1\n\n\nFrom \n/awips2/edex/data/utility/common_static/base/distribution/goesr.xml\n\n\n^OR_ABI-L2-\\w{3,5}(C|F|M1|M2)-M[34]_G\\d\\d_s\\d{14}_e\\d{14}_c\\d{14}.nc$\n\n\n\n\n\nGeostationary Lightning Mapper (GLM)\n\uf0c1\n\n\nNASA's SPoRT MSFC Earth Science Office has contributed plugins to decode GLM level2 products, displayed as point data in CAVE.\n\n\nWhile Unidata is not currently distributing GLM products, you can \ndownload a sample netCDF file\n and copy it to \n/awips2/data_store/ingest/\n in order to test the decoding and display of GOES-R lightning data.\n\n\nIngest Sample Data\n\uf0c1\n\n\nRun the single command from your EDEX server to ingest a single-time sample data set:\n\n\nwget https://www.unidata.ucar.edu/software/awips2/OR_GLM-L2-LCFA_G16_s20170402339144.nc -P /awips2/data_store/ingest/\n\n\n\nDisplay GLM Lightning Data\n\uf0c1\n\n\nLoad GLM data from the menu \nSatellite\n > \nGOES-16 Provisional\n > \nGLM-Lightning\n. Data are displayable as \nFlash\n, \nEvent\n, and \nGroup\n and 1min, 5min, 15min, and 1hr intervals.\n\n\n\n\n\n\nDerived Motion Winds\n\uf0c1\n\n\nAt the bottom of the menu \nSatellite\n > \nGOES-16 Provisional Products\n are sub-menus for GOES-16 Derived Motion Wind (DMW) products. Select the sub-menu \nGOES-Test\n and then region (CONUS, Full Disk, Mesoscale), and then select the wind product by level:\n\n\n\n\nBy Pressure\n\n\nBy Mandatory Levels\n\n\nBy Channel",
"title": "GOES-16 (GOES-R)"
},
{
"location": "/cave/goes-16-satellite/#noaaport-provisional-products",
"text": "",
"title": "NOAAport Provisional Products"
},
{
"location": "/cave/goes-16-satellite/#ldm-pattern-action",
"text": "NOTHER ^(TI[RS]...) (KNES) (......) (...)\n FILE -close -edex\n /awips2/data_store/satellite/goes16/\\1_\\2_\\3_\\4_(seq).gini",
"title": "LDM Pattern Action"
},
{
"location": "/cave/goes-16-satellite/#puerto-rico-sector-prregi",
"text": "",
"title": "Puerto Rico sector (PRREGI)"
},
{
"location": "/cave/goes-16-satellite/#conus-1km",
"text": "",
"title": "CONUS 1km"
},
{
"location": "/cave/goes-16-satellite/#full-disk-6km",
"text": "",
"title": "Full Disk 6km"
},
{
"location": "/cave/goes-16-satellite/#mesoscale-sectors-tmeso-1-tmeso-2",
"text": "Two floating mesoscale sectors (will vary from image shown)",
"title": "Mesoscale Sectors (TMESO-1, TMESO-2)"
},
{
"location": "/cave/goes-16-satellite/#icing-composite",
"text": "Channels 5,3,2 (1.61u, 0.87u, 0.64u)",
"title": "Icing Composite"
},
{
"location": "/cave/goes-16-satellite/#daytime-composite-1",
"text": "Channels 2,5,14 (0.64u, 1.61u, 11.20u)",
"title": "Daytime Composite 1"
},
{
"location": "/cave/goes-16-satellite/#daytime-composite-2",
"text": "Channels 2,3,2 (0.64u, 0.87u, 0.64u) GOES-16 Composite Imagery NOT SUPPORTED on macOS OpenGL Shading Language limitations prevent multi-channel imagery from displaying correctly on Mac: Icing (1.61, 0.87, 0.64) Daytime Composite (0.64, 1.61, 11.20) Daytime Composite (0.64, 0.87, 0.64) To display multi-channel composites requires CAVE for Linux or Windows.",
"title": "Daytime Composite 2"
},
{
"location": "/cave/goes-16-satellite/#hdf5-data-store",
"text": "Decoded GOES-R satellite images are stored in /awips2/edex/data/hdf5/satellite/ under sector subdirectories: drwxr-xr-x 18 awips fxalpha PRREGI\ndrwxr-xr-x 18 awips fxalpha TCONUS\ndrwxr-xr-x 18 awips fxalpha TFD\ndrwxr-xr-x 18 awips fxalpha TMESO-1\ndrwxr-xr-x 18 awips fxalpha TMESO-2",
"title": "HDF5 Data Store"
},
{
"location": "/cave/goes-16-satellite/#level-2-products",
"text": "Level 2+ products are described as derived environmental variables which will be created and disseminated when GOES-16 is used operationally (compared to Level 0 , described as unprocessed instrument data at full resolution, and Level 1b products, described as radiometric and geometric correction applied to produce parameters in physical units). Unidata does not currently have access to these products, but EDEX 17.1.1 can support their ingest if made available. Read more about GOES-R data levels...",
"title": "Level 2+ Products"
},
{
"location": "/cave/goes-16-satellite/#level-2-decoder-regular-expression",
"text": "From /awips2/edex/data/utility/common_static/base/distribution/goesr.xml ^OR_ABI-L2-\\w{3,5}(C|F|M1|M2)-M[34]_G\\d\\d_s\\d{14}_e\\d{14}_c\\d{14}.nc$",
"title": "Level 2+ Decoder Regular Expression"
},
{
"location": "/cave/goes-16-satellite/#geostationary-lightning-mapper-glm",
"text": "NASA's SPoRT MSFC Earth Science Office has contributed plugins to decode GLM level2 products, displayed as point data in CAVE. While Unidata is not currently distributing GLM products, you can download a sample netCDF file and copy it to /awips2/data_store/ingest/ in order to test the decoding and display of GOES-R lightning data.",
"title": "Geostationary Lightning Mapper (GLM)"
},
{
"location": "/cave/goes-16-satellite/#ingest-sample-data",
"text": "Run the single command from your EDEX server to ingest a single-time sample data set: wget https://www.unidata.ucar.edu/software/awips2/OR_GLM-L2-LCFA_G16_s20170402339144.nc -P /awips2/data_store/ingest/",
"title": "Ingest Sample Data"
},
{
"location": "/cave/goes-16-satellite/#display-glm-lightning-data",
"text": "Load GLM data from the menu Satellite > GOES-16 Provisional > GLM-Lightning . Data are displayable as Flash , Event , and Group and 1min, 5min, 15min, and 1hr intervals.",
"title": "Display GLM Lightning Data"
},
{
"location": "/cave/goes-16-satellite/#derived-motion-winds",
"text": "At the bottom of the menu Satellite > GOES-16 Provisional Products are sub-menus for GOES-16 Derived Motion Wind (DMW) products. Select the sub-menu GOES-Test and then region (CONUS, Full Disk, Mesoscale), and then select the wind product by level: By Pressure By Mandatory Levels By Channel",
"title": "Derived Motion Winds"
},
{
"location": "/cave/d2d-gis-shapefiles/",
"text": "The Geographic Information System (GIS) application enables users to import geospatial data from varying GIS data sources for display in CAVE. CAVE currently only supports shape data in WGS84 unprojected latitude/longitude.\n\n\nThis section describes how to start the GIS application, configure the display attributes, and navigate through the various dialogs for importing map/map product shapefiles for display within CAVE. The following topics are discussed:\n\n\nDisplay GIS Data\n\uf0c1\n\n\nThe GIS application is accessed through the CAVE menu by first selecting the Import option, and then choosing GIS Data from the Import submenu. The GIS DataStore Parameters dialog is comprised of four sections:\n\n\n\n\nDataStore Type\n: This section contains a data field where you select a file type from the dropdown\nlist.\n\n\nConnection Parameters\n: This section contains a \nDirectory\n data field where you can either select from a dropdown list or browse to a directory containing a set of map shapefiles. Clicking the \nBrowse\n button opens the directory navigating/browser dialog, which allows you to navigate easily to the desired directory. After locating the desired directory, clicking the \nConnect\n button lists the available shapefiles.\n\n\n\n\nLoad As\n: In this section the shapefiles can be loaded as a Map or as a Product. Descriptions of both follow.\n\n\n\n\nMap\n: When this radio button is selected, the selected shapefile displays as a map. Click and hold the middle mouse button to open a pop-up menu and select \nShow Map Legend\n to display the \nMap ID\n in the \nLegend area\n at the bottom of the display.\n\n\nProduct\n: When this radio button is selected, the start and end date/time data fields become enabled. You can select a start and end date/time from the \nCalendar\n dialog. Clicking on the Calendar icon opens the \nCalendar\n dialog. Loading a shapefile with the \nProduct\n radio button selected will return a shaded (color-filled) image of the Map Product. The \nProduct ID\n will appear in the Legend area at the bottom of the display after selecting \nShow Product Legend\n from the middle mouse click pop-up menu. The map product displays with the model data when the valid time of the model data falls within the start/end time range selected for the map product in the \nGIS DataStore Parameters\n dialog. When the valid time of the model data falls outside the start/end time of the map product, the map product image does not display.\n\n\n\n\n\n\n\n\nTable\n: In this section you can select one of the shapefiles listed in the window for display. The selected file will be highlighted and the OK button at the bottom of the dialog will be enabled. Clicking the OK button closes the GIS DataStore Parameters dialog box and displays the selected map or map product.\n\n\n\n\n\n\nGIS Data Preferences\n\uf0c1\n\n\nUsing the \nPreferences\n dialog, you can modify certain GIS display attributes in CAVE without having the GIS application open. Access the GIS Viewer via \nCAVE\n > \nPreferences\n > \nGIS Viewer\n.\n\n\nThe attributes that can be modified within CAVE apply to the map/map product image displayed on the Main Display Pane. They are: color of the highlights; highlight line style; highlight line width; and map product opacity. The button next to the name of the attribute displays a swatch of the current value. Selecting this button opens a dialog for modifying that attribute and redefining the default value.\n\n\nA description of each attribute follows.\n\n\n\n\nHighlight Color\n: This button opens a dialog that includes a color wheel and a color palette. Clicking the OK button after changing the color sets the new color for the highlight that appears around a selected area (via the Attributes dialog), and closes the dialog. The new color is then displayed on the swatch.\n\n\nHighlight Style\n: This button opens a menu displaying a set of lines of differing styles. Doubleclicking on the desired line style sets the new style for the highlight that appears around a selected area (via the Attributes dialog), and closes the menu. The new line style is then displayed on the swatch.\n\n\nHighlight Width\n: This button opens a menu displaying a set of lines of differing widths. Double-clicking on the desired line width sets the new width for the highlight that appears around a selected area (via the Attributes dialog), and closes the menu. The new line width is then displayed on the swatch.\n\n\nProduct Opacity\n: This button opens the Set Opacity dialog for setting the default opacity level for GIS map product images. The dialog includes a swatch and a slider. Moving the slider increases or decreases the opacity level. Clicking the OK button sets the default level and closes the dialog.\n\n\n\n\nBeneath the four attributes are two buttons: Restore Defaults on the left and Apply on the right. The function of the Restore Defaults button is to restore \"all\" the attributes to their initial (default) values. Click this button only if you want to restore all attributes to their default values. If you accidentally click the Restore Defaults button, you will need to return to the attribute dialog(s) and redefine your desired values.\n\n\nUse the Apply button to save any changes you make to the default attribute settings. Wait until you are satisfied with all the values you have set, and then click the Apply button once to save all the changes. The values you set here for the attributes will then be applied to the GIS application as the new defaults.\n\n\nCustomizing the GIS Attribute Dialog\n\uf0c1\n\n\nYou have the ability to highlight specific areas of the displayed map or map product image, and to hide other areas. These functionalities are executed through the \nAttributes dialog\n, commonly referred to as the \"Attributes Table\" because of its tabular style. To access the \nAttributes dialog\n, click and hold middle mouse button 3 (B3) on the Map ID in the Legend area to open the pop-up menu.\n\n\nFrom the pop-up menu select the \nDisplay Attributes\n option to open the \nAttributes\n dialog.\n\n\n\n\nThe Attributes dialog includes two menus, Annotation and Data, which allow you to control highlighting and visibility for both the displayed images and the information contained in the Attributes dialog. For each row of information on the Attributes dialog there is an associated map/map product image displayed on the Main Display Pane.\n\n\nHighlighting\n\uf0c1\n\n\nHighlighting Selected Areas\n\uf0c1\n\n\nTo place a highlight around a selected area of the GIS display image and highlight the corresponding row on the Attributes dialog, click and hold B3 on the row you want to select. Check the Highlighted checkbox in the pop-up menu to activate highlighting. Multiple rows can be selected using Ctrl + B1 to select each row, which will highlight the selected row in blue. Then click and hold B3 on one of the selected rows; this will turn all selected blue rows dark gray and open the pop-up menu. After checking the Highlighted checkbox all selected rows will be highlighted yellow and a highlighted border surrounding all the areas on the map corresponding to those selected rows will be highlighted with the color setup in the Preferences dialog box.\n\n\nUnhighlighting Selected Areas\n\uf0c1\n\n\nTo unhighlight selected rows and associated highlighted borders around the areas of the image, click and hold B3 on the row or select multiple rows via Ctrl + B1 and then click and hold B3 to open the pop-up menu and uncheck the Highlighted checkbox.\n\n\n\u25e6 Unhighlighting All Areas\n\uf0c1\n\n\nTo remove all highlighted borders around the areas of the image and remove all yellow highlighted rows on the Attributes dialog, select the Clear Highlights option under the Annotation menu.\n\n\n\n\nIf you are interested in a particular area but don't know the Feature ID, which is listed in the Attributes dialog, double-click on the area of interest on the image in the Main Display Pane and the corresponding row will be highlighted. Conversely, double-clicking on a particular row will place a highlighted border around the corresponding area on the image.\n\n\n\n\nControlling Visibility of Image Areas\n\uf0c1\n\n\nHiding Selected Areas\n\uf0c1\n\n\nTo hide an area of the image displayed on the Main Display Pane, simply click and hold B3 on the row in the Attributes dialog corresponding to the area of interest. This will open a pop-up menu where you will uncheck the Visible checkbox to deactivate visibility for the selected area. If you want to hide multiple areas of the image, preselect the rows using Ctrl + B1 to highlight in blue the multiple selections; then click and hold B3 on one of the rows to open the pop-up menu. The deactivation of visibility will affect all areas corresponding to the selected rows. The areas of the image will disappear from the display and the selected row(s) on the Attributes dialog box will be shaded light gray.\n\n\nUnhiding Selected Areas\n\uf0c1\n\n\nTo return the hidden area(s) of the image to their original visible state, click and hold B3 on the corresponding gray-highlighted row to open the pop-up menu. On the pop-up menu, check the Visible checkbox. To return multiple areas to their original visual state, use Ctrl + B1 to select all corresponding gray-highlighted rows; and then click and hold B3 on one of the rows to open the pop-up menu. Checking the Visible checkbox will affect all the selected rows and corresponding areas of the image. The previously gray highlighted rows will return to their orginal nonhighlighted state.\n\n\nUnhiding All Areas\n\uf0c1\n\n\nThe Make All Visible option under the Annotation menu enables you to return \"all\" hidden areas to their original visible state. All gray highlighted rows on the Attributes dialog will be returned to their original nonhighlighted state.\n\n\nConfiguring Attributes Table\n\uf0c1\n\n\nIn the Attributes dialog (\"Attributes Table\"), the options under the Data menu allow you to customize the table based on which columns to display and how the table is to be sorted.\n\n\nSelecting Columns to Display\n\uf0c1\n\n\nTo select which columns to display, select \nData > Select Columns...\n.\n\n\nWithin the Select Columns dialog, you can select the column(s) you don't want displayed by\nfirst selecting the individual item(s) and then using the single arrow button to move the item\n(s) from the Displayed window to the Available window. Clicking the OK button saves the\nchange and removes the columns from the Attributes dialog. Use the double arrow button to\nmove all the items listed in the Displayed window to the Available window.\n\n\nBy default, all available columns are displayed.\n\n\nSorting Column Information\n\uf0c1\n\n\nSelecting the \nSort\n option opens the \nSort Order\n dialog.\n\n\nWithin the Sort Order dialog, you can select a column from the dropdown list of displayed columns and select how you want the information in that column sorted. The other columns will adjust accordingly. Clicking the OK button (hidden in the Exhibit under the dropdown list) closes the Sort Order dialog and saves the change according to your selection. Clicking the Cancel button closes the dialog without making any changes to the Attributes Table.\n\n\nDisplaying a Sample of GIS Data Attribute Values\\\n\uf0c1\n\n\nYou can view a sample of a selected GIS data attribute directly on the Main Display Pane without having to open the Attributes dialog.\n\n\nTo open the Select Sample Attribute submenu, click and hold B3 on the Map Product ID in the Legend area to open a pop-up menu and select the Select Sample Attribute option. On the Select Sample Attribute submenu select the value you want displayed and then click the OK button. Click and hold B3 anywhere on the Main Display Pane to open a pop-up menu and check the Sample checkbox to activate the sampling functionality. Then, hovering your cursor over any area of the Map Product image will display the sample for the selected attribute\n\n\nGIS Data and Display Customization from within the GIS Application\n\uf0c1\n\n\nOnce the GIS data is displayed, there are several ways to customize the displayed data from within the GIS application. All customizations originate by selecting from the pop-up menu. To open the pop-up menu, click and hold mouse Button B3 (B3) on the GIS displayed image or on the Map/Map Product ID in the Legend area and move the cursor to the option you want to modify.",
"title": "GIS and Shapefiles"
},
{
"location": "/cave/d2d-gis-shapefiles/#display-gis-data",
"text": "The GIS application is accessed through the CAVE menu by first selecting the Import option, and then choosing GIS Data from the Import submenu. The GIS DataStore Parameters dialog is comprised of four sections: DataStore Type : This section contains a data field where you select a file type from the dropdown\nlist. Connection Parameters : This section contains a Directory data field where you can either select from a dropdown list or browse to a directory containing a set of map shapefiles. Clicking the Browse button opens the directory navigating/browser dialog, which allows you to navigate easily to the desired directory. After locating the desired directory, clicking the Connect button lists the available shapefiles. Load As : In this section the shapefiles can be loaded as a Map or as a Product. Descriptions of both follow. Map : When this radio button is selected, the selected shapefile displays as a map. Click and hold the middle mouse button to open a pop-up menu and select Show Map Legend to display the Map ID in the Legend area at the bottom of the display. Product : When this radio button is selected, the start and end date/time data fields become enabled. You can select a start and end date/time from the Calendar dialog. Clicking on the Calendar icon opens the Calendar dialog. Loading a shapefile with the Product radio button selected will return a shaded (color-filled) image of the Map Product. The Product ID will appear in the Legend area at the bottom of the display after selecting Show Product Legend from the middle mouse click pop-up menu. The map product displays with the model data when the valid time of the model data falls within the start/end time range selected for the map product in the GIS DataStore Parameters dialog. When the valid time of the model data falls outside the start/end time of the map product, the map product image does not display. Table : In this section you can select one of the shapefiles listed in the window for display. The selected file will be highlighted and the OK button at the bottom of the dialog will be enabled. Clicking the OK button closes the GIS DataStore Parameters dialog box and displays the selected map or map product.",
"title": "Display GIS Data"
},
{
"location": "/cave/d2d-gis-shapefiles/#gis-data-preferences",
"text": "Using the Preferences dialog, you can modify certain GIS display attributes in CAVE without having the GIS application open. Access the GIS Viewer via CAVE > Preferences > GIS Viewer . The attributes that can be modified within CAVE apply to the map/map product image displayed on the Main Display Pane. They are: color of the highlights; highlight line style; highlight line width; and map product opacity. The button next to the name of the attribute displays a swatch of the current value. Selecting this button opens a dialog for modifying that attribute and redefining the default value. A description of each attribute follows. Highlight Color : This button opens a dialog that includes a color wheel and a color palette. Clicking the OK button after changing the color sets the new color for the highlight that appears around a selected area (via the Attributes dialog), and closes the dialog. The new color is then displayed on the swatch. Highlight Style : This button opens a menu displaying a set of lines of differing styles. Doubleclicking on the desired line style sets the new style for the highlight that appears around a selected area (via the Attributes dialog), and closes the menu. The new line style is then displayed on the swatch. Highlight Width : This button opens a menu displaying a set of lines of differing widths. Double-clicking on the desired line width sets the new width for the highlight that appears around a selected area (via the Attributes dialog), and closes the menu. The new line width is then displayed on the swatch. Product Opacity : This button opens the Set Opacity dialog for setting the default opacity level for GIS map product images. The dialog includes a swatch and a slider. Moving the slider increases or decreases the opacity level. Clicking the OK button sets the default level and closes the dialog. Beneath the four attributes are two buttons: Restore Defaults on the left and Apply on the right. The function of the Restore Defaults button is to restore \"all\" the attributes to their initial (default) values. Click this button only if you want to restore all attributes to their default values. If you accidentally click the Restore Defaults button, you will need to return to the attribute dialog(s) and redefine your desired values. Use the Apply button to save any changes you make to the default attribute settings. Wait until you are satisfied with all the values you have set, and then click the Apply button once to save all the changes. The values you set here for the attributes will then be applied to the GIS application as the new defaults.",
"title": "GIS Data Preferences"
},
{
"location": "/cave/d2d-gis-shapefiles/#customizing-the-gis-attribute-dialog",
"text": "You have the ability to highlight specific areas of the displayed map or map product image, and to hide other areas. These functionalities are executed through the Attributes dialog , commonly referred to as the \"Attributes Table\" because of its tabular style. To access the Attributes dialog , click and hold middle mouse button 3 (B3) on the Map ID in the Legend area to open the pop-up menu. From the pop-up menu select the Display Attributes option to open the Attributes dialog. The Attributes dialog includes two menus, Annotation and Data, which allow you to control highlighting and visibility for both the displayed images and the information contained in the Attributes dialog. For each row of information on the Attributes dialog there is an associated map/map product image displayed on the Main Display Pane.",
"title": "Customizing the GIS Attribute Dialog"
},
{
"location": "/cave/d2d-gis-shapefiles/#highlighting",
"text": "",
"title": "Highlighting"
},
{
"location": "/cave/d2d-gis-shapefiles/#highlighting-selected-areas",
"text": "To place a highlight around a selected area of the GIS display image and highlight the corresponding row on the Attributes dialog, click and hold B3 on the row you want to select. Check the Highlighted checkbox in the pop-up menu to activate highlighting. Multiple rows can be selected using Ctrl + B1 to select each row, which will highlight the selected row in blue. Then click and hold B3 on one of the selected rows; this will turn all selected blue rows dark gray and open the pop-up menu. After checking the Highlighted checkbox all selected rows will be highlighted yellow and a highlighted border surrounding all the areas on the map corresponding to those selected rows will be highlighted with the color setup in the Preferences dialog box.",
"title": "Highlighting Selected Areas"
},
{
"location": "/cave/d2d-gis-shapefiles/#unhighlighting-selected-areas",
"text": "To unhighlight selected rows and associated highlighted borders around the areas of the image, click and hold B3 on the row or select multiple rows via Ctrl + B1 and then click and hold B3 to open the pop-up menu and uncheck the Highlighted checkbox.",
"title": "Unhighlighting Selected Areas"
},
{
"location": "/cave/d2d-gis-shapefiles/#unhighlighting-all-areas",
"text": "To remove all highlighted borders around the areas of the image and remove all yellow highlighted rows on the Attributes dialog, select the Clear Highlights option under the Annotation menu. If you are interested in a particular area but don't know the Feature ID, which is listed in the Attributes dialog, double-click on the area of interest on the image in the Main Display Pane and the corresponding row will be highlighted. Conversely, double-clicking on a particular row will place a highlighted border around the corresponding area on the image.",
"title": "\u25e6 Unhighlighting All Areas"
},
{
"location": "/cave/d2d-gis-shapefiles/#controlling-visibility-of-image-areas",
"text": "",
"title": "Controlling Visibility of Image Areas"
},
{
"location": "/cave/d2d-gis-shapefiles/#hiding-selected-areas",
"text": "To hide an area of the image displayed on the Main Display Pane, simply click and hold B3 on the row in the Attributes dialog corresponding to the area of interest. This will open a pop-up menu where you will uncheck the Visible checkbox to deactivate visibility for the selected area. If you want to hide multiple areas of the image, preselect the rows using Ctrl + B1 to highlight in blue the multiple selections; then click and hold B3 on one of the rows to open the pop-up menu. The deactivation of visibility will affect all areas corresponding to the selected rows. The areas of the image will disappear from the display and the selected row(s) on the Attributes dialog box will be shaded light gray.",
"title": "Hiding Selected Areas"
},
{
"location": "/cave/d2d-gis-shapefiles/#unhiding-selected-areas",
"text": "To return the hidden area(s) of the image to their original visible state, click and hold B3 on the corresponding gray-highlighted row to open the pop-up menu. On the pop-up menu, check the Visible checkbox. To return multiple areas to their original visual state, use Ctrl + B1 to select all corresponding gray-highlighted rows; and then click and hold B3 on one of the rows to open the pop-up menu. Checking the Visible checkbox will affect all the selected rows and corresponding areas of the image. The previously gray highlighted rows will return to their orginal nonhighlighted state.",
"title": "Unhiding Selected Areas"
},
{
"location": "/cave/d2d-gis-shapefiles/#unhiding-all-areas",
"text": "The Make All Visible option under the Annotation menu enables you to return \"all\" hidden areas to their original visible state. All gray highlighted rows on the Attributes dialog will be returned to their original nonhighlighted state.",
"title": "Unhiding All Areas"
},
{
"location": "/cave/d2d-gis-shapefiles/#configuring-attributes-table",
"text": "In the Attributes dialog (\"Attributes Table\"), the options under the Data menu allow you to customize the table based on which columns to display and how the table is to be sorted.",
"title": "Configuring Attributes Table"
},
{
"location": "/cave/d2d-gis-shapefiles/#selecting-columns-to-display",
"text": "To select which columns to display, select Data > Select Columns... . Within the Select Columns dialog, you can select the column(s) you don't want displayed by\nfirst selecting the individual item(s) and then using the single arrow button to move the item\n(s) from the Displayed window to the Available window. Clicking the OK button saves the\nchange and removes the columns from the Attributes dialog. Use the double arrow button to\nmove all the items listed in the Displayed window to the Available window. By default, all available columns are displayed.",
"title": "Selecting Columns to Display"
},
{
"location": "/cave/d2d-gis-shapefiles/#sorting-column-information",
"text": "Selecting the Sort option opens the Sort Order dialog. Within the Sort Order dialog, you can select a column from the dropdown list of displayed columns and select how you want the information in that column sorted. The other columns will adjust accordingly. Clicking the OK button (hidden in the Exhibit under the dropdown list) closes the Sort Order dialog and saves the change according to your selection. Clicking the Cancel button closes the dialog without making any changes to the Attributes Table.",
"title": "Sorting Column Information"
},
{
"location": "/cave/d2d-gis-shapefiles/#displaying-a-sample-of-gis-data-attribute-values",
"text": "You can view a sample of a selected GIS data attribute directly on the Main Display Pane without having to open the Attributes dialog. To open the Select Sample Attribute submenu, click and hold B3 on the Map Product ID in the Legend area to open a pop-up menu and select the Select Sample Attribute option. On the Select Sample Attribute submenu select the value you want displayed and then click the OK button. Click and hold B3 anywhere on the Main Display Pane to open a pop-up menu and check the Sample checkbox to activate the sampling functionality. Then, hovering your cursor over any area of the Map Product image will display the sample for the selected attribute",
"title": "Displaying a Sample of GIS Data Attribute Values\\"
},
{
"location": "/cave/d2d-gis-shapefiles/#gis-data-and-display-customization-from-within-the-gis-application",
"text": "Once the GIS data is displayed, there are several ways to customize the displayed data from within the GIS application. All customizations originate by selecting from the pop-up menu. To open the pop-up menu, click and hold mouse Button B3 (B3) on the GIS displayed image or on the Map/Map Product ID in the Legend area and move the cursor to the option you want to modify.",
"title": "GIS Data and Display Customization from within the GIS Application"
},
{
"location": "/cave/d2d-gridded-models/",
"text": "The Volume Browser provides access to numerical models, other gridded data, and selected point data sources, such as RAOB, METAR, and Profiler. Through the Browser interface, you can choose the data source(s), field(s), plane(s), and point(s), and generate a customized list of model graphics or images for display.\n\n\nThe Volume Browser window is divided into four areas:\n\n\n\n\nThe Menu Bar along the top\n\n\nThe Data Selection Menus\n\n\nThe Product Selection List\n\n\nThe Load Buttons (Diff and Load) to load items from the Product Selection List\n\n\n\n\nEach area is then subdivided into menu components. The menu bar along the top of the Volume Browser window has dropdown lists that contain options for controlling all the various menu choices of the Volume Browser.\n\n\nVolume Browser Menu Bar\n\uf0c1\n\n\nThe dropdown menus in the Volume Browser menu bar contain options for controlling and manipulating the Volume Browser or the products chosen through the Volume Browser\n\n\n\n\nFile\n\n\nClone\n\n\nExit\n\n\n\n\n\n\nEdit\n\n\nClear All\n\n\nClear Sources\n\n\nClear Fields\n\n\nClear Panes\n\n\nSelect None\n\n\nSelect All\n\n\nFind (Ctrl+F)\n\n\n\n\n\n\n\n\nVB Tools\n\uf0c1\n\n\n\n\nBaselines\n\uf0c1\n\n\n\n\nSelecting Baselines displays 10 lines, labeled A-A' to J-J', along which cross-sections can be\nconstructed from within the Volume Browser. These baseline resources are \neditable\n.\n\n\nIf you are zoomed in over an area when you load baselines and none appear, press the middle mouse button (B3) to \"snap\" a baseline to where the mouse cursor is. The system chooses a baseline that has not been recently used. If you\nare working with a baseline, a second click with B3 will return you to the original baseline, even\nif you modified another baseline.\n\n\n\n\nPoints\n\uf0c1\n\n\n\n\nPoints are used to generate model soundings, time-height cross-sections, time series, and variable vs.\nheight plots using the Volume Browser. As with the Baselines, the locations of these Points can be\nedited in the following manner:\n\n\n\n\n\"Snapping\" an Interactive Point\n: If you are zoomed in over an area when you load Interactive\nPoints and no Points appear, click B3 to \"snap\" a Point to where the mouse cursor is positioned.\nThe system chooses a Point that has not been recently used. If you are currently working with a\nPoint, then a second B3 click will place another Point at the location of your cursor.\n\n\nDynamic Reference Map\n: When you generate a model sounding, a time-height cross-section, a\ntime series, or a variable vs. height plot, a small reference map indicating the location(s) of the\nplotted sounding(s) is provided in the upper left corner of the Main Display Pane.\n\n\n\n\nPoints may be created, deleted, hidden, and manipulated (location, name, font, and color). Points are\nnot limited in terms of number, location, or designation. Points may also be assigned to different\ngroups to facilitate their use.\n\n\nDisplay Types\n\uf0c1\n\n\n\n\nPlan View (default)\n\uf0c1\n\n\n\n\nThe default option for the Volume Browser. From the Plan-view perspective, data are plotted onto horizontal surfaces. The Plan view Planes are discussed in the planes section that follows. The additional options menu that appears in the Volume Browser menu bar allows you to choose whether you want the Plan view data to Animate in Time or Animate in Space.\n\n\n\n\nCross Section\n\uf0c1\n\n\n\n\nAllows you to view gridded data as vertical slices along specific baselines. You need to use either the Interactive Baseline Tool or the predefined latitude/longitude baselines to specify the slice you wish to see. One of the additional options menus that appear in the Volume Browser menu bar allows you to choose whether you want the cross-section data to animate in time or space, while the other options menu allows you to adjust the vertical resolution. Descriptions of these options follows. (Note that the Fields and Planes submenu labels have changed after selecting \"Cross section.\") \n\n\n\n\nTime Height\n\uf0c1\n\n\n\n\nUsed in conjunction with the Interactive Points Tool to enable you to view a time height cross section of a full run of gridded model data for a specific location. Additional options menus in the Volume Browser menu bar allow you to choose the direction in which you want the data to be plotted, and to adjust the vertical resolution. \n\n\n\n\nVar vs Hgt\n\uf0c1\n\n\n\n\nEnables you to view a profile of a meteorological model field as it changes through height, which is displayed in millibars. By using the Interactive Points Tool, you can select one or more locations from which to plot the data.\n\n\n\n\nSounding\n\uf0c1\n\n\n\n\nWorks in conjunction with the Interactive Points Tool to enable you to generate a Skew-T chart for a specific location, no additional menus appear in the Volume Browser when the Soundings setting is chosen.\n\n\n\n\nTime Series\n\uf0c1\n\n\n\n\nUsed in conjunction with the Interactive Points Tool to enable you to plot gridded data on a time versus data value graph for a specified point.\n\n\nAnimation Types\n\uf0c1\n\n\n\n\nTime\n\uf0c1\n\n\n\n\nThe default option for the Volume Browser. It allows you to view model data through time\n\n\n\n\nSpace\n\uf0c1\n\n\n\n\nAllows you to loop through a series of predefined latitude or longitude cross-sectional slices at a fixed time.",
"title": "Volume Browser"
},
{
"location": "/cave/d2d-gridded-models/#volume-browser-menu-bar",
"text": "The dropdown menus in the Volume Browser menu bar contain options for controlling and manipulating the Volume Browser or the products chosen through the Volume Browser File Clone Exit Edit Clear All Clear Sources Clear Fields Clear Panes Select None Select All Find (Ctrl+F)",
"title": "Volume Browser Menu Bar"
},
{
"location": "/cave/d2d-gridded-models/#vb-tools",
"text": "",
"title": "VB Tools"
},
{
"location": "/cave/d2d-gridded-models/#baselines",
"text": "Selecting Baselines displays 10 lines, labeled A-A' to J-J', along which cross-sections can be\nconstructed from within the Volume Browser. These baseline resources are editable . If you are zoomed in over an area when you load baselines and none appear, press the middle mouse button (B3) to \"snap\" a baseline to where the mouse cursor is. The system chooses a baseline that has not been recently used. If you\nare working with a baseline, a second click with B3 will return you to the original baseline, even\nif you modified another baseline.",
"title": "Baselines"
},
{
"location": "/cave/d2d-gridded-models/#points",
"text": "Points are used to generate model soundings, time-height cross-sections, time series, and variable vs.\nheight plots using the Volume Browser. As with the Baselines, the locations of these Points can be\nedited in the following manner: \"Snapping\" an Interactive Point : If you are zoomed in over an area when you load Interactive\nPoints and no Points appear, click B3 to \"snap\" a Point to where the mouse cursor is positioned.\nThe system chooses a Point that has not been recently used. If you are currently working with a\nPoint, then a second B3 click will place another Point at the location of your cursor. Dynamic Reference Map : When you generate a model sounding, a time-height cross-section, a\ntime series, or a variable vs. height plot, a small reference map indicating the location(s) of the\nplotted sounding(s) is provided in the upper left corner of the Main Display Pane. Points may be created, deleted, hidden, and manipulated (location, name, font, and color). Points are\nnot limited in terms of number, location, or designation. Points may also be assigned to different\ngroups to facilitate their use.",
"title": "Points"
},
{
"location": "/cave/d2d-gridded-models/#display-types",
"text": "",
"title": "Display Types"
},
{
"location": "/cave/d2d-gridded-models/#plan-view-default",
"text": "The default option for the Volume Browser. From the Plan-view perspective, data are plotted onto horizontal surfaces. The Plan view Planes are discussed in the planes section that follows. The additional options menu that appears in the Volume Browser menu bar allows you to choose whether you want the Plan view data to Animate in Time or Animate in Space.",
"title": "Plan View (default)"
},
{
"location": "/cave/d2d-gridded-models/#cross-section",
"text": "Allows you to view gridded data as vertical slices along specific baselines. You need to use either the Interactive Baseline Tool or the predefined latitude/longitude baselines to specify the slice you wish to see. One of the additional options menus that appear in the Volume Browser menu bar allows you to choose whether you want the cross-section data to animate in time or space, while the other options menu allows you to adjust the vertical resolution. Descriptions of these options follows. (Note that the Fields and Planes submenu labels have changed after selecting \"Cross section.\")",
"title": "Cross Section"
},
{
"location": "/cave/d2d-gridded-models/#time-height",
"text": "Used in conjunction with the Interactive Points Tool to enable you to view a time height cross section of a full run of gridded model data for a specific location. Additional options menus in the Volume Browser menu bar allow you to choose the direction in which you want the data to be plotted, and to adjust the vertical resolution.",
"title": "Time Height"
},
{
"location": "/cave/d2d-gridded-models/#var-vs-hgt",
"text": "Enables you to view a profile of a meteorological model field as it changes through height, which is displayed in millibars. By using the Interactive Points Tool, you can select one or more locations from which to plot the data.",
"title": "Var vs Hgt"
},
{
"location": "/cave/d2d-gridded-models/#sounding",
"text": "Works in conjunction with the Interactive Points Tool to enable you to generate a Skew-T chart for a specific location, no additional menus appear in the Volume Browser when the Soundings setting is chosen.",
"title": "Sounding"
},
{
"location": "/cave/d2d-gridded-models/#time-series",
"text": "Used in conjunction with the Interactive Points Tool to enable you to plot gridded data on a time versus data value graph for a specified point.",
"title": "Time Series"
},
{
"location": "/cave/d2d-gridded-models/#animation-types",
"text": "",
"title": "Animation Types"
},
{
"location": "/cave/d2d-gridded-models/#time",
"text": "The default option for the Volume Browser. It allows you to view model data through time",
"title": "Time"
},
{
"location": "/cave/d2d-gridded-models/#space",
"text": "Allows you to loop through a series of predefined latitude or longitude cross-sectional slices at a fixed time.",
"title": "Space"
},
{
"location": "/cave/d2d-tools/",
"text": "These programs are accessible though the \nTools\n dropdown menu.\n\n\n\n\nMany of the tools listed under the Tools menu can be placed into an editable state. Do not enable the \"Hide Legends\" feature if you want to place a tool in an editable state, because access to editability is by clicking the center mouse button over the Product Legend\n\n\nAz/Ran Overlay\n\uf0c1\n\n\nThis tool displays a movable azimuth/range radar map overlay. The overlay is in the \"editable\" state when displayed, and can be relocated by clicking the right mouse button.\n\n\n\n\nBaselines\n\uf0c1\n\n\nSelecting Baselines displays 10 lines, labeled A-A' to J-J', along which cross-sections can be constructed from within the Volume Browser. Baselines come up editable.\n\n\n\"Snapping\" an Interactive Baseline: If you are zoomed in over an area when you load Interactive Baselines and no Baselines appear, press the right mouse button to \"snap\" a Baseline to where the mouse cursor is. The system chooses a Baseline that has not been recently used. If you are working with a Baseline, a second click with the right mouse button will return you to the original Baseline, even if you modified another Baseline in the meantime.\n\n\n\n\nChoose By ID\n\uf0c1\n\n\nChoose By ID, which is a function of DMD (Digital Mesocyclone Display), is a method of selecting feature locations. The tool is used to monitor the same feature at a certain location. Without the Choose By ID tool, a monitored feature (over a period of time) could move away from its monitored location and another feature could move in its place. You can use Choose By ID to set points, baselines, and \"Home\" for conventional locations like METARs and RAOBs (Radiosonde Observations), but its primary use is for the WSR-88D-identified mesocyclone locations. You can also access the Choose By ID tool from the Tools menu on the Volume Browser.\n\n\n\n\nDistance Bearing\n\uf0c1\n\n\nSelecting this tool displays six editable lines, each of which shows the azimuth and range of the labeled end of the line relative to the unlabeled end of the line. You can make the lines editable by clicking the center mouse button over the legend at the lower right of the display. Once in edit mode, a line can be moved as a unit and/or either of its end points can be adjusted.\n\n\n\n\nDistance Speed\n\uf0c1\n\n\nThis tool can be used to determine the speed and direction of a storm or any other meteorological feature of interest. Selecting Distance Speed displays a Centroid Marker to move to the location of the storm or feature of interest in any two or more frames of displayed imagery (e.g., a satellite or radar loop). The system then displays a storm track with the direction (degrees) and speed (knots) of movement. When you select the Distance Speed option, the Distance Speed dialog box opens.\n\n\n\n\n\n\n\n\nMode\n: You have the following selections from this option.\n\n\n\n\n\n\nPoint\n: A radio button that allows you to set the Centroid Marker as a single point.\n\n\n\n\n\n\nPolyline\n: A radio button that allows you to set the Centroid Marker as a polyline.\n\n\n\n\n\n\n\n\n\n\nLegend\n: You have the following selections from this option.\n\n\n\n\n\n\nTime\n: A radio button that allows you to display time with the Centroid Marker.\n\n\n\n\n\n\nSpeed\n: A radio button that allows you to display speed with the Centroid Marker.\n\n\n\n\n\n\n\n\n\n\nDistance Scale\n\uf0c1\n\n\nThis tool can be used to determine the size of a storm or any other meteorological feature of interest.\n\n\n\n\nFeature Following Zoom\n\uf0c1\n\n\nWhen you zoom in over a small area to be able to view a feature in detail, animation will often cause the feature to move into and then out of the field of view. This tool allows you to follow a feature of interest even when zoomed in to a small area.\n\n\nTo use this feature, first, you need to identify the location and motion of the feature, using Distance Speed or the WarnGen tracker. Once satisfied that the tracking icon is following the feature of interest, load this tool, and the center of the zoom area will track with the Distance Speed icon. Toggling the overlay off will resume the standard zooming behavior, and toggling it back on will reinvoke the feature following zoom.\n\n\nTime of Arrival / Lead Time\n\uf0c1\n\n\nSelecting the Time Of Arrival / Lead Time option displays a tracking line from a feature's initial starting point in a past frame to its final position in the current frame. Once the final position is set, an Arrival Point is displayed. You can drag this point anywhere along the line to get the Time Of Arrival / Lead Time and Distance. You can also change the Mode from Point to Circular Front or Polyline anywhere along the line to better represent the feature(s).\n\n\nHome\n\uf0c1\n\n\nSelecting the Home option displays a marker, which is an \"X\" with the word \"Home\" next to it.\nClicking on the Home Location Legend with the center mouse button makes the marker editable; drag the \"X\" or click with the right mouse button to change its location. When the Home Marker is displayed, use the Sample feature (clock and hold while moving the pointer around the screen) to display the range in miles and azimuth (in degrees) of the pointer location relative to the Home location.\n\n\nPoints\n\uf0c1\n\n\nThe Points option initially displays a circular 10-point pattern, labeled A through J on the Map display. Points are used to generate model soundings, time-height cross-sections, time series, and variable vs. height plots using the Volume Browser. As with the Baselines, the locations of these Points can be edited in the following manner:\n\n\n\n\n\n\n\"Snapping\" an Interactive Point\n: If you are zoomed in over an area when you load Interactive\nPoints and no Points appear, click the right mouse button to \"snap\" a Point to where the mouse cursor is positioned. The system chooses a Point that has not been recently used. If you are currently working with a Point, then a second right mouse button click will place another Point at the location of your cursor.\n\n\n\n\n\n\nDynamic Reference Map\n: When you generate a model sounding, a time-height cross-section, a\ntime series, or a variable vs. height plot, a small reference map indicating the location(s) of the\nplotted sounding(s) is provided in the upper left corner of the Main Display Pane.\n\n\n\n\n\n\nPoints may be created, deleted, hidden, and manipulated (location, name, font, and color). Points are not limited in terms of number, location, or designation. Points may also be assigned to different groups to facilitate their use. Once the Points tools have been loaded, the addition, deletion, or manipulation of Points can be accomplished in three ways:\n\n\n\n\n\n\nCreate Point Dialog Box\n: The Create Point dialog box is opened by clicking and holding the right mouse button on the map (but not on any exisiting Point) and selecting the \"New Point...\" option.\n\n\nThe Create Point dialog box opens with the Lat and Lon text boxes populated with the latitude\nand longiture values at the point where you had clicked the right mouse button. The latitude and longitude values can be viewed in \"Degrees : Minutes : Seconds,\" \"Degrees : Minutes,\" or \"Degrees Only\" (N and S refer to North and South; W and E refer to West and East).\n\n\nIn the Create Point dialog box, you must:\n\n\n\n\nEnter the Point's name\n\n\nModify the latitude and longitude values\n\n\nAssign the Point's color and font use\n\n\nAssign the Point to a group\n\n\nSelect whether the Point is movable or hidden\n\n\n\n\nBy default, individual Points do not have an assigned color. They inherit the color\nof the Interactive Points layer reflected in the Interactive Points product legend. You can\nchange the color of the Interactive Points layer by right clicking on the Interactive Points\nproduct legend and selecting a color from the dropdown list. The selected color then\nchanges all points not having an assigned color to the new color.\n\n\nPoints can be assigned to \"\n,\" which will organize them in the root location containing the group names when accessed by the Edit Points dialog box (see below).\n\n\n\n\n\n\nEdit Point Dialog Box\n: The Edit Point dialog box is opened by clicking and holding the right mouse button on a Point on the map and selecting the \"Edit Point...\" option. The latitude and longitude values can be viewed in \"Degrees : Minutes : Seconds,\" \"Degrees : Minutes,\" or \"Degrees Only\" (N and S refer to North and South; W and E refer to West and East).\n\n\nBesides the option of selecting the Edit Points dialog box, you also have the option\nof selecting \"Hide Point,\" \"Delete Point,\" or \"Move Point.\" Once hidden, the Point can be\nunhidden using the Points List dialog box, where you would uncheck the checkbox under\nthe \"Hidden\" column adjacent to the Point that was hidden (see below). If \"Delete Point\" is\nselected, a pop-up opens to confirm whether you want to delete the Point. Selecting the\n\"Move Point\" option moves the Point to wherever you place the cursor on the map.\n\n\n\n\n\n\nPoints List Dialog Box\n: The Points List dialog box is opened by clicking and holding the right mouse button on the Interactive Points product legend and selecting the \"Edit Points...\" option.\n\n\nThe Points List dialog box lists all the available groups and Points. Groups can be expanded to\nreview the list of Points assigned to that group by clicking the arrow next to the group name.\nInitially, the default set of Points (A-J) are listed in the D2D Group, as shown above. In the\nPoints List dialog box, Points and groups may be dragged into and out of other groups to create\nor disassemble subgroups. The Points List dialog box also includes three columns.\n\n\n\n\nPoint Name\n: Lists the group name and designated Points.\n\n\nMovable\n: Checking the checkbox adjacent to the Point disables the Point from being\nmoved.\n\n\nHidden\n: Checking the checkbox adjacent to the Point hides the Point on the map.\n\n\n\n\n\n\n\n\nPut home cursor\n\uf0c1\n\n\nThe Put home cursor tool provides an easy way to locate a METAR observation station, a city and\nstate, or a latitude/longitude coordinate. For Canada and Mexico, only the METAR observation stations and latitude/longitude coordinates are accessible. When you select Put home cursor from the Tools dropdown menu, the Home marker X is displayed and the Put Home Cursor dialog box opens.\n\n\nYou can use the Home marker, as previously described in the Home Tool, and the new Home location\n(station, city/state, or latitude/longitude) is identified in the Put Home Cursor dialog box.\nAnother way to use this tool is to type in the station, city and state, or latitude and longitude, and select Go, or hit Enter on the keypad, to move the Home marker to the specified location. The new location's nearest METAR site, city and state, and latitude and longitude appear in the Put Home Cursor dialog box. The Put Home Cursor dialog box contains the following options.\n\n\n\n\n\n\nLocation Selection\n: There are three ways to find a desired location. Once you choose the\nStation, City/State, or Lat/Lon radio button, an Entry Box is activated next to the respective label within the Put Home Cursor dialog box. Enter the desired location information.\n\n\n\n\n\n\nGo\n: This menu button initiates the search for the desired station, city/state, or latitude/longitude. The Home marker jumps to the newly specified location.\n\n\n\n\n\n\nRange Rings\n\uf0c1\n\n\nThe Range Rings Tool displays adjustable range rings around locations of interest to your local office. When you select Range Rings from the Tools dropdown menu, the Range Rings legend appears in the Main Display Pane. The tool comes up editable, and the rangeRing dialog box opens. (Clicking B2 over the legend toggles tool editability and closes/opens the rangeRing dialog box.) Within this dialog box, you can toggle on/off any of the target locations using the square selectors. Adjust the size of the radii (in nautical miles) by typing a new value in the entry boxes associated with each location and pressing the Apply button. You can also add labels at the center of the range ring and/or at any of the radial distances using the Labels Options menu associated with each location. Using the Movable Rings, you can add a new location at a specific point by using the Interactive Points Tool, or by typing in latitude/longitude coordinates. There is no practical limit on the number of new locations you can add to the display. The list of locations is pre-set but can be customized at a field site\n\n\n\n\nSunset/Sunrise\n\uf0c1\n\n\nBy typing a date, as well as the latitude and longitude of a location into the Sunrise/Sunset Tool dialog box, you can obtain the time (for any time zone) of sunrise and sunset, as well as the total length of daylight for that date. Additional features include the ability to calculate the sunrise/sunset in a different hemisphere, and the azimuthal angles, relative to true north, of the sunrise and sunset.\n\n\n\n\nText Window\n\uf0c1\n\n\nSelecting this option brings up a Text Display window that behaves in the same way, except for scripts, as a window on the Text Workstation.\n\n\nUnits Calculator\n\uf0c1\n\n\nThis tool converts the units of the first column into differing units of the second column. The units are grouped into temperature, velocity, distance, time, and atmospheric pressure. First, simply type the number and select the units of the value you wish to convert in the firstcolumn entry box. Then in the second column, select the desired units to which you want the original value converted. The new value will appear in the second column entry box.\n\n\n\n\nText Workstation\n\uf0c1",
"title": "Display Tools"
},
{
"location": "/cave/d2d-tools/#azran-overlay",
"text": "This tool displays a movable azimuth/range radar map overlay. The overlay is in the \"editable\" state when displayed, and can be relocated by clicking the right mouse button.",
"title": "Az/Ran Overlay"
},
{
"location": "/cave/d2d-tools/#baselines",
"text": "Selecting Baselines displays 10 lines, labeled A-A' to J-J', along which cross-sections can be constructed from within the Volume Browser. Baselines come up editable. \"Snapping\" an Interactive Baseline: If you are zoomed in over an area when you load Interactive Baselines and no Baselines appear, press the right mouse button to \"snap\" a Baseline to where the mouse cursor is. The system chooses a Baseline that has not been recently used. If you are working with a Baseline, a second click with the right mouse button will return you to the original Baseline, even if you modified another Baseline in the meantime.",
"title": "Baselines"
},
{
"location": "/cave/d2d-tools/#choose-by-id",
"text": "Choose By ID, which is a function of DMD (Digital Mesocyclone Display), is a method of selecting feature locations. The tool is used to monitor the same feature at a certain location. Without the Choose By ID tool, a monitored feature (over a period of time) could move away from its monitored location and another feature could move in its place. You can use Choose By ID to set points, baselines, and \"Home\" for conventional locations like METARs and RAOBs (Radiosonde Observations), but its primary use is for the WSR-88D-identified mesocyclone locations. You can also access the Choose By ID tool from the Tools menu on the Volume Browser.",
"title": "Choose By ID"
},
{
"location": "/cave/d2d-tools/#distance-bearing",
"text": "Selecting this tool displays six editable lines, each of which shows the azimuth and range of the labeled end of the line relative to the unlabeled end of the line. You can make the lines editable by clicking the center mouse button over the legend at the lower right of the display. Once in edit mode, a line can be moved as a unit and/or either of its end points can be adjusted.",
"title": "Distance Bearing"
},
{
"location": "/cave/d2d-tools/#distance-speed",
"text": "This tool can be used to determine the speed and direction of a storm or any other meteorological feature of interest. Selecting Distance Speed displays a Centroid Marker to move to the location of the storm or feature of interest in any two or more frames of displayed imagery (e.g., a satellite or radar loop). The system then displays a storm track with the direction (degrees) and speed (knots) of movement. When you select the Distance Speed option, the Distance Speed dialog box opens. Mode : You have the following selections from this option. Point : A radio button that allows you to set the Centroid Marker as a single point. Polyline : A radio button that allows you to set the Centroid Marker as a polyline. Legend : You have the following selections from this option. Time : A radio button that allows you to display time with the Centroid Marker. Speed : A radio button that allows you to display speed with the Centroid Marker.",
"title": "Distance Speed"
},
{
"location": "/cave/d2d-tools/#distance-scale",
"text": "This tool can be used to determine the size of a storm or any other meteorological feature of interest.",
"title": "Distance Scale"
},
{
"location": "/cave/d2d-tools/#feature-following-zoom",
"text": "When you zoom in over a small area to be able to view a feature in detail, animation will often cause the feature to move into and then out of the field of view. This tool allows you to follow a feature of interest even when zoomed in to a small area. To use this feature, first, you need to identify the location and motion of the feature, using Distance Speed or the WarnGen tracker. Once satisfied that the tracking icon is following the feature of interest, load this tool, and the center of the zoom area will track with the Distance Speed icon. Toggling the overlay off will resume the standard zooming behavior, and toggling it back on will reinvoke the feature following zoom.",
"title": "Feature Following Zoom"
},
{
"location": "/cave/d2d-tools/#time-of-arrival-lead-time",
"text": "Selecting the Time Of Arrival / Lead Time option displays a tracking line from a feature's initial starting point in a past frame to its final position in the current frame. Once the final position is set, an Arrival Point is displayed. You can drag this point anywhere along the line to get the Time Of Arrival / Lead Time and Distance. You can also change the Mode from Point to Circular Front or Polyline anywhere along the line to better represent the feature(s).",
"title": "Time of Arrival / Lead Time"
},
{
"location": "/cave/d2d-tools/#home",
"text": "Selecting the Home option displays a marker, which is an \"X\" with the word \"Home\" next to it.\nClicking on the Home Location Legend with the center mouse button makes the marker editable; drag the \"X\" or click with the right mouse button to change its location. When the Home Marker is displayed, use the Sample feature (clock and hold while moving the pointer around the screen) to display the range in miles and azimuth (in degrees) of the pointer location relative to the Home location.",
"title": "Home"
},
{
"location": "/cave/d2d-tools/#points",
"text": "The Points option initially displays a circular 10-point pattern, labeled A through J on the Map display. Points are used to generate model soundings, time-height cross-sections, time series, and variable vs. height plots using the Volume Browser. As with the Baselines, the locations of these Points can be edited in the following manner: \"Snapping\" an Interactive Point : If you are zoomed in over an area when you load Interactive\nPoints and no Points appear, click the right mouse button to \"snap\" a Point to where the mouse cursor is positioned. The system chooses a Point that has not been recently used. If you are currently working with a Point, then a second right mouse button click will place another Point at the location of your cursor. Dynamic Reference Map : When you generate a model sounding, a time-height cross-section, a\ntime series, or a variable vs. height plot, a small reference map indicating the location(s) of the\nplotted sounding(s) is provided in the upper left corner of the Main Display Pane. Points may be created, deleted, hidden, and manipulated (location, name, font, and color). Points are not limited in terms of number, location, or designation. Points may also be assigned to different groups to facilitate their use. Once the Points tools have been loaded, the addition, deletion, or manipulation of Points can be accomplished in three ways: Create Point Dialog Box : The Create Point dialog box is opened by clicking and holding the right mouse button on the map (but not on any exisiting Point) and selecting the \"New Point...\" option. The Create Point dialog box opens with the Lat and Lon text boxes populated with the latitude\nand longiture values at the point where you had clicked the right mouse button. The latitude and longitude values can be viewed in \"Degrees : Minutes : Seconds,\" \"Degrees : Minutes,\" or \"Degrees Only\" (N and S refer to North and South; W and E refer to West and East). In the Create Point dialog box, you must: Enter the Point's name Modify the latitude and longitude values Assign the Point's color and font use Assign the Point to a group Select whether the Point is movable or hidden By default, individual Points do not have an assigned color. They inherit the color\nof the Interactive Points layer reflected in the Interactive Points product legend. You can\nchange the color of the Interactive Points layer by right clicking on the Interactive Points\nproduct legend and selecting a color from the dropdown list. The selected color then\nchanges all points not having an assigned color to the new color. Points can be assigned to \" ,\" which will organize them in the root location containing the group names when accessed by the Edit Points dialog box (see below). Edit Point Dialog Box : The Edit Point dialog box is opened by clicking and holding the right mouse button on a Point on the map and selecting the \"Edit Point...\" option. The latitude and longitude values can be viewed in \"Degrees : Minutes : Seconds,\" \"Degrees : Minutes,\" or \"Degrees Only\" (N and S refer to North and South; W and E refer to West and East). Besides the option of selecting the Edit Points dialog box, you also have the option\nof selecting \"Hide Point,\" \"Delete Point,\" or \"Move Point.\" Once hidden, the Point can be\nunhidden using the Points List dialog box, where you would uncheck the checkbox under\nthe \"Hidden\" column adjacent to the Point that was hidden (see below). If \"Delete Point\" is\nselected, a pop-up opens to confirm whether you want to delete the Point. Selecting the\n\"Move Point\" option moves the Point to wherever you place the cursor on the map. Points List Dialog Box : The Points List dialog box is opened by clicking and holding the right mouse button on the Interactive Points product legend and selecting the \"Edit Points...\" option. The Points List dialog box lists all the available groups and Points. Groups can be expanded to\nreview the list of Points assigned to that group by clicking the arrow next to the group name.\nInitially, the default set of Points (A-J) are listed in the D2D Group, as shown above. In the\nPoints List dialog box, Points and groups may be dragged into and out of other groups to create\nor disassemble subgroups. The Points List dialog box also includes three columns. Point Name : Lists the group name and designated Points. Movable : Checking the checkbox adjacent to the Point disables the Point from being\nmoved. Hidden : Checking the checkbox adjacent to the Point hides the Point on the map.",
"title": "Points"
},
{
"location": "/cave/d2d-tools/#put-home-cursor",
"text": "The Put home cursor tool provides an easy way to locate a METAR observation station, a city and\nstate, or a latitude/longitude coordinate. For Canada and Mexico, only the METAR observation stations and latitude/longitude coordinates are accessible. When you select Put home cursor from the Tools dropdown menu, the Home marker X is displayed and the Put Home Cursor dialog box opens. You can use the Home marker, as previously described in the Home Tool, and the new Home location\n(station, city/state, or latitude/longitude) is identified in the Put Home Cursor dialog box.\nAnother way to use this tool is to type in the station, city and state, or latitude and longitude, and select Go, or hit Enter on the keypad, to move the Home marker to the specified location. The new location's nearest METAR site, city and state, and latitude and longitude appear in the Put Home Cursor dialog box. The Put Home Cursor dialog box contains the following options. Location Selection : There are three ways to find a desired location. Once you choose the\nStation, City/State, or Lat/Lon radio button, an Entry Box is activated next to the respective label within the Put Home Cursor dialog box. Enter the desired location information. Go : This menu button initiates the search for the desired station, city/state, or latitude/longitude. The Home marker jumps to the newly specified location.",
"title": "Put home cursor"
},
{
"location": "/cave/d2d-tools/#range-rings",
"text": "The Range Rings Tool displays adjustable range rings around locations of interest to your local office. When you select Range Rings from the Tools dropdown menu, the Range Rings legend appears in the Main Display Pane. The tool comes up editable, and the rangeRing dialog box opens. (Clicking B2 over the legend toggles tool editability and closes/opens the rangeRing dialog box.) Within this dialog box, you can toggle on/off any of the target locations using the square selectors. Adjust the size of the radii (in nautical miles) by typing a new value in the entry boxes associated with each location and pressing the Apply button. You can also add labels at the center of the range ring and/or at any of the radial distances using the Labels Options menu associated with each location. Using the Movable Rings, you can add a new location at a specific point by using the Interactive Points Tool, or by typing in latitude/longitude coordinates. There is no practical limit on the number of new locations you can add to the display. The list of locations is pre-set but can be customized at a field site",
"title": "Range Rings"
},
{
"location": "/cave/d2d-tools/#sunsetsunrise",
"text": "By typing a date, as well as the latitude and longitude of a location into the Sunrise/Sunset Tool dialog box, you can obtain the time (for any time zone) of sunrise and sunset, as well as the total length of daylight for that date. Additional features include the ability to calculate the sunrise/sunset in a different hemisphere, and the azimuthal angles, relative to true north, of the sunrise and sunset.",
"title": "Sunset/Sunrise"
},
{
"location": "/cave/d2d-tools/#text-window",
"text": "Selecting this option brings up a Text Display window that behaves in the same way, except for scripts, as a window on the Text Workstation.",
"title": "Text Window"
},
{
"location": "/cave/d2d-tools/#units-calculator",
"text": "This tool converts the units of the first column into differing units of the second column. The units are grouped into temperature, velocity, distance, time, and atmospheric pressure. First, simply type the number and select the units of the value you wish to convert in the firstcolumn entry box. Then in the second column, select the desired units to which you want the original value converted. The new value will appear in the second column entry box.",
"title": "Units Calculator"
},
{
"location": "/cave/d2d-tools/#text-workstation",
"text": "",
"title": "Text Workstation"
},
{
"location": "/cave/d2d-radar-tools/",
"text": "These programs are accessible though the \nTools\n dropdown menu, and in individual site radar menus.\n\n\nEstimated Actual Velocity (EAV)\n\uf0c1\n\n\nA velocity (V) display from the radar shows only the radial component of the wind, so the indicated\nspeed depends on the direction of the wind and the azimuth (direction) from the radar. Consider, for example, a north wind. Straight north of the radar, the full speed of the wind will be seen on the V product. As one moves around to the east of the radar, the radial component gets smaller, eventually reaching zero straight east of the radar. If the wind direction is known, then the actual wind speed can be computed by dividing the observed radial speed by the cosine of the angle between the radar radial and the actual direction. The EAV tool allows you to provide that angle and use the sampling function of the display to show the actual wind speed.\n\n\n\n\nV-R Shear\n\uf0c1\n\n\nThis tool is used in conjunction with Doppler velocity data to calculate the velocity difference (or \"shear\") of the data directly under the end points. As with the Baselines, this feature comes up editable and the end points can be dragged to specific gates of velocity data. When in place, the speed difference (kts), distance between end points (nautical miles), shear (s-1), and distance from radar (Nmi) are automatically plotted next to the end points and in the upper left corner of the Main Display Pane. A positive shear value indicates cyclonic shear, while a negative value indicates anticyclonic shear. If either end point is not directly over velocity data, the phrase \"no data\" is reported for the shear value. This tool is also useful in determining gate-to-gate shear. Simply place the two end points directly over adjacent gates of velocity data.\n\n\n\n\n\"Snapping\" VR Shear\n: If you are zoomed in over an area when you load VR - Shear, and the VR - Shear Baseline does not appear, click the right mouse button to \"snap\" the Baseline to where the mouse cursor is located.\n\n\nVR - Shear in 4 Panel\n: You can use the VR - Shear Tool when the large display is in 4 panel\nmode. The VR - Shear overlay is loaded in different colors for each panel. There are actually\nfour copies of the program running, and each behaves independently. This means that you can\nget accurate readings in any one of the four panels \u2014 one VR - Shear panel is editable at a time. To activate, click the center mouse button on the VR - Shear legend in the desired panel and position the query line to the echoes of interest.\n\n\n\n\nRadar Display Controls\n\uf0c1\n\n\n\n\n\n\n\n\nThe Radar Display Controls dialog box is derived from the Radar Tools submenu provides options that control the appearance of the Storm Track Information (STI), the Hail Index (HI), the Tornado Vortex Signature (TVS), and the Digital Mesocyclone Display (DMD) products, along with Storm\nRelative Motion (SRM) options. The Radar Display Controls dialog box options are described below.\n\n\nThe Radar Display Controls dialog box is divided into six sections: STI, HI, TVS, DMD/MD/TVS, DMD, and SRM. Each section has the following options:\n\n\nSTI (Storm Track Information)\n\uf0c1\n\n\nThis section has options to adjust the appearance of the STI graphic product.\n\n\n\n\n\n\nNumber of storms to show\n: This slider bar lets you choose the maximum number of storms (0 to 100) you wish to display on the STI product. The default value is 20 storms.\n\n\n\n\n\n\nType of track to show\n: This options menu allows you to choose the type of storm track that you want displayed.\n\n\n\n\n\n\nHI (Hail Index)\n\uf0c1\n\n\nThis portion of the Radar Display Controls dialog box contains options that alter the appearance of the HI radar graphic product. You can set the low and high algorithm thresholds of the Probability of Hail (POH) and the Probability of Severe Hail (POSH). Storms that meet the low POH threshold are indicated by small open triangles, while small solid triangles mark those that meet the high POH threshold. Similarly, large open triangles or solid triangles are plotted for the POSH low and high thresholds, respectively.\n\n\n\n\n\n\nLow hail probability (POH)\n: The storms that meet or exceed the threshold are indicated by small open triangles. The default setting is 30.\n\n\n\n\n\n\nLow severe hail probability (POSH)\n: The storms that meet or exceed the threshold are indicated by large open triangles. The default setting is 30.\n\n\n\n\n\n\nHigh hail probability\n: The storms that meet or exceed the threshold are indicated by small solid triangles. The default setting is 50.\n\n\n\n\n\n\nHigh severe hail probability\n: The storms that meet or exceed the threshold are indicated by small solid triangles. The default setting is 50.\n\n\n\n\n\n\nTVS (Tornado Vortex Signature)\n\uf0c1\n\n\nThere is one option in this section of the Radar Display Controls dialog box.\n\n\n\n\nShow elevated TVS\n: This toggle button lets you control the appearance of the elevated TVS radar graphic product.\n\n\n\n\nDMD, MD, TVS\n\uf0c1\n\n\nThere is one option in this section of the Radar Display Controls dialog box.\nShow extrapolated Features: With this option, you can choose whether to show the time-extrapolated\nfeatures using DMD, MD, or TVS.",
"title": "Radar Tools"
},
{
"location": "/cave/d2d-radar-tools/#estimated-actual-velocity-eav",
"text": "A velocity (V) display from the radar shows only the radial component of the wind, so the indicated\nspeed depends on the direction of the wind and the azimuth (direction) from the radar. Consider, for example, a north wind. Straight north of the radar, the full speed of the wind will be seen on the V product. As one moves around to the east of the radar, the radial component gets smaller, eventually reaching zero straight east of the radar. If the wind direction is known, then the actual wind speed can be computed by dividing the observed radial speed by the cosine of the angle between the radar radial and the actual direction. The EAV tool allows you to provide that angle and use the sampling function of the display to show the actual wind speed.",
"title": "Estimated Actual Velocity (EAV)"
},
{
"location": "/cave/d2d-radar-tools/#v-r-shear",
"text": "This tool is used in conjunction with Doppler velocity data to calculate the velocity difference (or \"shear\") of the data directly under the end points. As with the Baselines, this feature comes up editable and the end points can be dragged to specific gates of velocity data. When in place, the speed difference (kts), distance between end points (nautical miles), shear (s-1), and distance from radar (Nmi) are automatically plotted next to the end points and in the upper left corner of the Main Display Pane. A positive shear value indicates cyclonic shear, while a negative value indicates anticyclonic shear. If either end point is not directly over velocity data, the phrase \"no data\" is reported for the shear value. This tool is also useful in determining gate-to-gate shear. Simply place the two end points directly over adjacent gates of velocity data. \"Snapping\" VR Shear : If you are zoomed in over an area when you load VR - Shear, and the VR - Shear Baseline does not appear, click the right mouse button to \"snap\" the Baseline to where the mouse cursor is located. VR - Shear in 4 Panel : You can use the VR - Shear Tool when the large display is in 4 panel\nmode. The VR - Shear overlay is loaded in different colors for each panel. There are actually\nfour copies of the program running, and each behaves independently. This means that you can\nget accurate readings in any one of the four panels \u2014 one VR - Shear panel is editable at a time. To activate, click the center mouse button on the VR - Shear legend in the desired panel and position the query line to the echoes of interest.",
"title": "V-R Shear"
},
{
"location": "/cave/d2d-radar-tools/#radar-display-controls",
"text": "The Radar Display Controls dialog box is derived from the Radar Tools submenu provides options that control the appearance of the Storm Track Information (STI), the Hail Index (HI), the Tornado Vortex Signature (TVS), and the Digital Mesocyclone Display (DMD) products, along with Storm\nRelative Motion (SRM) options. The Radar Display Controls dialog box options are described below. The Radar Display Controls dialog box is divided into six sections: STI, HI, TVS, DMD/MD/TVS, DMD, and SRM. Each section has the following options:",
"title": "Radar Display Controls"
},
{
"location": "/cave/d2d-radar-tools/#sti-storm-track-information",
"text": "This section has options to adjust the appearance of the STI graphic product. Number of storms to show : This slider bar lets you choose the maximum number of storms (0 to 100) you wish to display on the STI product. The default value is 20 storms. Type of track to show : This options menu allows you to choose the type of storm track that you want displayed.",
"title": "STI (Storm Track Information)"
},
{
"location": "/cave/d2d-radar-tools/#hi-hail-index",
"text": "This portion of the Radar Display Controls dialog box contains options that alter the appearance of the HI radar graphic product. You can set the low and high algorithm thresholds of the Probability of Hail (POH) and the Probability of Severe Hail (POSH). Storms that meet the low POH threshold are indicated by small open triangles, while small solid triangles mark those that meet the high POH threshold. Similarly, large open triangles or solid triangles are plotted for the POSH low and high thresholds, respectively. Low hail probability (POH) : The storms that meet or exceed the threshold are indicated by small open triangles. The default setting is 30. Low severe hail probability (POSH) : The storms that meet or exceed the threshold are indicated by large open triangles. The default setting is 30. High hail probability : The storms that meet or exceed the threshold are indicated by small solid triangles. The default setting is 50. High severe hail probability : The storms that meet or exceed the threshold are indicated by small solid triangles. The default setting is 50.",
"title": "HI (Hail Index)"
},
{
"location": "/cave/d2d-radar-tools/#tvs-tornado-vortex-signature",
"text": "There is one option in this section of the Radar Display Controls dialog box. Show elevated TVS : This toggle button lets you control the appearance of the elevated TVS radar graphic product.",
"title": "TVS (Tornado Vortex Signature)"
},
{
"location": "/cave/d2d-radar-tools/#dmd-md-tvs",
"text": "There is one option in this section of the Radar Display Controls dialog box.\nShow extrapolated Features: With this option, you can choose whether to show the time-extrapolated\nfeatures using DMD, MD, or TVS.",
"title": "DMD, MD, TVS"
},
{
"location": "/cave/d2d-edit-menus/",
"text": "Any of the data menus can be customized in the Localization Perspective. \n\n\nChanging the models displayed with D2D bundles\n\uf0c1\n\n\n\n\n\n\nIn the Localization Perspective you can navigate to \nD2D\n > \nVolume Browser\n > \nVbSources\n and click on \nvolume.xml\n to expand. Then right-click on \nBASE\n and select \nCopy To...\n \nUser\n (awips).\n\n\n\n\n\n\nYou can then right-click again on the \nVbSources\n folder and select \nRefresh\n to see your new localization file called \nUSER (awips)\n. \n\n\n\n\n\n\nOpen the file and add or edit the model names: \n\n\n<menuContributionFile>\n <include installTo=\"menu:models\" \n fileName=\"menus/volume/allFamilies.xml\">\n <substitute key=\"modelName\" value=\"CMC\" />\n <substitute key=\"menuName\" value=\"CMC\" />\n <substitute key=\"frameCount\" value=\"41\" />\n <substitute key=\"TP\" value=\"TP\"/>\n </include>\n <include installTo=\"menu:models\" \n fileName=\"menus/volume/allFamilies.xml\">\n <substitute key=\"modelName\" value=\"GFS\" />\n <substitute key=\"menuName\" value=\"GFS\" />\n <substitute key=\"frameCount\" value=\"41\" />\n <substitute key=\"TP\" value=\"TP\"/>\n </include>\n ...\n\n\n\n\n\n\n\nNotice that you specify both the \nmodelName\n (what it's named inside EDEX, such as NAM12), and \nmenuName\n, if you prefer a more detailed menu entry, such as \"NAM 12km\". When you are finished, save the file and restart CAVE for the changes to take effect.\n\n\nYour new localization file exists on the EDEX server (assuming username awips) as\n\n/awips2/edex/data/utility/cave_static/users/awips/volumebrowser/VbSources/index.html\n\n\nand will exist on the local CAVE machine under \n~/caveData/etc/user/awips/volumebrowser/VbSources/index.html\n\n\nRemoving menus from the menubar\n\uf0c1\n\n\nThis example covers how to remove a menu (in this case \nMRMS\n) from D2D:\n\n\n\n\nswitch to the Localization Perspective\n\n\nfind the \nmrms\n folder under CAVE > Menus\n\n\ndouble-click to expand \nindex.html\n\n\nright-click \nBASE\n and select \nCopy To...\n, then select \nUSER\n level\n\n\nright-click refresh the \nmrms\n entry\n\n\n\n\ndouble click \nUSER\n to open the editor and change\n\n\n<menuContributionFile>\n <include installTo=\"menu:mrms?after=MRMS_MENU_START\"\n fileName=\"menus/mrms/mrms.xml\">\n </include>\n</menuContributionFile>\n\n\n\nto \n\n\n<menuContributionFile>\n</menuContributionFile>\n\n\n\n\n\n\n\nWith this you can restart CAVE and will not see the MRMS menu anymore. Repeat this example for other product menus, such as \nlocal\n, \nhydro\n, \nscan\n, etc., to further customize D2D data menus for any level of localization.",
"title": "Editing Menus"
},
{
"location": "/cave/d2d-edit-menus/#changing-the-models-displayed-with-d2d-bundles",
"text": "In the Localization Perspective you can navigate to D2D > Volume Browser > VbSources and click on volume.xml to expand. Then right-click on BASE and select Copy To... User (awips). You can then right-click again on the VbSources folder and select Refresh to see your new localization file called USER (awips) . Open the file and add or edit the model names: <menuContributionFile>\n <include installTo=\"menu:models\" \n fileName=\"menus/volume/allFamilies.xml\">\n <substitute key=\"modelName\" value=\"CMC\" />\n <substitute key=\"menuName\" value=\"CMC\" />\n <substitute key=\"frameCount\" value=\"41\" />\n <substitute key=\"TP\" value=\"TP\"/>\n </include>\n <include installTo=\"menu:models\" \n fileName=\"menus/volume/allFamilies.xml\">\n <substitute key=\"modelName\" value=\"GFS\" />\n <substitute key=\"menuName\" value=\"GFS\" />\n <substitute key=\"frameCount\" value=\"41\" />\n <substitute key=\"TP\" value=\"TP\"/>\n </include>\n ... Notice that you specify both the modelName (what it's named inside EDEX, such as NAM12), and menuName , if you prefer a more detailed menu entry, such as \"NAM 12km\". When you are finished, save the file and restart CAVE for the changes to take effect. Your new localization file exists on the EDEX server (assuming username awips) as /awips2/edex/data/utility/cave_static/users/awips/volumebrowser/VbSources/index.html and will exist on the local CAVE machine under ~/caveData/etc/user/awips/volumebrowser/VbSources/index.html",
"title": "Changing the models displayed with D2D bundles"
},
{
"location": "/cave/d2d-edit-menus/#removing-menus-from-the-menubar",
"text": "This example covers how to remove a menu (in this case MRMS ) from D2D: switch to the Localization Perspective find the mrms folder under CAVE > Menus double-click to expand index.html right-click BASE and select Copy To... , then select USER level right-click refresh the mrms entry double click USER to open the editor and change <menuContributionFile>\n <include installTo=\"menu:mrms?after=MRMS_MENU_START\"\n fileName=\"menus/mrms/mrms.xml\">\n </include>\n</menuContributionFile> to <menuContributionFile>\n</menuContributionFile> With this you can restart CAVE and will not see the MRMS menu anymore. Repeat this example for other product menus, such as local , hydro , scan , etc., to further customize D2D data menus for any level of localization.",
"title": "Removing menus from the menubar"
},
{
"location": "/cave/cave-localization/",
"text": "Localization Preferences\n\uf0c1\n\n\nThe default localization site for Unidata AWIPS is BOU (Boulder, Colorado, where UCAR is located). When you are prompted to connect to an EDEX server, you can change the WFO ID as well. \n\n\n\n\nSince release 16.1.4, CAVE users can switch the localization site to any valid NWS WFO from \nCAVE > Preferences > Localization\n, where edits canbe made to both the site ID and EDEX server name. Click \nRestart\n after changes are applied. \n\n\n\n\nChange the site (example shows TBW Tampa Bay) and click \nOkay\n or \nApply\n and confirm the popup dialog, which informs you that you must \nrestart\n CAVE for the changes to take effect.",
"title": "Change Localization"
},
{
"location": "/cave/cave-localization/#localization-preferences",
"text": "The default localization site for Unidata AWIPS is BOU (Boulder, Colorado, where UCAR is located). When you are prompted to connect to an EDEX server, you can change the WFO ID as well. Since release 16.1.4, CAVE users can switch the localization site to any valid NWS WFO from CAVE > Preferences > Localization , where edits canbe made to both the site ID and EDEX server name. Click Restart after changes are applied. Change the site (example shows TBW Tampa Bay) and click Okay or Apply and confirm the popup dialog, which informs you that you must restart CAVE for the changes to take effect.",
"title": "Localization Preferences"
},
{
"location": "/edex/distributed-computing/",
"text": "AWIPS makes use of service-oriented architecture to request, process, and serve real-time meteorological data. While originally developed for use on internal NWS forecast office networks, where operational installations of AWIPS could consist of a dozen servers or more, the early Unidata releases were stripped of operations-specific configurations and plugins, and released as a standalone server. This worked, since (at the time) a single EDEX instance with an attached SSD could handle most of NOAAport. However, with GOES-R(16) coming online in 2017, and more gridded forecast models being created at finer temporal and spatial resolutions, there is now a need to distribute the data decoding across multiple machine to handle this firehose of data.\n\n\n\n\nThis walkthrough will install different EDEX components on two machines in the XSEDE Jetstream Cloud, the first is used to \ningest and decode\n while the second is used to \nstore and serve\n data.\n\n\n\n\n\n\nDatabase/Request Server\n\uf0c1\n\n\n\n\nSpecs\n\n\n\n\nIP address \n10.0.0.9\n\n\nCentOS 6.9\n\n\nm1.medium (CPU: 6, Mem: 16 GB)\n\n\n1000GB attached storage for \n/awips2/edex/data/hdf5\n\n\n\n\n\n\n1. Install\n\uf0c1\n\n\ngroupadd fxalpha && useradd -G fxalpha awips\nmkdir /awips2\nwget -O /etc/yum.repos.d/awips2.repo https://www.unidata.ucar.edu/software/awips2/doc/awips2.repo\nyum clean all\nyum groupinstall awips2-database\n\n\n\n2. IPtables Config\n\uf0c1\n\n\nIt is required that ports 5432 and 5672 be open for the specific IP addresses of outside EDEX ingest servers. It is \nnot recommended\n that you leave port 5432 open to all connections (since the default awips database password is known, and is not meant as a security measure). Further, it \nis recommended\n that you change the default postgres awips user password (which then requires a reconfiguration of every remote EDEX ingest server in order to connect to this database/request server).\n\n\nvi /etc/sysconfig/iptables\n\n*filter\n:INPUT DROP [0:0]\n:FORWARD DROP [0:0]\n:OUTPUT ACCEPT [0:0]\n:EXTERNAL - [0:0]\n:EDEX - [0:0]\n-A INPUT -i lo -j ACCEPT\n-A INPUT -p icmp --icmp-type any -j ACCEPT\n-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT\n-A INPUT -m state --state NEW -m tcp -p tcp --dport 9581 -j ACCEPT\n-A INPUT -m state --state NEW -m tcp -p tcp --dport 9582 -j ACCEPT\n-A INPUT -s 10.0.0.7 -j EDEX\n-A INPUT -j EXTERNAL\n-A EXTERNAL -j REJECT\n-A EDEX -m state --state NEW -p tcp --dport 5432 -j ACCEPT\n-A EDEX -m state --state NEW -p tcp --dport 5672 -j ACCEPT\n-A EDEX -j REJECT\nCOMMIT\n\n\n\nNote the line \n-A INPUT -s 10.0.0.7 -j EDEX\n as well as the following \n-A EDEX ...\n rules for ports 5432 (PostgreSQL) and 5672 (PyPIES/HDF5). \n\n\n\n\nThe two ports left open to all connections (9581,9582) in addition to default port 22 are for outside CAVE client connections\n\n\n\n\n3. Database Config\n\uf0c1\n\n\nIn the file \n/awips2/database/data/pg_hba.conf\n you define remote connections for all postgres tables with as \n<IP address>/32\n, after the block of IPv4 local connections:\n\n\nvi /awips2/database/data/pg_hba.conf\n\n# IPv4 local connections:\nhost fxatext all 127.0.0.1/32 trust\nhost hd_ob92oax all 127.0.0.1/32 trust\nhost dc_ob7oax all 127.0.0.1/32 trust\nhost hmdb all 127.0.0.1/32 trust\nhost metadata all 127.0.0.1/32 md5\nhost maps all 127.0.0.1/32 md5\nhost postgres all 127.0.0.1/32 md5\nhost ncep all 127.0.0.1/32 md5\nhost ebxml all 127.0.0.1/32 trust\nhost replication replication 127.0.0.1/32 md5\n# Remote connections\nhost fxatext all 10.0.0.7/32 md5\nhost hd_ob92oax all 10.0.0.7/32 md5\nhost dc_ob7oax all 10.0.0.7/32 md5\nhost hmdb all 10.0.0.7/32 md5\nhost metadata all 10.0.0.7/32 md5\nhost maps all 10.0.0.7/32 md5\nhost postgres all 10.0.0.7/32 md5\nhost ncep all 10.0.0.7/32 md5\nhost ebxml all 10.0.0.7/32 md5\nhost replication replication 10.0.0.7/32 md5\n# IPv6 local connections:\nhost all all ::1/128 md5\nhost replication replication ::1/128 md5\n\n\n\n4. Start EDEX\n\uf0c1\n\n\nedex start database\n\n\n\nThis will start PostgreSQL, httpd-pypies, Qpid, and the EDEX Request JVM (and will not start the LDM or the EDEX Ingest and IngestGrib JVMs)\n\n\n5. Monitor Services\n\uf0c1\n\n\nThe command \nedex\n will show which services are running, and for a Database/Request server, will not include the LDM, EDEXingest, or EDEXgrib:\n\n\nedex\n\n[edex status]\npostgres :: running :: pid 571\npypies :: running :: pid 639\nqpid :: running :: pid 674\nEDEXingest :: not running\nEDEXgrib :: not running\nEDEXrequest :: running :: pid 987 1029 23792\n\n\n\nSince this Database/Request server is not running the main \nedexIngest\n JVM, we won't see anything from \nedex log\n, instead watch the Request Server with the command\n\n\nedex log reqeust\n\n\n\n\n\nConfirm that EDEX Request connects to PostgreSQL!\n\n\nWith the above \nedex log request\n, ensure that the log progresses \npast this point\n:\n\n\nSpring-enabled Plugins:\n-----------------------\nacars-common, acars-common-dataaccess, acarssounding-common, activetable-common,\nactivetable-request, airep-common, airep-common-dataaccess, airmet-common, \natcf-common, atcf-request, auth-request, awipstools-request, aww-common...\n\nJAXB context for PersistencePathKeySet inited in: 5ms\nINFO 20:21:09,134 5584 [EDEXMain] Reflections: Reflections took 436 ms to scan 258 urls, producing 31 keys and 3637 values\nFound 499 db classes in 720 ms\n\n\n\nIf the log stops at the \nFound db classes...\n line, that means EDEX is not connecting to PostgreSQL - double-check \nDB_ADDR\n in \n/awips2/edex/bin/setup.env\n\n\n\n\n\n\nIngest/Decode Server\n\uf0c1\n\n\n\n\nSpecs\n\n\n\n\nIP address \n10.0.0.7\n\n\nCentOS 6.9\n\n\nm1.xxlarge (CPU: 44, Mem: 120 GB)\n\n\n\n\n\n\n1. Install\n\uf0c1\n\n\ngroupadd fxalpha && useradd -G fxalpha awips\nwget -O /etc/yum.repos.d/awips2.repo https://www.unidata.ucar.edu/software/awips2/doc/awips2.repo\nyum clean all\nyum groupinstall awips2-ingest\n\n\n\n2. EDEX Config\n\uf0c1\n\n\nvi /awips2/edex/bin/setup.env\n\n\nHere you should redefine \nDB_ADDR\n and \nPYPIES_SERVER\n to point to the \nDatabase/Request\n server (10.0.0.9)\n\n\nexport EDEX_SERVER=10.0.0.7\n\n# postgres connection\nexport DB_ADDR=10.0.0.9\nexport DB_PORT=5432\n\n# pypies hdf5 connection\nexport PYPIES_SERVER=http://10.0.0.9:9582\n\n# qpid connection\nexport BROKER_ADDR=${EDEX_SERVER}\n\n\n\nNotice that \nEDEX_SERVER\n and \nBROKER_ADDR\n (qpid) should remain defined as the \nlocalhost\n IP address (10.0.0.7)\n\n\n3. Start EDEX\n\uf0c1\n\n\nedex start ingest\n\n\n\nThis will start Qpid and the EDEX Ingest and IngestGrib JVMs (and not start PostgreSQL, httpd-pypies, or the EDEX Request JVM)\n\n\n4. Monitor Services\n\uf0c1\n\n\nWatch the edex JVM log with the command\n\n\nedex log\n\n\n\n\n\nConfirm that EDEX connects to PostgreSQL!\n\n\nWith the above \nedex log\n, ensure that the log progresses \npast this point\n:\n\n\nSpring-enabled Plugins:\n-----------------------\nacars-common, acars-common-dataaccess, acarssounding-common, activetable-common,\nactivetable-ingest, airep-common, airep-common-dataaccess, airmet-common, \natcf-common, atcf-ingest, aww-common...\n\nJAXB context for PersistencePathKeySet inited in: 5ms\nINFO 20:21:09,134 5584 [EDEXMain] Reflections: Reflections took 436 ms to scan 258 urls, producing 31 keys and 3637 values\nFound 499 db classes in 720 ms\n\n\n\nIf the log stops at the \nFound db classes...\n line, that means EDEX is not connecting to the \nremote PostgreSQL instance\n - double-check \nDB_ADDR\n in \n/awips2/edex/bin/setup.env\n\n\nYou can \nmanually check remote PostgreSQL connectivity\n on any EDEX Ingest server from the command line:\n\n\nsu - awips\npsql -U awips -h <remote IP address> -p 5432 metadata\n\n\n\nWhere the default passwd is \nawips\n and is defined in files in \n/awips2/edex/conf/db/hibernateConfig/\n\n\n\n\n\n\nAdditional Notes\n\uf0c1\n\n\n\n\nBe mindful of what IP address and hostnames are used in \n/awips2/edex/bin/setup.env\n and \n/awips2/database/data/pg_hba.conf\n, and that they are resolvable from the command line. Consult or edit \n/etc/hosts\n as needed.\n\n\n\n\nYou can install multiple \nawips2-ingest\n servers, each decoding a different dataset or feed, all pointing to the same Database/Request server (\nDB_ADDR\n and \nPYPIES_SERVER\n in \n/awips2/edex/bin/setup.env\n):\n\n\n\n\n\n\nEvery EDEX Ingest IP address must be allowed in both \niptables\n and \npg_hba.conf\n as \nshown above\n.",
"title": "Distributed EDEX"
},
{
"location": "/edex/distributed-computing/#databaserequest-server",
"text": "Specs IP address 10.0.0.9 CentOS 6.9 m1.medium (CPU: 6, Mem: 16 GB) 1000GB attached storage for /awips2/edex/data/hdf5",
"title": "Database/Request Server"
},
{
"location": "/edex/distributed-computing/#1-install",
"text": "groupadd fxalpha && useradd -G fxalpha awips\nmkdir /awips2\nwget -O /etc/yum.repos.d/awips2.repo https://www.unidata.ucar.edu/software/awips2/doc/awips2.repo\nyum clean all\nyum groupinstall awips2-database",
"title": "1. Install"
},
{
"location": "/edex/distributed-computing/#2-iptables-config",
"text": "It is required that ports 5432 and 5672 be open for the specific IP addresses of outside EDEX ingest servers. It is not recommended that you leave port 5432 open to all connections (since the default awips database password is known, and is not meant as a security measure). Further, it is recommended that you change the default postgres awips user password (which then requires a reconfiguration of every remote EDEX ingest server in order to connect to this database/request server). vi /etc/sysconfig/iptables\n\n*filter\n:INPUT DROP [0:0]\n:FORWARD DROP [0:0]\n:OUTPUT ACCEPT [0:0]\n:EXTERNAL - [0:0]\n:EDEX - [0:0]\n-A INPUT -i lo -j ACCEPT\n-A INPUT -p icmp --icmp-type any -j ACCEPT\n-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\n-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT\n-A INPUT -m state --state NEW -m tcp -p tcp --dport 9581 -j ACCEPT\n-A INPUT -m state --state NEW -m tcp -p tcp --dport 9582 -j ACCEPT\n-A INPUT -s 10.0.0.7 -j EDEX\n-A INPUT -j EXTERNAL\n-A EXTERNAL -j REJECT\n-A EDEX -m state --state NEW -p tcp --dport 5432 -j ACCEPT\n-A EDEX -m state --state NEW -p tcp --dport 5672 -j ACCEPT\n-A EDEX -j REJECT\nCOMMIT Note the line -A INPUT -s 10.0.0.7 -j EDEX as well as the following -A EDEX ... rules for ports 5432 (PostgreSQL) and 5672 (PyPIES/HDF5). The two ports left open to all connections (9581,9582) in addition to default port 22 are for outside CAVE client connections",
"title": "2. IPtables Config"
},
{
"location": "/edex/distributed-computing/#3-database-config",
"text": "In the file /awips2/database/data/pg_hba.conf you define remote connections for all postgres tables with as <IP address>/32 , after the block of IPv4 local connections: vi /awips2/database/data/pg_hba.conf\n\n# IPv4 local connections:\nhost fxatext all 127.0.0.1/32 trust\nhost hd_ob92oax all 127.0.0.1/32 trust\nhost dc_ob7oax all 127.0.0.1/32 trust\nhost hmdb all 127.0.0.1/32 trust\nhost metadata all 127.0.0.1/32 md5\nhost maps all 127.0.0.1/32 md5\nhost postgres all 127.0.0.1/32 md5\nhost ncep all 127.0.0.1/32 md5\nhost ebxml all 127.0.0.1/32 trust\nhost replication replication 127.0.0.1/32 md5\n# Remote connections\nhost fxatext all 10.0.0.7/32 md5\nhost hd_ob92oax all 10.0.0.7/32 md5\nhost dc_ob7oax all 10.0.0.7/32 md5\nhost hmdb all 10.0.0.7/32 md5\nhost metadata all 10.0.0.7/32 md5\nhost maps all 10.0.0.7/32 md5\nhost postgres all 10.0.0.7/32 md5\nhost ncep all 10.0.0.7/32 md5\nhost ebxml all 10.0.0.7/32 md5\nhost replication replication 10.0.0.7/32 md5\n# IPv6 local connections:\nhost all all ::1/128 md5\nhost replication replication ::1/128 md5",
"title": "3. Database Config"
},
{
"location": "/edex/distributed-computing/#4-start-edex",
"text": "edex start database This will start PostgreSQL, httpd-pypies, Qpid, and the EDEX Request JVM (and will not start the LDM or the EDEX Ingest and IngestGrib JVMs)",
"title": "4. Start EDEX"
},
{
"location": "/edex/distributed-computing/#5-monitor-services",
"text": "The command edex will show which services are running, and for a Database/Request server, will not include the LDM, EDEXingest, or EDEXgrib: edex\n\n[edex status]\npostgres :: running :: pid 571\npypies :: running :: pid 639\nqpid :: running :: pid 674\nEDEXingest :: not running\nEDEXgrib :: not running\nEDEXrequest :: running :: pid 987 1029 23792 Since this Database/Request server is not running the main edexIngest JVM, we won't see anything from edex log , instead watch the Request Server with the command edex log reqeust Confirm that EDEX Request connects to PostgreSQL! With the above edex log request , ensure that the log progresses past this point : Spring-enabled Plugins:\n-----------------------\nacars-common, acars-common-dataaccess, acarssounding-common, activetable-common,\nactivetable-request, airep-common, airep-common-dataaccess, airmet-common, \natcf-common, atcf-request, auth-request, awipstools-request, aww-common...\n\nJAXB context for PersistencePathKeySet inited in: 5ms\nINFO 20:21:09,134 5584 [EDEXMain] Reflections: Reflections took 436 ms to scan 258 urls, producing 31 keys and 3637 values\nFound 499 db classes in 720 ms If the log stops at the Found db classes... line, that means EDEX is not connecting to PostgreSQL - double-check DB_ADDR in /awips2/edex/bin/setup.env",
"title": "5. Monitor Services"
},
{
"location": "/edex/distributed-computing/#ingestdecode-server",
"text": "Specs IP address 10.0.0.7 CentOS 6.9 m1.xxlarge (CPU: 44, Mem: 120 GB)",
"title": "Ingest/Decode Server"
},
{
"location": "/edex/distributed-computing/#1-install_1",
"text": "groupadd fxalpha && useradd -G fxalpha awips\nwget -O /etc/yum.repos.d/awips2.repo https://www.unidata.ucar.edu/software/awips2/doc/awips2.repo\nyum clean all\nyum groupinstall awips2-ingest",
"title": "1. Install"
},
{
"location": "/edex/distributed-computing/#2-edex-config",
"text": "vi /awips2/edex/bin/setup.env Here you should redefine DB_ADDR and PYPIES_SERVER to point to the Database/Request server (10.0.0.9) export EDEX_SERVER=10.0.0.7\n\n# postgres connection\nexport DB_ADDR=10.0.0.9\nexport DB_PORT=5432\n\n# pypies hdf5 connection\nexport PYPIES_SERVER=http://10.0.0.9:9582\n\n# qpid connection\nexport BROKER_ADDR=${EDEX_SERVER} Notice that EDEX_SERVER and BROKER_ADDR (qpid) should remain defined as the localhost IP address (10.0.0.7)",
"title": "2. EDEX Config"
},
{
"location": "/edex/distributed-computing/#3-start-edex",
"text": "edex start ingest This will start Qpid and the EDEX Ingest and IngestGrib JVMs (and not start PostgreSQL, httpd-pypies, or the EDEX Request JVM)",
"title": "3. Start EDEX"
},
{
"location": "/edex/distributed-computing/#4-monitor-services",
"text": "Watch the edex JVM log with the command edex log Confirm that EDEX connects to PostgreSQL! With the above edex log , ensure that the log progresses past this point : Spring-enabled Plugins:\n-----------------------\nacars-common, acars-common-dataaccess, acarssounding-common, activetable-common,\nactivetable-ingest, airep-common, airep-common-dataaccess, airmet-common, \natcf-common, atcf-ingest, aww-common...\n\nJAXB context for PersistencePathKeySet inited in: 5ms\nINFO 20:21:09,134 5584 [EDEXMain] Reflections: Reflections took 436 ms to scan 258 urls, producing 31 keys and 3637 values\nFound 499 db classes in 720 ms If the log stops at the Found db classes... line, that means EDEX is not connecting to the remote PostgreSQL instance - double-check DB_ADDR in /awips2/edex/bin/setup.env You can manually check remote PostgreSQL connectivity on any EDEX Ingest server from the command line: su - awips\npsql -U awips -h <remote IP address> -p 5432 metadata Where the default passwd is awips and is defined in files in /awips2/edex/conf/db/hibernateConfig/",
"title": "4. Monitor Services"
},
{
"location": "/edex/distributed-computing/#additional-notes",
"text": "Be mindful of what IP address and hostnames are used in /awips2/edex/bin/setup.env and /awips2/database/data/pg_hba.conf , and that they are resolvable from the command line. Consult or edit /etc/hosts as needed. You can install multiple awips2-ingest servers, each decoding a different dataset or feed, all pointing to the same Database/Request server ( DB_ADDR and PYPIES_SERVER in /awips2/edex/bin/setup.env ): Every EDEX Ingest IP address must be allowed in both iptables and pg_hba.conf as shown above .",
"title": "Additional Notes"
},
{
"location": "/install/start-edex/",
"text": "EDEX Service Manager\n\uf0c1\n\n\nThere are five EDEX service installed into \n/etc/init.d/\n, four of which run on boot:\n\n\nservice postgres start\nservice httpd-pypies start\nservice qpidd start\nservice edex_camel start\n\n\n\nThe fifth, \nedex_ldm\n, does \nnot run at boot\n to prevent filling up disk space if EDEX is not running. \n\n\nservice edex_ldm start\n\n\n\nAll of these services are started and stopped by a single program \nedex\n,\n\n\nedex start\n\uf0c1\n\n\nedex start\n\nStarting EDEX PostgreSQL: [ OK ]\nStarting httpd: [ OK ]\nStarting QPID [ OK ]\nStarting EDEX Camel (request): \nStarting EDEX Camel (ingest): \nStarting EDEX Camel (ingestGrib): \nStarting AWIPS LDM:The product-queue is OK.\n...\n\n\n\nedex stop\n\uf0c1\n\n\nedex stop\n\nStopping EDEX Camel (request): \nStopping EDEX Camel (ingest): \nStopping EDEX Camel (ingestGrib): \nStopping QPID [ OK ]\nStopping httpd: [ OK ]\nStopping EDEX PostgreSQL: [ OK ]\nStopping AWIPS LDM:Stopping the LDM server...\n...\n\n\n\nedex setup\n\uf0c1\n\n\nedex setup\n\n[edex] EDEX IP and Hostname Setup\n Checking /awips2/database/data/pg_hba.conf [OK]\n Checking /awips2/edex/bin/setup.env [OK]\n\n[edit] Hostname edex.unidata.ucar.edu added to /awips2/ldm/etc/ldmd.conf\n[done]\n\n\n\nThis command configures and/or confirms that the EDEX hostname and IP address definitions exist (\nedex setup\n is run by \nedex start\n).\n\n\n\n\nIf your EDEX server is running but you see the message \"Connectivity Error: Unable to validate localization preferences\" in CAVE, it may mean that the domain name defined in \n/awips2/edex/bin/setup.env\n can not be resolved from \noutside\n the server. Some machines have different \ninternally-resolved\n and \nexternally-resolved\n domain names (cloud-based especially). The name defined in \nsetup.env\n must be \nexternally-resolvable\n.\n\n\n\n\nedex log\n\uf0c1\n\n\nedex log\n\n[edex] EDEX Log Viewer\n\n :: No log specified - Defaulting to ingest log\n :: Viewing /awips2/edex/logs/edex-ingest-20151209.log. Press CTRL+C to exit\n\nINFO [Ingest.binlightning-1] /awips2/data_store/SFPA42_KWBC_091833_38031177.2015120918 processed in: 0.0050 (sec) Latency: 0.0550 (sec)\nINFO [Ingest.obs-1] /awips2/data_store/metar/SAIN31_VABB_091830_131392869.2015120918 processed in: 0.0810 (sec) Latency: 0.1800 (sec)\n\n\n\nMore edex logs...\n\n\nedex log grib\nedex log request\nedex log ldm\nedex log radar\nedex log satellite\nedex log text\n\n\n\nedex users\n\uf0c1\n\n\nTo see a list of clients connecting to your EDEX server, use the \nedex users [YYYYMMDD]\n command, where \nYYYYMMDD\n is the optional date string.\n\n\nedex users\n\n -- EDEX Users 20160826 --\nuser@101.253.20.225\nuser@192.168.1.67\nawips@0.0.0.0\nawips@sdsmt.edu\n\n\n\nedex purge\n\uf0c1\n\n\nTo view any stuck purge jobs in PortgreSQL (a rare but serious problem if your disk fills up). The solution to this is to run \nedex purge reset\n.\n\n\n\n\nEDEX Memory Configuration\n\uf0c1\n\n\nThe directory \n/awips2/edex/etc/\n contains files which define the amount of memory used for each of the three EDEX JVMs (ingest, ingestGrib, request):\n\n\nls -al /awips2/edex/etc/\n-rw-r--r-- 1 awips fxalpha 1501 Dec 7 00:37 default.sh\n-rw-r--r-- 1 awips fxalpha 1655 Dec 12 19:47 ingestGrib.sh\n-rw-r--r-- 1 awips fxalpha 937 Dec 12 19:46 ingest.sh\n-rw-r--r-- 1 awips fxalpha 1231 Dec 12 19:47 request.sh\n\n\n\nEach file contains the \nXmx\n definition for maximum memory:\n\n\nexport INIT_MEM=512 # in Meg\nexport MAX_MEM=4096 # in Meg\n\n\n\nAfter editing these files, you must restart edex (\nservice edex_camel restart\n).\n\n\n\n\nEDEX Plugin Configuration\n\uf0c1\n\n\nThe directory \n/awips2/edex/conf/modes\n contains XML files with rules defining which plugins are included or excluded with each JVM (ingest, ingestGrid, request):\n\n\nls -la /awips2/edex/conf/modes\n-rw-r--r-- 1 awips fxalpha 1982 Dec 6 21:26 grid-modes.xml\n-rw-r--r-- 1 awips fxalpha 928 Dec 6 21:24 ingest-modes.xml\n-rw-r--r-- 1 awips fxalpha 1689 Dec 6 21:24 request-modes.xml\n\n\n\nEDEX services are all registered through spring. By including or excluding specific spring files we can determine at startup which services the EDEX instance should start.\n\n\nAll mode files are merged at startup. Modes files with modes that have the same name are combined so the end result is an aggregate of patterns in all files. Include and exclude tags should have regular expressions that are compatible with Java's Pattern class. If you provide no \n<include>\n tag for a particular mode, the include defaults to \n.*\n.\n\n\nAn example of \n/awips2/edex/conf/modes/ingest-modes.xml\n, with a number of unused plugin decoders excluded because the data are not available outside of the SBN:\n\n\n<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<edexModes>\n <mode name=\"ingest\">\n <exclude>.*request.*</exclude>\n <exclude>edex-security.xml</exclude>\n <exclude>taf.*</exclude>\n <exclude>modis.*</exclude>\n <exclude>shef.*</exclude>\n <exclude>idft.*</exclude>\n <exclude>ffmp.*</exclude>\n <exclude>stormtrack.*</exclude>\n <exclude>retrieval.*</exclude>\n <exclude>regionalsat.*</exclude>\n <exclude>pointset-netcdf.*</exclude>\n <exclude>ncscat.*</exclude>\n <exclude>bufrobs.*</exclude>\n <exclude>bufrmthdw.*</exclude>\n <exclude>sgwh.*</exclude>\n </mode>\n</edexModes>",
"title": "EDEX Start and Stop"
},
{
"location": "/install/start-edex/#edex-service-manager",
"text": "There are five EDEX service installed into /etc/init.d/ , four of which run on boot: service postgres start\nservice httpd-pypies start\nservice qpidd start\nservice edex_camel start The fifth, edex_ldm , does not run at boot to prevent filling up disk space if EDEX is not running. service edex_ldm start All of these services are started and stopped by a single program edex ,",
"title": "EDEX Service Manager"
},
{
"location": "/install/start-edex/#edex-start",
"text": "edex start\n\nStarting EDEX PostgreSQL: [ OK ]\nStarting httpd: [ OK ]\nStarting QPID [ OK ]\nStarting EDEX Camel (request): \nStarting EDEX Camel (ingest): \nStarting EDEX Camel (ingestGrib): \nStarting AWIPS LDM:The product-queue is OK.\n...",
"title": "edex start"
},
{
"location": "/install/start-edex/#edex-stop",
"text": "edex stop\n\nStopping EDEX Camel (request): \nStopping EDEX Camel (ingest): \nStopping EDEX Camel (ingestGrib): \nStopping QPID [ OK ]\nStopping httpd: [ OK ]\nStopping EDEX PostgreSQL: [ OK ]\nStopping AWIPS LDM:Stopping the LDM server...\n...",
"title": "edex stop"
},
{
"location": "/install/start-edex/#edex-setup",
"text": "edex setup\n\n[edex] EDEX IP and Hostname Setup\n Checking /awips2/database/data/pg_hba.conf [OK]\n Checking /awips2/edex/bin/setup.env [OK]\n\n[edit] Hostname edex.unidata.ucar.edu added to /awips2/ldm/etc/ldmd.conf\n[done] This command configures and/or confirms that the EDEX hostname and IP address definitions exist ( edex setup is run by edex start ). If your EDEX server is running but you see the message \"Connectivity Error: Unable to validate localization preferences\" in CAVE, it may mean that the domain name defined in /awips2/edex/bin/setup.env can not be resolved from outside the server. Some machines have different internally-resolved and externally-resolved domain names (cloud-based especially). The name defined in setup.env must be externally-resolvable .",
"title": "edex setup"
},
{
"location": "/install/start-edex/#edex-log",
"text": "edex log\n\n[edex] EDEX Log Viewer\n\n :: No log specified - Defaulting to ingest log\n :: Viewing /awips2/edex/logs/edex-ingest-20151209.log. Press CTRL+C to exit\n\nINFO [Ingest.binlightning-1] /awips2/data_store/SFPA42_KWBC_091833_38031177.2015120918 processed in: 0.0050 (sec) Latency: 0.0550 (sec)\nINFO [Ingest.obs-1] /awips2/data_store/metar/SAIN31_VABB_091830_131392869.2015120918 processed in: 0.0810 (sec) Latency: 0.1800 (sec) More edex logs... edex log grib\nedex log request\nedex log ldm\nedex log radar\nedex log satellite\nedex log text",
"title": "edex log"
},
{
"location": "/install/start-edex/#edex-users",
"text": "To see a list of clients connecting to your EDEX server, use the edex users [YYYYMMDD] command, where YYYYMMDD is the optional date string. edex users\n\n -- EDEX Users 20160826 --\nuser@101.253.20.225\nuser@192.168.1.67\nawips@0.0.0.0\nawips@sdsmt.edu",
"title": "edex users"
},
{
"location": "/install/start-edex/#edex-purge",
"text": "To view any stuck purge jobs in PortgreSQL (a rare but serious problem if your disk fills up). The solution to this is to run edex purge reset .",
"title": "edex purge"
},
{
"location": "/install/start-edex/#edex-memory-configuration",
"text": "The directory /awips2/edex/etc/ contains files which define the amount of memory used for each of the three EDEX JVMs (ingest, ingestGrib, request): ls -al /awips2/edex/etc/\n-rw-r--r-- 1 awips fxalpha 1501 Dec 7 00:37 default.sh\n-rw-r--r-- 1 awips fxalpha 1655 Dec 12 19:47 ingestGrib.sh\n-rw-r--r-- 1 awips fxalpha 937 Dec 12 19:46 ingest.sh\n-rw-r--r-- 1 awips fxalpha 1231 Dec 12 19:47 request.sh Each file contains the Xmx definition for maximum memory: export INIT_MEM=512 # in Meg\nexport MAX_MEM=4096 # in Meg After editing these files, you must restart edex ( service edex_camel restart ).",
"title": "EDEX Memory Configuration"
},
{
"location": "/install/start-edex/#edex-plugin-configuration",
"text": "The directory /awips2/edex/conf/modes contains XML files with rules defining which plugins are included or excluded with each JVM (ingest, ingestGrid, request): ls -la /awips2/edex/conf/modes\n-rw-r--r-- 1 awips fxalpha 1982 Dec 6 21:26 grid-modes.xml\n-rw-r--r-- 1 awips fxalpha 928 Dec 6 21:24 ingest-modes.xml\n-rw-r--r-- 1 awips fxalpha 1689 Dec 6 21:24 request-modes.xml EDEX services are all registered through spring. By including or excluding specific spring files we can determine at startup which services the EDEX instance should start. All mode files are merged at startup. Modes files with modes that have the same name are combined so the end result is an aggregate of patterns in all files. Include and exclude tags should have regular expressions that are compatible with Java's Pattern class. If you provide no <include> tag for a particular mode, the include defaults to .* . An example of /awips2/edex/conf/modes/ingest-modes.xml , with a number of unused plugin decoders excluded because the data are not available outside of the SBN: <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<edexModes>\n <mode name=\"ingest\">\n <exclude>.*request.*</exclude>\n <exclude>edex-security.xml</exclude>\n <exclude>taf.*</exclude>\n <exclude>modis.*</exclude>\n <exclude>shef.*</exclude>\n <exclude>idft.*</exclude>\n <exclude>ffmp.*</exclude>\n <exclude>stormtrack.*</exclude>\n <exclude>retrieval.*</exclude>\n <exclude>regionalsat.*</exclude>\n <exclude>pointset-netcdf.*</exclude>\n <exclude>ncscat.*</exclude>\n <exclude>bufrobs.*</exclude>\n <exclude>bufrmthdw.*</exclude>\n <exclude>sgwh.*</exclude>\n </mode>\n</edexModes>",
"title": "EDEX Plugin Configuration"
},
{
"location": "/edex/ldm/",
"text": "Default LDM Feeds for EDEX\n\uf0c1\n\n\nfrom \n/awips2/ldm/etc/ldmd.conf\n\n\nREQUEST NEXRAD3 \"./p(DHR|DPR|DSP|DTA|DAA|DVL|EET|HHC|N0Q|N0S|N0U|OHA|NVW|NTV|NST).\" idd.unidata.ucar.edu\nREQUEST FNEXRAD|IDS|DDPLUS|UNIWISC \".*\" idd.unidata.ucar.edu\nREQUEST NGRID \".*\" idd.unidata.ucar.edu\nREQUEST NOTHER \"^TIP... KNES.*\" idd.unidata.ucar.edu\nREQUEST HDS|NIMAGE \".*\" idd.unidata.ucar.edu\n\nREQUEST CONDUIT \"nam\" idd.unidata.ucar.edu\nREQUEST CONDUIT \"rap\" idd.unidata.ucar.edu\nREQUEST CONDUIT \"pgrb2\" idd.unidata.ucar.edu\nREQUEST CONDUIT \"nwstg\" idd.unidata.ucar.edu\n\n\n\n\n\nRemember than LDM commands such as these require \nTAB SEPARATION\n between items.\n\n\n\n\nOptional LDM Feeds\n\uf0c1\n\n\nFNMOC and CMC models\n\n\nREQUEST FNMOC \".*\" idd.unidata.ucar.edu\nREQUEST CMC \".*\" idd.unidata.ucar.edu\n\n\n\nLightning (restricted to educational use with rebroadcasting restricted)\n\n\nREQUEST LIGHTNING \".*\" striker2.atmos.albany.edu\nREQUEST LIGHTNING \".*\" idd.unidata.ucar.edu\n\n\n\nFSL/GSD Experimental HRRR (Sub-hourly)\n\n\nREQUEST FSL2 \"^GRIB2.FSL.HRRR\" hrrr.unidata.ucar.edu\n\n\n\nRestart the LDM\n\uf0c1\n\n\nsudo service edex_ldm restart\n\nldmadmin restart\n\n\n\nMonitor Incoming Data Feeds\n\uf0c1\n\n\nTo watch incoming data in real-time:\n\n\nnotifyme -vl -\n\n\n\nTo watch for a specific product and feed and time (360 sec = 6 min):\n\n\nnotifyme -vl - -h localhost -f NEXRAD3 -p DHR -o 360\n\n\n\nTo watch the same on a remote queue:\n\n\nnotifyme -vl - -h idd.unidata.ucar.edu -f NEXRAD3 -p DHR -o 360\n\n\n\nLDM Logging\n\uf0c1\n\n\nedex log ldm\n\n[edex] EDEX Log Viewer\n\n :: Viewing /awips2/ldm/logs/ldmd.log. Press CTRL+C to exit\n\nAug 26 15:05:10 edextest pqact[5811] NOTE: Filed in \"/awips2/data_store/grid/HRRR/HRRR_CONUS_2p5km_201608262000_F006_MXUPHL01-21387192.grib2\": 406227 20160826210510.477 NGRID 21387192 YZCG86 KWBY 262000 !grib2/ncep/HRRR/#255/201608262000F006/MXUPHL01/5000-2000 m HGHT\nAug 26 15:05:11 edextest edexBridge[5812] NOTE: Sent 2 messages (0 at the end of the queue, 2 normally).\nAug 26 15:05:11 edextest pqact[5811] NOTE: Filed in \"/awips2/data_store/grid/HRRR/HRRR_CONUS_2p5km_201608262000_F006_CICEP-21387200.grib2\": 369464 20160826210511.484 NGRID 21387200 YMCG98 KWBY 262000 !grib2/ncep/HRRR/#255/201608262000F006/CICEP/0 - NONE\nAug 26 15:05:12 edextest edexBridge[5812] NOTE: Sent 9 messages (0 at the end of the queue, 9 normally).\nAug 26 15:05:12 edextest pqact[5811] NOTE: Filed in \"/awips2/data_store/grid/HRRR/HRRR_CONUS_2p5km_201608262000_F006_LTNG-21387205.grib2\": 482800 20160826210512.254 NGRID 21387205 YZCG98 KWBY 262000 !grib2/ncep/HRRR/#255/201608262000F006/LTNG/0 - EATM\nAug 26 15:05:13 edextest edexBridge[5812] NOTE: Sent 1 messages (0 at the end of the queue, 1 normally).",
"title": "LDM Feeds"
},
{
"location": "/edex/ldm/#default-ldm-feeds-for-edex",
"text": "from /awips2/ldm/etc/ldmd.conf REQUEST NEXRAD3 \"./p(DHR|DPR|DSP|DTA|DAA|DVL|EET|HHC|N0Q|N0S|N0U|OHA|NVW|NTV|NST).\" idd.unidata.ucar.edu\nREQUEST FNEXRAD|IDS|DDPLUS|UNIWISC \".*\" idd.unidata.ucar.edu\nREQUEST NGRID \".*\" idd.unidata.ucar.edu\nREQUEST NOTHER \"^TIP... KNES.*\" idd.unidata.ucar.edu\nREQUEST HDS|NIMAGE \".*\" idd.unidata.ucar.edu\n\nREQUEST CONDUIT \"nam\" idd.unidata.ucar.edu\nREQUEST CONDUIT \"rap\" idd.unidata.ucar.edu\nREQUEST CONDUIT \"pgrb2\" idd.unidata.ucar.edu\nREQUEST CONDUIT \"nwstg\" idd.unidata.ucar.edu Remember than LDM commands such as these require TAB SEPARATION between items.",
"title": "Default LDM Feeds for EDEX"
},
{
"location": "/edex/ldm/#optional-ldm-feeds",
"text": "FNMOC and CMC models REQUEST FNMOC \".*\" idd.unidata.ucar.edu\nREQUEST CMC \".*\" idd.unidata.ucar.edu Lightning (restricted to educational use with rebroadcasting restricted) REQUEST LIGHTNING \".*\" striker2.atmos.albany.edu\nREQUEST LIGHTNING \".*\" idd.unidata.ucar.edu FSL/GSD Experimental HRRR (Sub-hourly) REQUEST FSL2 \"^GRIB2.FSL.HRRR\" hrrr.unidata.ucar.edu",
"title": "Optional LDM Feeds"
},
{
"location": "/edex/ldm/#restart-the-ldm",
"text": "sudo service edex_ldm restart\n\nldmadmin restart",
"title": "Restart the LDM"
},
{
"location": "/edex/ldm/#monitor-incoming-data-feeds",
"text": "To watch incoming data in real-time: notifyme -vl - To watch for a specific product and feed and time (360 sec = 6 min): notifyme -vl - -h localhost -f NEXRAD3 -p DHR -o 360 To watch the same on a remote queue: notifyme -vl - -h idd.unidata.ucar.edu -f NEXRAD3 -p DHR -o 360",
"title": "Monitor Incoming Data Feeds"
},
{
"location": "/edex/ldm/#ldm-logging",
"text": "edex log ldm\n\n[edex] EDEX Log Viewer\n\n :: Viewing /awips2/ldm/logs/ldmd.log. Press CTRL+C to exit\n\nAug 26 15:05:10 edextest pqact[5811] NOTE: Filed in \"/awips2/data_store/grid/HRRR/HRRR_CONUS_2p5km_201608262000_F006_MXUPHL01-21387192.grib2\": 406227 20160826210510.477 NGRID 21387192 YZCG86 KWBY 262000 !grib2/ncep/HRRR/#255/201608262000F006/MXUPHL01/5000-2000 m HGHT\nAug 26 15:05:11 edextest edexBridge[5812] NOTE: Sent 2 messages (0 at the end of the queue, 2 normally).\nAug 26 15:05:11 edextest pqact[5811] NOTE: Filed in \"/awips2/data_store/grid/HRRR/HRRR_CONUS_2p5km_201608262000_F006_CICEP-21387200.grib2\": 369464 20160826210511.484 NGRID 21387200 YMCG98 KWBY 262000 !grib2/ncep/HRRR/#255/201608262000F006/CICEP/0 - NONE\nAug 26 15:05:12 edextest edexBridge[5812] NOTE: Sent 9 messages (0 at the end of the queue, 9 normally).\nAug 26 15:05:12 edextest pqact[5811] NOTE: Filed in \"/awips2/data_store/grid/HRRR/HRRR_CONUS_2p5km_201608262000_F006_LTNG-21387205.grib2\": 482800 20160826210512.254 NGRID 21387205 YZCG98 KWBY 262000 !grib2/ncep/HRRR/#255/201608262000F006/LTNG/0 - EATM\nAug 26 15:05:13 edextest edexBridge[5812] NOTE: Sent 1 messages (0 at the end of the queue, 1 normally).",
"title": "LDM Logging"
},
{
"location": "/edex/data-distribution-files/",
"text": "EDEX alerts the appropriate decoding plug-ins of new data by use of XML files that describe data based on regular expressions. If the WMO header, or file name, matches a regular expression listed in a distribution XML, then EDEX will put a message into the QPID queue for the decoder which indicates that a piece of data is available. If a piece of data does not match any distribution XML, EDEX will:\n\n\n\n\n\n\nCreate an entry in \n/awips2/edex/logs/edex-ingest-unrecognized-files-yyyymmdd.log\n\n\n\n\n\n\nSkip processing of the unrecognized file.\n\n\n\n\n\n\nDistribution filters are stored in the \nedex_static\n branch of the Localization Store, and a list of available files can be found in the base-level directory. \n\n\nFor each plug-in, the distribution file is named \n<data-type>.xml\n; for example, the distribution file for satellite data is \nsatellite.xml\n. The distribution files follow the AWIPS base/site localization pattern: \n\n\n[root@edex]# cd /awips2/edex/data/utility/edex_static/base/distribution\n[root@edex distribution]# ls\nacars.xml ffg.xml poessounding.xml\nairep.xml goessounding.xml profiler.xml\nairmet.xml grib.xml q2.xml\natcf.xml hpe.xml radar.xml\naww.xml idft.xml recco.xml\n...\n\n\n\n\n\n\n\nbase files are located in \n/awips2/edex/data/utility/edex_static/base/distribution \n\n\n\n\n\n\nsite override distribution files are located in \n/awips2/edex/data/utility/edex_static/site/XXX/distribution\n, where \nXXX\n is the site identifier.\n\n\n\n\n\n\nNote that site-level files override the base files; as a result, local modifications to distribution files must be made as follows:\n\n\n\n\n\n\nThe base distribution file must be copied from \n/awips2/edex/data/utility/edex_static/base/distribution\n to \n/awips2/edex/data/utility/edex_static/site/XXX/distribution\n\n\n\n\n\n\nThe local modification must be made to the file in \n/awips2/edex/data/utility/edex_static/site/XXX/distribution\n\n\n\n\n\n\nThe basic structure of the distribution file is:\n\n\n<requestPatterns xmlns:ns2=\"group\">\n <regex>pattern</regex>\n <regex>pattern</regex>\n</requestPatterns>\n\n\n\nIn each \n \ntag, \npattern\n is replaced with a regular expression that will match either the filename or the WMO header of the raw data. Only data that matches a pattern in the distribution file will be processed.\n\n\nThe contents of the base version of the radar distribution file:\n\n\n[root@edex]# cd /awips2/edex/data/utility/edex_static/base/distribution/\n[root@edex]# tail -4 radar.xml\n\n<requestPatterns xmlns:ns2=\"group\">\n <regex>^SDUS[234578]. .*</regex>\n <regex>^Level3.*</regex>\n</requestPatterns>\n\n\n\nLooking at the base radar.xml distribution file in the previous example, there are two regular expressions. The first regular expression matches the standard WMO ID of radar products. Via the edexBridge the LDM will place a message in the external.dropbox QPID queue, indicating a radar product has arrived. EDEX will then take the message containing the radar WMO ID and compare it against the regular expressions in radar.xml. If a match is found, EDEX places a message in the QPID queue Ingest.radar. The radar decoder will then consume the message and process the radar data accordingly. \n\n\nAdding a REGEX to the Satellite Data Distribution File\n\uf0c1\n\n\nAs a quick example, suppose we have a local data source for satellite imagery that does not have a WMO header; also suppose that the data source writes to files whose names start with \nLOCAL.sat\n.\n\n\nTo add this locally produced satellite data file to the EDEX distribution; perform the following steps.\n\n\n\n\n\n\nCopy the base version of \nsatellite.gini.xml\n from the base distribution directory \n/awips2/edex/data/utility/edex_static/base/distribution\n into the site distribution directory \n/awips2/edex/data/utility/edex_static/site/XXX/distribution\n\n\n\n\n\n\nEdit the site version of \nsatellite.xml\n, adding a new \n<regex></regex>\n tag immediately below the existing regular expression (\n<regex></regex>\n) tag. The contents of the tag will be \nLOCAL.sat\n. The final result will be:\n\n\n<requestPatterns xmlns:ns2=\"group\">\n <regex>TI[CGT]... ....</regex>\n <regex>.*NEXRCOMP.*</regex>\n <regex>^LOCAL.sat.*</regex>\n</requestPatterns>\n\n\n\n\n\n\n\nSave the file and exit the editor. EDEX will automatically pick up the new distribution pattern.\n\n\n\n\n\n\nRaw files are written to \n/data_store\n, and a message is sent via QPID to the EDEX distribution service from the LDM. When a regular expression match is found in a data distribution file, the raw data file is placed in a queue for the matching plugin to decode and process. The distribution files are used to match file headers as well as filenames, which is how files dropped into EDEX's manual endpoint (\n/awips2/data_store/ingest\n) are processed.\n\n\nEditing an EDEX Data Distribution File\n\uf0c1\n\n\nBecause these files are in the \nedex_static/\n directory, they have to be manually edited using a text editor. You should not edit the base files; rather, you should copy the base version to your site and then edit the site version. The regular expressions in the distribution files need to correspond with the regular expressions in the LDM \npqact.conf\n \nfile.\n\n\nIf patterns exist in \npqact.conf\n but are not in the distribution files, then raw data files will be written to \n/data_store\n but will not be ingested and processed by EDEX. Entries for these non-ingested files would be written to the unrecognized files log in \n/awips/edex/logs\n.\n\n\nExamples\n\uf0c1\n\n\nSurface Obs\n\uf0c1\n\n\n/awips2/edex/data/utility/edex_static/base/distribution/obs.xml\n Processes any file header that starts with \nSA\n or \nSP\n, which should match any WMO header that contains METAR data (e.g.\nSAUS\n, \nSPUS\n, \nSACN\n, \nSAMX\n).\n\n\n<requestPatterns xmlns:ns2=\"group\">\n <regex>^S[AP].*</regex>\n</requestPatterns>\n\n\n\nText Data\n\uf0c1\n\n\n/awips2/edex/data/utility/edex_static/base/distribution/text.xml\n Processes lots of WM patterns. The second pattern ^S[A-CEG-Z].* matches any header that starts with \nS\n except for \nSD\nor \nSF\n, so it also matches the \nSA\n and \nSP\n files that the \nobs.xml\n plugin matches. This means that METARs are processed by both plugins simultaneously.\n\n\n<requestPatterns>\n <regex>^[ACFNRUW][A-Z].*</regex>\n <regex>^S[ACEG-Z].*</regex>\n <regex>^T[BCX].*</regex>\n <regex>^SF[A-OQ-TVZ].*</regex>\n <regex>^SDUS1.*</regex>\n <regex>^SDUS4[1-6].*</regex>\n <regex>^SDUS9[^7].*</regex>\n <regex>^SFU[^S].*</regex>\n <regex>^SFUS4[^1].*</regex> \n <regex>^SFP[^A].*</regex>\n <regex>^SFPA[^4].*</regex> \n <regex>^SFPA4[^1].*</regex>\n <regex>^BMBB91.*</regex> \n <regex>^N.*</regex>\n <regex>^F[EHIJKLMQVWX].*</regex> \n</requestPatterns>\n\n\n\nGrib Data\n\uf0c1\n\n\n/awips2/edex/data/utility/edex_static/base/distribution/grib.xml\n The grib/grid decoder distribution file matches all numerical grids distributed over the IDD NGRID feed by matching WMO header, and from CONDUIT by matching the \n.grib\n file extension.\n\n\n<requestPatterns>\n <!-- Super Set of all possible WMO grib patterns -->\n <regex>^[EHLMOYZ][A-Z]{3}\\d{2}</regex>\n <!-- This to match Unidata CONDUIT products w/o standard headers -->\n <regex>.*grib.*</regex>\n <regex>^US058.*</regex>\n <regex>^CMC_reg.*</regex>\n</requestPatterns>\n\n\n\nImportant notes about regular expressions:\n\n\n\n\n\n\nAny time a new entry is placed in the \npqact.conf\n file on LDM, a corresponding entry needs to be added to the appropriate Data Distribution file in the data distribution directory, or the data file will be logged to \nedex-ingest-unrecognized-files-YYYYMMDD.log\n\n\n\n\n\n\nAny time an entry is removed from the \npqact.conf\n file, the corresponding entry should be removed from the appropriate Data Distribution file in the data distribution directory.",
"title": "Data Distribution Files"
},
{
"location": "/edex/data-distribution-files/#adding-a-regex-to-the-satellite-data-distribution-file",
"text": "As a quick example, suppose we have a local data source for satellite imagery that does not have a WMO header; also suppose that the data source writes to files whose names start with LOCAL.sat . To add this locally produced satellite data file to the EDEX distribution; perform the following steps. Copy the base version of satellite.gini.xml from the base distribution directory /awips2/edex/data/utility/edex_static/base/distribution into the site distribution directory /awips2/edex/data/utility/edex_static/site/XXX/distribution Edit the site version of satellite.xml , adding a new <regex></regex> tag immediately below the existing regular expression ( <regex></regex> ) tag. The contents of the tag will be LOCAL.sat . The final result will be: <requestPatterns xmlns:ns2=\"group\">\n <regex>TI[CGT]... ....</regex>\n <regex>.*NEXRCOMP.*</regex>\n <regex>^LOCAL.sat.*</regex>\n</requestPatterns> Save the file and exit the editor. EDEX will automatically pick up the new distribution pattern. Raw files are written to /data_store , and a message is sent via QPID to the EDEX distribution service from the LDM. When a regular expression match is found in a data distribution file, the raw data file is placed in a queue for the matching plugin to decode and process. The distribution files are used to match file headers as well as filenames, which is how files dropped into EDEX's manual endpoint ( /awips2/data_store/ingest ) are processed.",
"title": "Adding a REGEX to the Satellite Data Distribution File"
},
{
"location": "/edex/data-distribution-files/#editing-an-edex-data-distribution-file",
"text": "Because these files are in the edex_static/ directory, they have to be manually edited using a text editor. You should not edit the base files; rather, you should copy the base version to your site and then edit the site version. The regular expressions in the distribution files need to correspond with the regular expressions in the LDM pqact.conf file. If patterns exist in pqact.conf but are not in the distribution files, then raw data files will be written to /data_store but will not be ingested and processed by EDEX. Entries for these non-ingested files would be written to the unrecognized files log in /awips/edex/logs .",
"title": "Editing an EDEX Data Distribution File"
},
{
"location": "/edex/data-distribution-files/#examples",
"text": "",
"title": "Examples"
},
{
"location": "/edex/data-distribution-files/#surface-obs",
"text": "/awips2/edex/data/utility/edex_static/base/distribution/obs.xml Processes any file header that starts with SA or SP , which should match any WMO header that contains METAR data (e.g. SAUS , SPUS , SACN , SAMX ). <requestPatterns xmlns:ns2=\"group\">\n <regex>^S[AP].*</regex>\n</requestPatterns>",
"title": "Surface Obs"
},
{
"location": "/edex/data-distribution-files/#text-data",
"text": "/awips2/edex/data/utility/edex_static/base/distribution/text.xml Processes lots of WM patterns. The second pattern ^S[A-CEG-Z].* matches any header that starts with S except for SD or SF , so it also matches the SA and SP files that the obs.xml plugin matches. This means that METARs are processed by both plugins simultaneously. <requestPatterns>\n <regex>^[ACFNRUW][A-Z].*</regex>\n <regex>^S[ACEG-Z].*</regex>\n <regex>^T[BCX].*</regex>\n <regex>^SF[A-OQ-TVZ].*</regex>\n <regex>^SDUS1.*</regex>\n <regex>^SDUS4[1-6].*</regex>\n <regex>^SDUS9[^7].*</regex>\n <regex>^SFU[^S].*</regex>\n <regex>^SFUS4[^1].*</regex> \n <regex>^SFP[^A].*</regex>\n <regex>^SFPA[^4].*</regex> \n <regex>^SFPA4[^1].*</regex>\n <regex>^BMBB91.*</regex> \n <regex>^N.*</regex>\n <regex>^F[EHIJKLMQVWX].*</regex> \n</requestPatterns>",
"title": "Text Data"
},
{
"location": "/edex/data-distribution-files/#grib-data",
"text": "/awips2/edex/data/utility/edex_static/base/distribution/grib.xml The grib/grid decoder distribution file matches all numerical grids distributed over the IDD NGRID feed by matching WMO header, and from CONDUIT by matching the .grib file extension. <requestPatterns>\n <!-- Super Set of all possible WMO grib patterns -->\n <regex>^[EHLMOYZ][A-Z]{3}\\d{2}</regex>\n <!-- This to match Unidata CONDUIT products w/o standard headers -->\n <regex>.*grib.*</regex>\n <regex>^US058.*</regex>\n <regex>^CMC_reg.*</regex>\n</requestPatterns> Important notes about regular expressions: Any time a new entry is placed in the pqact.conf file on LDM, a corresponding entry needs to be added to the appropriate Data Distribution file in the data distribution directory, or the data file will be logged to edex-ingest-unrecognized-files-YYYYMMDD.log Any time an entry is removed from the pqact.conf file, the corresponding entry should be removed from the appropriate Data Distribution file in the data distribution directory.",
"title": "Grib Data"
},
{
"location": "/edex/new-grid/",
"text": "Unrecognized grids can be decoded by EDEX simply by dropping \n*.grib\n or \n*.grib2\n files into \n/awips2/data_store/ingest/\n\n\nTo add support for a new grid, two edits must be made:\n\n\n\n\nGeospatial projection\n must be defined in a \ngrid navigation file\n\n\nGrid name\n, \ncenter\n, \nsubcenter\n, and \nprocess ID\n must be defined in a \nmodel definition file\n.\n\n\n\n\nIngest an Unsupported Grid\n\uf0c1\n\n\n\n\n\n\nDownload an example grib1 file and rename to a \n*.grib\n extension, then copy to the manual ingest point \n/awips2/data_store/ingest/\n \n\n\nwget https://www.unidata.ucar.edu/staff/mjames/14102318_nmm_d01.GrbF00600 -O wrf.grib\n\ncp wrf.grib /awips2/data_store/ingest/\n\n\n\nRemember that the data distribution file (\n/awips2/edex/data/utility/edex_static/base/distribution/grib.xml\n) will match filename which have the \n*.grib\n extension.\n\n\n\n\n\n\nConfirm that the grib file decodes in the grib log file:\n\n\nedex log grib\n\nINFO [Ingest.GribDecode] /awips2/data_store/ingest/grib/20141026/14/wrf.grib processed in: 0.1200 (sec) Latency: 21.8080 (sec)\nINFO [Ingest.GribDecode] /awips2/data_store/ingest/grib/20141026/14/wrf.grib processed in: 0.1180 (sec) Latency: 21.8140 (sec)\nINFO [Ingest.GribDecode] /awips2/data_store/ingest/grib/20141026/14/wrf.grib processed in: 0.4230 (sec) Latency: 21.8360 (sec)\nINFO [Ingest.GribDecode] /awips2/data_store/ingest/grib/20141026/14/wrf.grib processed in: 0.2240 (sec) Latency: 21.9140 (sec)\n\n...\n\n\n\n\n\n\n\nCheck that the hdf5 data directory exists for our unnamed grid\n\n\nls -latr /awips2/edex/data/hdf5/grid/GribModel:7:0:89\n\n\n\nThough the grib file has been decoded, it has been given a generic name with its center, subcenter, and process IDs (7, 0, 89, respectively). \n\n\n\n\n\n\nDetermine Grid Projection\n\uf0c1\n\n\nWhen the grid was ingested a record was added to the \ngrid_coverage\n table with its navigation information:\n\n\npsql metadata\n\nmetadata=# select nx,ny,dx,dy,majoraxis,minoraxis,la1,lo1,lov,latin1,latin2 from gridcoverage where id=(select distinct(location_id) from grid_info where datasetid='GribModel:7:0:89');\n nx | ny | dx | dy | majoraxis | minoraxis | la1 | lo1 | lov | latin1 | latin2 \n-----+-----+------------------+------------------+-----------+-----------+------------------+-------------------+-------------------+------------------+------------------\n 201 | 155 | 4.29699993133545 | 4.29699993133545 | 6378160 | 6356775 | 42.2830009460449 | -72.3610000610352 | -67.0770034790039 | 45.3680000305176 | 45.3680000305176\n(1 row)\n\n\n\nCompare with the projection info returned by wgrib on the original file:\n\n\nwgrib -V wrf.grib\n\nrec 799:27785754:date 2014102318 ALBDO kpds5=84 kpds6=1 kpds7=0 levels=(0,0) grid=255 sfc 6hr fcst: bitmap: 736 undef\n ALBDO=Albedo [%]\n timerange 0 P1 6 P2 0 TimeU 1 nx 201 ny 155 GDS grid 3 num_in_ave 0 missing 0\n center 7 subcenter 0 process 89 Table 2 scan: WE:SN winds(grid) \n Lambert Conf: Lat1 42.283000 Lon1 -72.361000 Lov -67.077000\n Latin1 45.368000 Latin2 45.368000 LatSP 0.000000 LonSP 0.000000\n North Pole (201 x 155) Dx 4.297000 Dy 4.297000 scan 64 mode 8\n min/max data 5 21.9 num bits 8 BDS_Ref 50 DecScale 1 BinScale 0\n\n\n\nNotice that our grib1 file is a \nLambert Conformal\n projection. We will need these values for the next step. Note that \nthere is a tolerance of +/- 0.1 degrees\n to keep in mind when defining your coverage area.\n\n\nCreate Grid Projection File\n\uf0c1\n\n\nGrid projection files are stored in \n/awips2/edex/data/utility/edex_static/base/grib/grids/\n and there are four grid coverage types available:\n\n\n\n\n\n\nlambertConformalGridCoverage\n example\n\n\n<lambertConformalGridCoverage>\n <name>305</name>\n <description>Regional - CONUS (Lambert Conformal)</description>\n <la1>16.322</la1>\n <lo1>-125.955</lo1>\n <firstGridPointCorner>LowerLeft</firstGridPointCorner>\n <nx>151</nx>\n <ny>113</ny>\n <dx>40.63525</dx>\n <dy>40.63525</dy>\n <spacingUnit>km</spacingUnit>\n <minorAxis>6356775.0</minorAxis>\n <majorAxis>6378160.0</majorAxis>\n <lov>-95.0</lov>\n <latin1>25.0</latin1>\n <latin2>25.0</latin2>\n</lambertConformalGridCoverage>\n\n\n\n\n\n\n\npolarStereoGridCoverage\n example\n\n\n<polarStereoGridCoverage>\n <name>405</name>\n <description>Sea Ice south 690X710 13km grid</description>\n <la1>-36.866</la1>\n <lo1>139.806</lo1>\n <firstGridPointCorner>LowerLeft</firstGridPointCorner>\n <nx>690</nx>\n <ny>710</ny>\n <dx>12.7</dx>\n <dy>12.7</dy>\n <spacingUnit>km</spacingUnit>\n <minorAxis>6371229.0</minorAxis>\n <majorAxis>6371229.0</majorAxis>\n <lov>100.0</lov>\n</polarStereoGridCoverage>\n\n\n\n\n\n\n\nlatLonGridCoverage\n example\n\n\n<latLonGridCoverage>\n <name>864162002</name>\n <description>UKMet HiRes combined - Southern Hemisphere\n Longitude range 71.25E - 70.416E </description>\n <la1>-89.721</la1>\n <lo1>71.25</lo1>\n <firstGridPointCorner>LowerLeft</firstGridPointCorner>\n <nx>864</nx>\n <ny>162</ny>\n <dx>0.833</dx>\n <dy>0.556</dy>\n <spacingUnit>degree</spacingUnit>\n <la2>-0.278</la2>\n <lo2>70.416</lo2>\n</latLonGridCoverage>\n\n\n\n\n\n\n\nmercatorGridCoverage\n example\n\n\n<mercatorGridCoverage>\n <name>NBM_PR</name>\n <description> National Blend Grid over Puerto Rico - (1.25 km)</description>\n <la1>16.9775</la1>\n <lo1>-68.0278</lo1>\n <firstGridPointCorner>LowerLeft</firstGridPointCorner>\n <nx>339</nx>\n <ny>225</ny>\n <dx>1.25</dx>\n <dy>1.25</dy>\n <la2>19.3750032477232</la2>\n <lo2>-63.984399999999994</lo2>\n <latin>20</latin>\n <spacingUnit>km</spacingUnit>\n <minorAxis>6371200</minorAxis>\n <majorAxis>6371200</majorAxis>\n</mercatorGridCoverage>\n\n\n\n\n\n\n\nCopy an existing file file with the same grid projection type (in this case \nlambertConformalGridCoverage\n) to a new file \nwrf.xml\n\n\ncd /awips2/edex/data/utility/edex_static/base/grib/grids/\ncp RUCIcing.xml wrf.xml\n\n\n\nAnd edit the new \nwrf.xml\n to define the projection values (example provided):\n\n\nvi wrf.xml\n\n<lambertConformalGridCoverage>\n <name>201155</name>\n <description>Regional - CONUS (Lambert Conformal)</description>\n <la1>42.2830009460449</la1>\n <lo1>-72.3610000610352</lo1>\n <firstGridPointCorner>LowerLeft</firstGridPointCorner>\n <nx>201</nx>\n <ny>155</ny>\n <dx>4.29699993133545</dx>\n <dy>4.29699993133545</dy>\n <spacingUnit>km</spacingUnit>\n <minorAxis>6356775.0</minorAxis>\n <majorAxis>6378160.0</majorAxis>\n <lov>-67.0770034790039</lov>\n <latin1>45.3680000305176</latin1>\n <latin2>45.3680000305176</latin2>\n</lambertConformalGridCoverage>\n\n\n\n\n\nNotice \n<name>201155</name>\n defined from the number of grid points (201 x 155). This value will be matched against an entry in our models file (below) to set the name of the model (e.g. WRF).\n\n\n\n\nCreate Model Definition\n\uf0c1\n\n\nModel definition XML files are found in \n/awips2/edex/data/utility/edex_static/base/grid/models/\n. Since our grib1 file has a center ID of 7 (NCEP) we will edit the \ngribModels_NCEP-7.xml\n file.\n\n\ncd /awips2/edex/data/utility/edex_static/base/grib/models/\n\nvi gribModels_NCEP-7.xml\n\n\n\nin \n<gribModelSet>\n add an entry\n\n\n <model>\n <name>WRF</name>\n <center>7</center>\n <subcenter>0</subcenter>\n <grid>201155</grid>\n <process>\n <id>89</id>\n </process>\n </model>\n\n\n\nsave the file and restart EDEX for the changes to take effect.\n\n\nsudo service edex_camel restart\n\n\n\nNow copy the \nwrf.grib\n file \nagain\n to \n/awips2/data_store/ingest/\n. If everything is correct we will not see any persistence errors since the grid is now named \nWRF\n and not \nGribModel:7:0:89\n.\n\n\ncp wrd.grib /awips2/data_store/ingest/\n\nedex log grib\n\n\n\nAfter you have confirmed that the grid was ingested with the given name, you can \nedit the D2D product menus to display the new grid\n.\n\n\nTroubleshooting Grib Ingest\n\uf0c1\n\n\nIf you ingest a piece of data and the parameter appears as unknown in the metadata database, ensure that the correct parameter tables are in place for the center/subcenter.\n\n\nMake sure the latitude and longitude entries in your coverage specification file match those of your ingested raw grib file. There is a tolerance of +/- 0.1 degree to keep in mind when defining your coverage area.\n\n\nIf some of the information is unknown, using a grib utility application such as \nwgrib\n and \nwgrib2\n (not delivered) can be useful in determining the information that must be added to correctly process a new grib file.",
"title": "Ingest a New Grid"
},
{
"location": "/edex/new-grid/#ingest-an-unsupported-grid",
"text": "Download an example grib1 file and rename to a *.grib extension, then copy to the manual ingest point /awips2/data_store/ingest/ wget https://www.unidata.ucar.edu/staff/mjames/14102318_nmm_d01.GrbF00600 -O wrf.grib\n\ncp wrf.grib /awips2/data_store/ingest/ Remember that the data distribution file ( /awips2/edex/data/utility/edex_static/base/distribution/grib.xml ) will match filename which have the *.grib extension. Confirm that the grib file decodes in the grib log file: edex log grib\n\nINFO [Ingest.GribDecode] /awips2/data_store/ingest/grib/20141026/14/wrf.grib processed in: 0.1200 (sec) Latency: 21.8080 (sec)\nINFO [Ingest.GribDecode] /awips2/data_store/ingest/grib/20141026/14/wrf.grib processed in: 0.1180 (sec) Latency: 21.8140 (sec)\nINFO [Ingest.GribDecode] /awips2/data_store/ingest/grib/20141026/14/wrf.grib processed in: 0.4230 (sec) Latency: 21.8360 (sec)\nINFO [Ingest.GribDecode] /awips2/data_store/ingest/grib/20141026/14/wrf.grib processed in: 0.2240 (sec) Latency: 21.9140 (sec)\n\n... Check that the hdf5 data directory exists for our unnamed grid ls -latr /awips2/edex/data/hdf5/grid/GribModel:7:0:89 Though the grib file has been decoded, it has been given a generic name with its center, subcenter, and process IDs (7, 0, 89, respectively).",
"title": "Ingest an Unsupported Grid"
},
{
"location": "/edex/new-grid/#determine-grid-projection",
"text": "When the grid was ingested a record was added to the grid_coverage table with its navigation information: psql metadata\n\nmetadata=# select nx,ny,dx,dy,majoraxis,minoraxis,la1,lo1,lov,latin1,latin2 from gridcoverage where id=(select distinct(location_id) from grid_info where datasetid='GribModel:7:0:89');\n nx | ny | dx | dy | majoraxis | minoraxis | la1 | lo1 | lov | latin1 | latin2 \n-----+-----+------------------+------------------+-----------+-----------+------------------+-------------------+-------------------+------------------+------------------\n 201 | 155 | 4.29699993133545 | 4.29699993133545 | 6378160 | 6356775 | 42.2830009460449 | -72.3610000610352 | -67.0770034790039 | 45.3680000305176 | 45.3680000305176\n(1 row) Compare with the projection info returned by wgrib on the original file: wgrib -V wrf.grib\n\nrec 799:27785754:date 2014102318 ALBDO kpds5=84 kpds6=1 kpds7=0 levels=(0,0) grid=255 sfc 6hr fcst: bitmap: 736 undef\n ALBDO=Albedo [%]\n timerange 0 P1 6 P2 0 TimeU 1 nx 201 ny 155 GDS grid 3 num_in_ave 0 missing 0\n center 7 subcenter 0 process 89 Table 2 scan: WE:SN winds(grid) \n Lambert Conf: Lat1 42.283000 Lon1 -72.361000 Lov -67.077000\n Latin1 45.368000 Latin2 45.368000 LatSP 0.000000 LonSP 0.000000\n North Pole (201 x 155) Dx 4.297000 Dy 4.297000 scan 64 mode 8\n min/max data 5 21.9 num bits 8 BDS_Ref 50 DecScale 1 BinScale 0 Notice that our grib1 file is a Lambert Conformal projection. We will need these values for the next step. Note that there is a tolerance of +/- 0.1 degrees to keep in mind when defining your coverage area.",
"title": "Determine Grid Projection"
},
{
"location": "/edex/new-grid/#create-grid-projection-file",
"text": "Grid projection files are stored in /awips2/edex/data/utility/edex_static/base/grib/grids/ and there are four grid coverage types available: lambertConformalGridCoverage example <lambertConformalGridCoverage>\n <name>305</name>\n <description>Regional - CONUS (Lambert Conformal)</description>\n <la1>16.322</la1>\n <lo1>-125.955</lo1>\n <firstGridPointCorner>LowerLeft</firstGridPointCorner>\n <nx>151</nx>\n <ny>113</ny>\n <dx>40.63525</dx>\n <dy>40.63525</dy>\n <spacingUnit>km</spacingUnit>\n <minorAxis>6356775.0</minorAxis>\n <majorAxis>6378160.0</majorAxis>\n <lov>-95.0</lov>\n <latin1>25.0</latin1>\n <latin2>25.0</latin2>\n</lambertConformalGridCoverage> polarStereoGridCoverage example <polarStereoGridCoverage>\n <name>405</name>\n <description>Sea Ice south 690X710 13km grid</description>\n <la1>-36.866</la1>\n <lo1>139.806</lo1>\n <firstGridPointCorner>LowerLeft</firstGridPointCorner>\n <nx>690</nx>\n <ny>710</ny>\n <dx>12.7</dx>\n <dy>12.7</dy>\n <spacingUnit>km</spacingUnit>\n <minorAxis>6371229.0</minorAxis>\n <majorAxis>6371229.0</majorAxis>\n <lov>100.0</lov>\n</polarStereoGridCoverage> latLonGridCoverage example <latLonGridCoverage>\n <name>864162002</name>\n <description>UKMet HiRes combined - Southern Hemisphere\n Longitude range 71.25E - 70.416E </description>\n <la1>-89.721</la1>\n <lo1>71.25</lo1>\n <firstGridPointCorner>LowerLeft</firstGridPointCorner>\n <nx>864</nx>\n <ny>162</ny>\n <dx>0.833</dx>\n <dy>0.556</dy>\n <spacingUnit>degree</spacingUnit>\n <la2>-0.278</la2>\n <lo2>70.416</lo2>\n</latLonGridCoverage> mercatorGridCoverage example <mercatorGridCoverage>\n <name>NBM_PR</name>\n <description> National Blend Grid over Puerto Rico - (1.25 km)</description>\n <la1>16.9775</la1>\n <lo1>-68.0278</lo1>\n <firstGridPointCorner>LowerLeft</firstGridPointCorner>\n <nx>339</nx>\n <ny>225</ny>\n <dx>1.25</dx>\n <dy>1.25</dy>\n <la2>19.3750032477232</la2>\n <lo2>-63.984399999999994</lo2>\n <latin>20</latin>\n <spacingUnit>km</spacingUnit>\n <minorAxis>6371200</minorAxis>\n <majorAxis>6371200</majorAxis>\n</mercatorGridCoverage> Copy an existing file file with the same grid projection type (in this case lambertConformalGridCoverage ) to a new file wrf.xml cd /awips2/edex/data/utility/edex_static/base/grib/grids/\ncp RUCIcing.xml wrf.xml And edit the new wrf.xml to define the projection values (example provided): vi wrf.xml\n\n<lambertConformalGridCoverage>\n <name>201155</name>\n <description>Regional - CONUS (Lambert Conformal)</description>\n <la1>42.2830009460449</la1>\n <lo1>-72.3610000610352</lo1>\n <firstGridPointCorner>LowerLeft</firstGridPointCorner>\n <nx>201</nx>\n <ny>155</ny>\n <dx>4.29699993133545</dx>\n <dy>4.29699993133545</dy>\n <spacingUnit>km</spacingUnit>\n <minorAxis>6356775.0</minorAxis>\n <majorAxis>6378160.0</majorAxis>\n <lov>-67.0770034790039</lov>\n <latin1>45.3680000305176</latin1>\n <latin2>45.3680000305176</latin2>\n</lambertConformalGridCoverage> Notice <name>201155</name> defined from the number of grid points (201 x 155). This value will be matched against an entry in our models file (below) to set the name of the model (e.g. WRF).",
"title": "Create Grid Projection File"
},
{
"location": "/edex/new-grid/#create-model-definition",
"text": "Model definition XML files are found in /awips2/edex/data/utility/edex_static/base/grid/models/ . Since our grib1 file has a center ID of 7 (NCEP) we will edit the gribModels_NCEP-7.xml file. cd /awips2/edex/data/utility/edex_static/base/grib/models/\n\nvi gribModels_NCEP-7.xml in <gribModelSet> add an entry <model>\n <name>WRF</name>\n <center>7</center>\n <subcenter>0</subcenter>\n <grid>201155</grid>\n <process>\n <id>89</id>\n </process>\n </model> save the file and restart EDEX for the changes to take effect. sudo service edex_camel restart Now copy the wrf.grib file again to /awips2/data_store/ingest/ . If everything is correct we will not see any persistence errors since the grid is now named WRF and not GribModel:7:0:89 . cp wrd.grib /awips2/data_store/ingest/\n\nedex log grib After you have confirmed that the grid was ingested with the given name, you can edit the D2D product menus to display the new grid .",
"title": "Create Model Definition"
},
{
"location": "/edex/new-grid/#troubleshooting-grib-ingest",
"text": "If you ingest a piece of data and the parameter appears as unknown in the metadata database, ensure that the correct parameter tables are in place for the center/subcenter. Make sure the latitude and longitude entries in your coverage specification file match those of your ingested raw grib file. There is a tolerance of +/- 0.1 degree to keep in mind when defining your coverage area. If some of the information is unknown, using a grib utility application such as wgrib and wgrib2 (not delivered) can be useful in determining the information that must be added to correctly process a new grib file.",
"title": "Troubleshooting Grib Ingest"
},
{
"location": "/edex/data-purge/",
"text": "AWIPS uses a plugin-based purge strategy for HDF5 data, allowing the user to change the purge frequency for each plugin individually, and specific products for a particular plugin.\n\n\n\n\nPurge is triggered by a quartz timer event that fires at 30 minutes after each hour. \n\n\n\n\nPurging rules are defined in XML files in the Localization Store, accessible from the CAVE localization perspective. On EDEX, most are located in \n/awips2/edex/data/utility/common_static/base/purge\n, and follow the \nbase/site\n localization pattern (e.g. site purge files are in \nsite/XXX/purge\n rather than \nbase/purge\n, where XXX is the site identifier.\n\n\nTime-base purge\n\uf0c1\n\n\nIf a plugin has no XML file, the default rule of 1 day (24 hours) is used, from \n/awips2/edex/data/utility/common_static/base/purge/defaultPurgeRules.xml\n \n\n\n<purgeRuleSet>\n <defaultRule>\n <period>01-00:00:00</period>\n </defaultRule>\n</purgeRuleSet>\n\n\n\nTime-based purging uses the \nreference time\n of the data, and dtermination of the reference time is decoder based. \n\n\n30-day NEXRAD3 Example\n\uf0c1\n\n\nModify \n/awips2/edex/data/utility/common_static/base/purge/radarPurgeRules.xml\n to increase the data retention period from 7 to 31 days:\n\n\n<purgeRuleSet>\n <defaultRule>\n <period>31-00:00:00</period>\n </defaultRule>\n</purgeRuleSet>\n\n\n\nNote\n: you do NOT have to restart EDEX when you change a purge rule!\n\n\nFrame-based purge\n\uf0c1\n\n\nSome plugins use frame-base purging, retaining and certain number of prpduct \"versions\". \n\n\n/awips2/edex/data/utility/common_static/base/purge/satellitePurgeRules.xml\n\n\n<purgeRuleSet>\n <key>sectorID</key>\n <key>physicalElement</key>\n <defaultRule>\n <versionsToKeep>196</versionsToKeep>\n </defaultRule>\n <rule>\n <keyValue>NEXRCOMP</keyValue>\n <versionsToKeep>288</versionsToKeep>\n </rule>\n <rule>\n <keyValue>Alaska National</keyValue>\n <versionsToKeep>48</versionsToKeep>\n </rule>\n\n\n\n\n\nIn the above example, notice a \ndefault rule\n (196) as well as specific sectors with their own rules. \n\n\n\n\nPurge Logs\n\uf0c1\n\n\nData purge events are logged to the file \nedex-ingest-purge-<yyyymmdd>.log\n, where \n<yyyymmdd>\n is the date stamp. \n\n\ntail -f edex-ingest-purge-20120327.log\n\n--------START LOG PURGE---------\nINFO 2012-03-27 00:30:00,027 [DefaultQuartzScheduler_Worker-3] PurgeLogger: EDEX - PURGE LOGS::Skipped file with invalid fileName: afos-trigger.log\nINFO 2012-03-27 00:30:00,193 [DefaultQuartzScheduler_Worker-3] PurgeLogger: EDEX - PURGE LOGS::Removed 1 old files\nINFO 2012-03-27 00:31:23,155 [DefaultQuartzScheduler_Worker-3] PurgeLogger: EDEX - PURGE LOGS::Archived 14 files\nINFO 2012-03-27 00:31:23,155 [DefaultQuartzScheduler_Worker-3] PurgeLogger: EDEX - PURGE LOGS::Skipped processing 1 files\nINFO 2012-03-27 00:31:23,155 [DefaultQuartzScheduler_Worker-3] PurgeLogger: EDEX - PURGE LOGS::---------END LOG PURGE-----------\n\n\n\nAll Purge Rules\n\uf0c1\n\n\nTo see all purge rule directories (base, site, region, configured):\n\n\nfind /awips2/edex/data/utility -name purge\n\n/awips2/edex/data/utility/edex_static/region/CR/purge\n/awips2/edex/data/utility/edex_static/base/purge\n/awips2/edex/data/utility/edex_static/configured/OAX/purge\n/awips2/edex/data/utility/edex_static/site/OAX/purge\n/awips2/edex/data/utility/common_static/region/CR/purge\n/awips2/edex/data/utility/common_static/base/purge\n/awips2/edex/data/utility/common_static/configured/OAX/purge\n/awips2/edex/data/utility/common_static/site/AFC/purge\n/awips2/edex/data/utility/common_static/site/OAX/purge\n\n\n\nTo see a list of the data plug-ins that have purge rules:\n\n\nfind /awips2/edex/data/utility -name \"*PurgeRules.xml\"\n\n/awips2/edex/data/utility/edex_static/base/purge/airmetPurgeRules.xml\n/awips2/edex/data/utility/edex_static/base/purge/convsigmetPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufruaPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/obsPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/nctextPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ncscatPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/vaaPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrmosHPCPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrhdwPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/cwaPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/airmetPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ffmpPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/lsrPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/profilerPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/poessoundingPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/gpdPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/mcidasPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/acarssoundingPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ffgPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/sgwhvPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/intlsigmetPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/aggregatePurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/radarPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/idftPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/wcpPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/warningPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/satellitePurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/sshaPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ccfpPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/atcfPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrssmiPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/sgwhPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/geomagPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/modelsoundingPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrmosAVNPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ncuairPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/acarsPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/airepPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrquikscatPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/cwatPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/nonconvsigmetPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/pirepPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/statsPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrmthdwPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrascatPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/gridPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrmosGFSPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ncpafmPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrsigwxPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/pgenPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/dmwPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrmosMRFPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrmosETAPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/sfcobsPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/modisPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/awwPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/defaultPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/convsigmetPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/redbookPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrncwfPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/tcmPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrmosLAMPPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/goessoundingPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/binlightningPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/stormTrackPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ghcdPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ntransPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/regionalsatPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/solarimagePurgeRules.xml\n/awips2/edex/data/utility/common_static/site/AFC/purge/regionalsatPurgeRules.xml",
"title": "Purging and Retention"
},
{
"location": "/edex/data-purge/#time-base-purge",
"text": "If a plugin has no XML file, the default rule of 1 day (24 hours) is used, from /awips2/edex/data/utility/common_static/base/purge/defaultPurgeRules.xml <purgeRuleSet>\n <defaultRule>\n <period>01-00:00:00</period>\n </defaultRule>\n</purgeRuleSet> Time-based purging uses the reference time of the data, and dtermination of the reference time is decoder based.",
"title": "Time-base purge"
},
{
"location": "/edex/data-purge/#30-day-nexrad3-example",
"text": "Modify /awips2/edex/data/utility/common_static/base/purge/radarPurgeRules.xml to increase the data retention period from 7 to 31 days: <purgeRuleSet>\n <defaultRule>\n <period>31-00:00:00</period>\n </defaultRule>\n</purgeRuleSet> Note : you do NOT have to restart EDEX when you change a purge rule!",
"title": "30-day NEXRAD3 Example"
},
{
"location": "/edex/data-purge/#frame-based-purge",
"text": "Some plugins use frame-base purging, retaining and certain number of prpduct \"versions\". /awips2/edex/data/utility/common_static/base/purge/satellitePurgeRules.xml <purgeRuleSet>\n <key>sectorID</key>\n <key>physicalElement</key>\n <defaultRule>\n <versionsToKeep>196</versionsToKeep>\n </defaultRule>\n <rule>\n <keyValue>NEXRCOMP</keyValue>\n <versionsToKeep>288</versionsToKeep>\n </rule>\n <rule>\n <keyValue>Alaska National</keyValue>\n <versionsToKeep>48</versionsToKeep>\n </rule> In the above example, notice a default rule (196) as well as specific sectors with their own rules.",
"title": "Frame-based purge"
},
{
"location": "/edex/data-purge/#purge-logs",
"text": "Data purge events are logged to the file edex-ingest-purge-<yyyymmdd>.log , where <yyyymmdd> is the date stamp. tail -f edex-ingest-purge-20120327.log\n\n--------START LOG PURGE---------\nINFO 2012-03-27 00:30:00,027 [DefaultQuartzScheduler_Worker-3] PurgeLogger: EDEX - PURGE LOGS::Skipped file with invalid fileName: afos-trigger.log\nINFO 2012-03-27 00:30:00,193 [DefaultQuartzScheduler_Worker-3] PurgeLogger: EDEX - PURGE LOGS::Removed 1 old files\nINFO 2012-03-27 00:31:23,155 [DefaultQuartzScheduler_Worker-3] PurgeLogger: EDEX - PURGE LOGS::Archived 14 files\nINFO 2012-03-27 00:31:23,155 [DefaultQuartzScheduler_Worker-3] PurgeLogger: EDEX - PURGE LOGS::Skipped processing 1 files\nINFO 2012-03-27 00:31:23,155 [DefaultQuartzScheduler_Worker-3] PurgeLogger: EDEX - PURGE LOGS::---------END LOG PURGE-----------",
"title": "Purge Logs"
},
{
"location": "/edex/data-purge/#all-purge-rules",
"text": "To see all purge rule directories (base, site, region, configured): find /awips2/edex/data/utility -name purge\n\n/awips2/edex/data/utility/edex_static/region/CR/purge\n/awips2/edex/data/utility/edex_static/base/purge\n/awips2/edex/data/utility/edex_static/configured/OAX/purge\n/awips2/edex/data/utility/edex_static/site/OAX/purge\n/awips2/edex/data/utility/common_static/region/CR/purge\n/awips2/edex/data/utility/common_static/base/purge\n/awips2/edex/data/utility/common_static/configured/OAX/purge\n/awips2/edex/data/utility/common_static/site/AFC/purge\n/awips2/edex/data/utility/common_static/site/OAX/purge To see a list of the data plug-ins that have purge rules: find /awips2/edex/data/utility -name \"*PurgeRules.xml\"\n\n/awips2/edex/data/utility/edex_static/base/purge/airmetPurgeRules.xml\n/awips2/edex/data/utility/edex_static/base/purge/convsigmetPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufruaPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/obsPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/nctextPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ncscatPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/vaaPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrmosHPCPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrhdwPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/cwaPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/airmetPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ffmpPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/lsrPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/profilerPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/poessoundingPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/gpdPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/mcidasPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/acarssoundingPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ffgPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/sgwhvPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/intlsigmetPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/aggregatePurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/radarPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/idftPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/wcpPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/warningPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/satellitePurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/sshaPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ccfpPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/atcfPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrssmiPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/sgwhPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/geomagPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/modelsoundingPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrmosAVNPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ncuairPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/acarsPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/airepPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrquikscatPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/cwatPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/nonconvsigmetPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/pirepPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/statsPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrmthdwPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrascatPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/gridPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrmosGFSPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ncpafmPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrsigwxPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/pgenPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/dmwPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrmosMRFPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrmosETAPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/sfcobsPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/modisPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/awwPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/defaultPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/convsigmetPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/redbookPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrncwfPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/tcmPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/bufrmosLAMPPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/goessoundingPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/binlightningPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/stormTrackPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ghcdPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/ntransPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/regionalsatPurgeRules.xml\n/awips2/edex/data/utility/common_static/base/purge/solarimagePurgeRules.xml\n/awips2/edex/data/utility/common_static/site/AFC/purge/regionalsatPurgeRules.xml",
"title": "All Purge Rules"
},
{
"location": "/edex/edex-users/",
"text": "To see a list of clients connecting to your EDEX server, use the \nedex users [YYYYMMDD]\n command, where \nYYYYMMDD\n is the optional date string.\n\n\nedex users\n\n -- EDEX Users 20160826 --\nuser@101.253.20.225\nuser@192.168.1.67\nawips@0.0.0.0\nawips@sdsmt.edu\n...\n\n\n\nLogging Daily EDEX Users\n\uf0c1\n\n\nCreate a short script to run once daily at 20 minutes after 00 UTC, appending each day's \nedex users\n list to a logfile \n/home/awips/edex-users.log\n.\n\n\n\n\n\n\nvi ~/edexUsers.sh\n\n\n#!/bin/bash\n/awips2/edex/bin/edex users >> /home/awips/edex-users.log\n\n\n\n\n\n\n\ncrontab -e\n\n\n0 20 * * * /home/awips/edexUsers.sh 1>> /dev/null 2>&1",
"title": "Monitor Users"
},
{
"location": "/edex/edex-users/#logging-daily-edex-users",
"text": "Create a short script to run once daily at 20 minutes after 00 UTC, appending each day's edex users list to a logfile /home/awips/edex-users.log . vi ~/edexUsers.sh #!/bin/bash\n/awips2/edex/bin/edex users >> /home/awips/edex-users.log crontab -e 0 20 * * * /home/awips/edexUsers.sh 1>> /dev/null 2>&1",
"title": "Logging Daily EDEX Users"
},
{
"location": "/edex/data-plugins/",
"text": "td:first-child { font-weight: bold }\n\n\n\n\nAWIPS Plugins and Supported Data Types\n\uf0c1\n\n\n\n\n\n\n\n\nNAME\n\n\nDESCRIPTION\n\n\n\n\n\n\n\n\n\n\naqi\n\n\nAir Quality Index\n data\n\n\n\n\n\n\nbufrmos\n\n\nModel Output Statistics\n\n\n\n\n\n\nbufrua\n\n\nUpper air radiosonde data\n\n\n\n\n\n\nclimate-hmdb\n\n\nClimate text products\n\n\n\n\n\n\ngeodata\n\n\nNetCDF \nJTS Geometry\n records\n\n\n\n\n\n\ngeomag\n\n\nSWPC Geomagnetic Forecast\n (RTKP)\n\n\n\n\n\n\ngfe\n\n\nGraphical Forecast Editor\n grids\n\n\n\n\n\n\nghcd\n\n\nSWPC Generic High Cadence Data\n\n\n\n\n\n\ngpd\n\n\nNCEP Generic Point Data\n\n\n\n\n\n\ngrid\n\n\nBinary gridded data \ngrib1/grib2\n\n\n\n\n\n\nidft\n\n\nIce Drift Forecasts\n\n\n\n\n\n\nmadis\n\n\nNCEP Meteorological Assimilation Data Ingest System (\nMADIS\n)\n\n\n\n\n\n\nmanualIngest\n\n\nManual data ingest plugin\n\n\n\n\n\n\nmetartohmdb\n\n\nAdds metar records to the \nVerification and Climate database\n\n\n\n\n\n\nmodelsounding\n\n\nIndividual grid point soundings from the GFS and NAM models\n\n\n\n\n\n\nmping\n\n\nMeteorological Phenomena Identification Near the Ground (\nmPING\n)\n\n\n\n\n\n\nncpafm\n\n\nPoint/Area Forecast Matrices\n data\n\n\n\n\n\n\nnctext\n\n\nNCEP Text decoders\n\n\n\n\n\n\nncuair\n\n\nNCEP Upper Air decoder\n\n\n\n\n\n\nndm\n\n\nNational Dataset Maintenance ingester\n\n\n\n\n\n\nntrans\n\n\nNCCEP Ntrans Metafiles\n\n\n\n\n\n\nobs\n\n\nSurface observations from METARs\n\n\n\n\n\n\npgen\n\n\nNCEP NAWIPS PGEN decoder\n\n\n\n\n\n\nredbook\n\n\nRedbook graphics\n\n\n\n\n\n\nsfcobs\n\n\nSurface observations other than METAR format including buoys\n\n\n\n\n\n\nsolarimage\n\n\nSWPC Solar imagery\n\n\n\n\n\n\nssha\n\n\nNCEP Sea Surface Height Anomaly BUFR data\n\n\n\n\n\n\ntext\n\n\nVarious Text Products\n\n\n\n\n\n\nvaa\n\n\nVolcanic ash advisories\n\n\n\n\n\n\n\n\nAWIPS Plugins for Remote Sensing/Lightning\n\uf0c1\n\n\n\n\n\n\n\n\nNAME\n\n\nDESCRIPTION\n\n\n\n\n\n\n\n\n\n\nbinlightning\n\n\nLightning data from the National Lightning Detection Network\n\n\n\n\n\n\nbufrascat\n\n\nAdvanced Scatterometer wind data\n\n\n\n\n\n\nbufrhdw\n\n\nGOES High Density Winds\n\n\n\n\n\n\nbufrmthdw\n\n\nMTSAT (Japanese Multi-Functional Transport Satellite) High Density Winds\n\n\n\n\n\n\nbufrssmi\n\n\nSpecial Sensor Microwave/Imager data from DMSP (Defesne Meteorological Satellite Program) satellites\n\n\n\n\n\n\ncrimss\n\n\nNPP/NPOESS CrIMSS (Cross Track Infrared and Microwave Sounding Suite) soundings\n\n\n\n\n\n\ndmw\n\n\nGOES-R Derived Motion Winds\n\n\n\n\n\n\nglm\n\n\nGOES Geostationary Lightning Mapper\n\n\n\n\n\n\ngoesr\n\n\nPlugins to decode and display GOES-R products\n\n\n\n\n\n\ngoessounding\n\n\nGOES Satellite Soundings\n\n\n\n\n\n\nlma\n\n\nLightning Mapping Array\n\n\n\n\n\n\nmcidas\n\n\nNCEP decoder for McIDAS AREA files\n\n\n\n\n\n\nmodis\n\n\nNASA Moderate-resolution Imaging Spectroradiometer\n\n\n\n\n\n\nncscat\n\n\nNCEP ASCAT/Quikscat records\n\n\n\n\n\n\nnpp\n\n\nNational Polar-Orbiting Partnership Satellites Soundings\n\n\n\n\n\n\nnucaps\n\n\nSoundings from NOAA Unique CrIS/ATMS Processing System from NPP (National Polar-Orbiting Partnership) Satellites\n\n\n\n\n\n\npoessounding\n\n\nPolar Operational Environmental Satellite soundings\n\n\n\n\n\n\nradar\n\n\nWSR-88D and TDWR Level 3 data\n\n\n\n\n\n\nregionalsat\n\n\nDecoder implementation for netcdf3 files generated by the Alaska Region and GOES-R Proving Ground\n\n\n\n\n\n\nsatellite-gini\n\n\nGINI-formatted satellite imagery (GOES, POES, VIIRS, FNEXRAD)\n\n\n\n\n\n\nsatellite-mcidas\n\n\nMcIDAS area files (Raytheon/D2D-developed)\n\n\n\n\n\n\nviirs\n\n\nNPP Visible Infrared Imaging Radiometer Suite data\n\n\n\n\n\n\nsgwh\n\n\nNCEP BUFR Significant Wave Height data - SGWH (Jason-1), SGWHA (Altika), SGWHC (CryoSat), SGWHE (Envisat), SGWHG (GFO), SGWH2 (Jason-2), or Jason-3\n\n\n\n\n\n\ntextlightning\n\n\nText lightning data\n\n\n\n\n\n\n\n\nAWIPS Plugins for Decision Assistance (Watch/Warn/Hazards/Hydro)\n\uf0c1\n\n\n\n\n\n\n\n\nNAME\n\n\nDESCRIPTION\n\n\n\n\n\n\n\n\n\n\natcf\n\n\nAutomated Tropical Cyclone Forecast\n\n\n\n\n\n\nconvectprob\n\n\nNOAA/CIMSS Prob Severe Model\n\n\n\n\n\n\neditedregions\n\n\nHazard Services Edited Regions\n\n\n\n\n\n\neditedevents\n\n\nHazard Services Edited Events\n\n\n\n\n\n\ncwat\n\n\nCounty Warning Area Threat produced by SCAN (System for Convection Analysis and Nowcasting). CWAT was formerly called SCAN Convective Threat Index (SCTI).\n\n\n\n\n\n\nffg\n\n\nFlash flood guidance metadata (countybased ffg from RFCs)\n\n\n\n\n\n\nffmp\n\n\nFlash Flood Monitoring and Prediction data (raw data inputs: radar, gridded flash flood guidance from River Forecast Centers, highresolution precipitation estimates [HPE] and nowcasts [HPN], QPF from SCAN and gage data from the IHFS [Integrated Hydrologic Forecast System] database. Radar data [with WSR-88D product mnemonics and numbers] needed for FFMP are Digital Hybrid Reflectivity [DHR, 32] and Digital Precipitation Rate [DPR, 176]. The raw GRIB files containing RFC Flash Flood Guidance are identified in the tables in Part 2 of this document as NWS_151 or FFG-XXX, where XXX is an RFC identifier such as TUA, KRF, or ALR. The WMO header for the RFC FFG begins with \u201cZEGZ98\u201d. )\n\n\n\n\n\n\nfog\n\n\nFog Monitor\n. Raw data inputs: METAR, Mesonet, maritime, buoys, MAROBs, and satellite [visible, 3.9 \u00b5m, and 10.7 \u00b5m])\n\n\n\n\n\n\nfreezingLevel\n\n\nMPE Rapid Refresh Freezing Level scheduled process (MpeRUCFreezingLevel)\n\n\n\n\n\n\nfssobs\n\n\nObservations for the Fog monitor, SNOW, and SAFESEAS (raw data inputs: METAR, Mesonet, maritime, buoys, MAROBs).\n\n\n\n\n\n\nlsr\n\n\nLocal Storm Reports\n\n\n\n\n\n\nmpe\n\n\nMulti-sensor Precipitation Estimation\n\n\n\n\n\n\npreciprate\n\n\nPrecipitation Rate from SCAN. Raw data input: radar data [with WSR-88D product mnemonic and number] needed for preciprate are Digital Hybrid Reflectivity [DHR, 32].\n\n\n\n\n\n\nqpf\n\n\nQuantitative Precipitation Forecast from SCAN. (raw data inputs: radar and some RUC130 fields. Radar data [with WSR-88D product mnemonics and numbers] needed for SCAN\u2019s QPF are 0.5 degree Base Reflectivity [Z, 19], 4 km Vertically Integrated Liquid [VIL, 57], and Storm Track [STI, 58]. The RUC130 field needed is 700 mb Wind, as defined in the SCANRunSiteConfig.xml file.)\n\n\n\n\n\n\nsatpre\n\n\nSatellite-estimated Pecipiration (hydroApps)\n\n\n\n\n\n\nscan\n\n\nSCAN (System for Convection Analysis and Nowcasting). (Inputs for the SCAN Table include radar, cloud-to-ground lightning from the NLDN, fields from RAP13, and CWAT. Specific radar products [with WSR-88D product mnemonics and numbers] are: 1 km Composite Reflectivity [CZ, 37]; 0.5 degree Base Reflectivity [Z, 19]; 4 km Vertically Integrated Liquid [VIL, 57]; Storm Track [STI, 58]; Mesocyclone Detections [MD, 141]; and Tornadic Vortex Signature [TVS, 61].\n\n\n\n\n\n\nshef\n\n\nStandard Hydrometeorological Exchange Format data.\n\n\n\n\n\n\nwarning\n\n\nWatches, Warnings, and Advisories\n\n\n\n\n\n\nwcp\n\n\nSPC Convective Watches\n\n\n\n\n\n\nsvrwx\n\n\nSPC Local Storm Report Summaries\n\n\n\n\n\n\ntcg\n\n\nTropical Cyclone Guidance\n\n\n\n\n\n\ntcm\n\n\nTropical Cyclone Forecast/Advisory\n\n\n\n\n\n\ntcs\n\n\nTropical Cyclone Forecast/Advisory\n\n\n\n\n\n\nstormtrack\n\n\nNCEP StormTrack Plug-In (Automatic Tropical Cyclone Forecast & Ensemble cyclones)\n\n\n\n\n\n\nvil\n\n\nCell-based Vertically Integrated Liquid from SCAN (Input is radar)\n\n\n\n\n\n\nspc\n\n\nStorm Prediction Center Convective Outlook KML files\n\n\n\n\n\n\n\n\nAWIPS Plugins for Aviation\n\uf0c1\n\n\n\n\n\n\n\n\nNAME\n\n\nDESCRIPTION\n\n\n\n\n\n\n\n\n\n\nacars\n\n\nAircraft Communications Addressing and Reporting System (ACARS)\n observations\n\n\n\n\n\n\nacarssounding\n\n\nVertical profiles derived from ACARS data\n\n\n\n\n\n\nairep\n\n\nAutomated Aircraft Reports\n\n\n\n\n\n\nairmet\n\n\n\u201cAirmen\u2019s Meteorological Information\u201d: aviation weather advisories for potentially hazardous, but non-severe weather\n\n\n\n\n\n\nasdi\n\n\nFAA Aircraft Situation Data for Industry\n\n\n\n\n\n\naww\n\n\nAirport Weather Warning\n\n\n\n\n\n\nbufrncwf\n\n\nNational Convective Weather Forecast for Aviation\n\n\n\n\n\n\nbufrsigwx\n\n\nAviation Significant Weather\n\n\n\n\n\n\nccfp\n\n\nAviation Collaborative Convective Forecast Product\n\n\n\n\n\n\nconvsigmet\n\n\nAviation Significant Meteorological Information for convective weather\n\n\n\n\n\n\ncwa\n\n\nAviation Center Weather Advisory, issued by CWSUs (Center Weather Service Units)\n\n\n\n\n\n\nintlsigmet\n\n\nInternational Significant Meteorological Information for Aviation\n\n\n\n\n\n\nnctaf\n\n\nNCEP TAF decoders\n\n\n\n\n\n\nnonconvsigmet\n\n\nAviation Significant Meteorological Information for non-convective weather\n\n\n\n\n\n\npirep\n\n\nPilot Reports\n\n\n\n\n\n\ntaf\n\n\nTerminal Aerodrome Forecasts",
"title": "Data Plugins"
},
{
"location": "/edex/data-plugins/#awips-plugins-and-supported-data-types",
"text": "NAME DESCRIPTION aqi Air Quality Index data bufrmos Model Output Statistics bufrua Upper air radiosonde data climate-hmdb Climate text products geodata NetCDF JTS Geometry records geomag SWPC Geomagnetic Forecast (RTKP) gfe Graphical Forecast Editor grids ghcd SWPC Generic High Cadence Data gpd NCEP Generic Point Data grid Binary gridded data grib1/grib2 idft Ice Drift Forecasts madis NCEP Meteorological Assimilation Data Ingest System ( MADIS ) manualIngest Manual data ingest plugin metartohmdb Adds metar records to the Verification and Climate database modelsounding Individual grid point soundings from the GFS and NAM models mping Meteorological Phenomena Identification Near the Ground ( mPING ) ncpafm Point/Area Forecast Matrices data nctext NCEP Text decoders ncuair NCEP Upper Air decoder ndm National Dataset Maintenance ingester ntrans NCCEP Ntrans Metafiles obs Surface observations from METARs pgen NCEP NAWIPS PGEN decoder redbook Redbook graphics sfcobs Surface observations other than METAR format including buoys solarimage SWPC Solar imagery ssha NCEP Sea Surface Height Anomaly BUFR data text Various Text Products vaa Volcanic ash advisories",
"title": "AWIPS Plugins and Supported Data Types"
},
{
"location": "/edex/data-plugins/#awips-plugins-for-remote-sensinglightning",
"text": "NAME DESCRIPTION binlightning Lightning data from the National Lightning Detection Network bufrascat Advanced Scatterometer wind data bufrhdw GOES High Density Winds bufrmthdw MTSAT (Japanese Multi-Functional Transport Satellite) High Density Winds bufrssmi Special Sensor Microwave/Imager data from DMSP (Defesne Meteorological Satellite Program) satellites crimss NPP/NPOESS CrIMSS (Cross Track Infrared and Microwave Sounding Suite) soundings dmw GOES-R Derived Motion Winds glm GOES Geostationary Lightning Mapper goesr Plugins to decode and display GOES-R products goessounding GOES Satellite Soundings lma Lightning Mapping Array mcidas NCEP decoder for McIDAS AREA files modis NASA Moderate-resolution Imaging Spectroradiometer ncscat NCEP ASCAT/Quikscat records npp National Polar-Orbiting Partnership Satellites Soundings nucaps Soundings from NOAA Unique CrIS/ATMS Processing System from NPP (National Polar-Orbiting Partnership) Satellites poessounding Polar Operational Environmental Satellite soundings radar WSR-88D and TDWR Level 3 data regionalsat Decoder implementation for netcdf3 files generated by the Alaska Region and GOES-R Proving Ground satellite-gini GINI-formatted satellite imagery (GOES, POES, VIIRS, FNEXRAD) satellite-mcidas McIDAS area files (Raytheon/D2D-developed) viirs NPP Visible Infrared Imaging Radiometer Suite data sgwh NCEP BUFR Significant Wave Height data - SGWH (Jason-1), SGWHA (Altika), SGWHC (CryoSat), SGWHE (Envisat), SGWHG (GFO), SGWH2 (Jason-2), or Jason-3 textlightning Text lightning data",
"title": "AWIPS Plugins for Remote Sensing/Lightning"
},
{
"location": "/edex/data-plugins/#awips-plugins-for-decision-assistance-watchwarnhazardshydro",
"text": "NAME DESCRIPTION atcf Automated Tropical Cyclone Forecast convectprob NOAA/CIMSS Prob Severe Model editedregions Hazard Services Edited Regions editedevents Hazard Services Edited Events cwat County Warning Area Threat produced by SCAN (System for Convection Analysis and Nowcasting). CWAT was formerly called SCAN Convective Threat Index (SCTI). ffg Flash flood guidance metadata (countybased ffg from RFCs) ffmp Flash Flood Monitoring and Prediction data (raw data inputs: radar, gridded flash flood guidance from River Forecast Centers, highresolution precipitation estimates [HPE] and nowcasts [HPN], QPF from SCAN and gage data from the IHFS [Integrated Hydrologic Forecast System] database. Radar data [with WSR-88D product mnemonics and numbers] needed for FFMP are Digital Hybrid Reflectivity [DHR, 32] and Digital Precipitation Rate [DPR, 176]. The raw GRIB files containing RFC Flash Flood Guidance are identified in the tables in Part 2 of this document as NWS_151 or FFG-XXX, where XXX is an RFC identifier such as TUA, KRF, or ALR. The WMO header for the RFC FFG begins with \u201cZEGZ98\u201d. ) fog Fog Monitor . Raw data inputs: METAR, Mesonet, maritime, buoys, MAROBs, and satellite [visible, 3.9 \u00b5m, and 10.7 \u00b5m]) freezingLevel MPE Rapid Refresh Freezing Level scheduled process (MpeRUCFreezingLevel) fssobs Observations for the Fog monitor, SNOW, and SAFESEAS (raw data inputs: METAR, Mesonet, maritime, buoys, MAROBs). lsr Local Storm Reports mpe Multi-sensor Precipitation Estimation preciprate Precipitation Rate from SCAN. Raw data input: radar data [with WSR-88D product mnemonic and number] needed for preciprate are Digital Hybrid Reflectivity [DHR, 32]. qpf Quantitative Precipitation Forecast from SCAN. (raw data inputs: radar and some RUC130 fields. Radar data [with WSR-88D product mnemonics and numbers] needed for SCAN\u2019s QPF are 0.5 degree Base Reflectivity [Z, 19], 4 km Vertically Integrated Liquid [VIL, 57], and Storm Track [STI, 58]. The RUC130 field needed is 700 mb Wind, as defined in the SCANRunSiteConfig.xml file.) satpre Satellite-estimated Pecipiration (hydroApps) scan SCAN (System for Convection Analysis and Nowcasting). (Inputs for the SCAN Table include radar, cloud-to-ground lightning from the NLDN, fields from RAP13, and CWAT. Specific radar products [with WSR-88D product mnemonics and numbers] are: 1 km Composite Reflectivity [CZ, 37]; 0.5 degree Base Reflectivity [Z, 19]; 4 km Vertically Integrated Liquid [VIL, 57]; Storm Track [STI, 58]; Mesocyclone Detections [MD, 141]; and Tornadic Vortex Signature [TVS, 61]. shef Standard Hydrometeorological Exchange Format data. warning Watches, Warnings, and Advisories wcp SPC Convective Watches svrwx SPC Local Storm Report Summaries tcg Tropical Cyclone Guidance tcm Tropical Cyclone Forecast/Advisory tcs Tropical Cyclone Forecast/Advisory stormtrack NCEP StormTrack Plug-In (Automatic Tropical Cyclone Forecast & Ensemble cyclones) vil Cell-based Vertically Integrated Liquid from SCAN (Input is radar) spc Storm Prediction Center Convective Outlook KML files",
"title": "AWIPS Plugins for Decision Assistance (Watch/Warn/Hazards/Hydro)"
},
{
"location": "/edex/data-plugins/#awips-plugins-for-aviation",
"text": "NAME DESCRIPTION acars Aircraft Communications Addressing and Reporting System (ACARS) observations acarssounding Vertical profiles derived from ACARS data airep Automated Aircraft Reports airmet \u201cAirmen\u2019s Meteorological Information\u201d: aviation weather advisories for potentially hazardous, but non-severe weather asdi FAA Aircraft Situation Data for Industry aww Airport Weather Warning bufrncwf National Convective Weather Forecast for Aviation bufrsigwx Aviation Significant Weather ccfp Aviation Collaborative Convective Forecast Product convsigmet Aviation Significant Meteorological Information for convective weather cwa Aviation Center Weather Advisory, issued by CWSUs (Center Weather Service Units) intlsigmet International Significant Meteorological Information for Aviation nctaf NCEP TAF decoders nonconvsigmet Aviation Significant Meteorological Information for non-convective weather pirep Pilot Reports taf Terminal Aerodrome Forecasts",
"title": "AWIPS Plugins for Aviation"
},
{
"location": "/edex/case-studies/",
"text": "Case Study Server Configuration\n\uf0c1\n\n\nThis document covers what is necessary to install and run AWIPS EDEX as an archive and case study server (no purging of data).\n\n\nQuick Install\n\uf0c1\n\n\nFollow the \nEDEX Install Instructions\n including iptables config and an optional SSD mount (for large data volumes)\n\n\ngroupadd fxalpha && useradd -G fxalpha awips\nmkdir -p /awips2/data_store\nwget -O /etc/yum.repos.d/awips2.repo https://www.unidata.ucar.edu/software/awips2/doc/awips2.repo\nyum clean all\nyum groupinstall awips2-server -y\n\n\n\nDisable Data Purging\n\uf0c1\n\n\nThe easiest way to disable data purging is to add an \n<exclude>purge.*</exclude>\n entry in \n/awips2/edex/conf/modes/ingest-modes.xml\n so that the purge plugin is not loaded when the EDEX ingest JVM is started:\n\n\nvi /awips2/edex/conf/modes/ingest-modes.xml\n\n<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<edexModes>\n <mode name=\"ingest\">\n <exclude>.*request.*</exclude>\n <exclude>edex-security.xml</exclude>\n <exclude>(taf|shef).*</exclude>\n <exclude>purge.*</exclude>\n </mode>\n</edexModes>\n\n\n\nStart EDEX\n\uf0c1\n\n\nwithout the LDM\n\n\nedex start base\n\n\n\nmonitor services\n\n\nedex\n\n[edex status]\n postgres :: running :: pid 43644\n pypies :: running :: pid 3557\n qpid :: running :: pid 43742\n EDEXingest :: running :: pid 6564 44301 44597\n EDEXgrib :: running :: pid 6565 44302 44598\n EDEXrequest :: running :: pid 6566 44303 44599\n ldmadmin :: not running\n\n\n\nIngest Case Study Data\n\uf0c1\n\n\nRaw data files of any type can be copied or moved into \n/awips2/data_store/ingest/\n to be picked up and decoded by EDEX. Most data types are recognized by regular expression matching of the WMO Header or filename. \n\n\nIndividual files can be ingested on the command line with the regex header/pattern supplied as the last argument:\n\n\nqpidNotify.py /full/path/to/data.file <regex match>\n\n\n\nfor example\n\n\nqpidNotify.py /home/awips/uniwisc_U5_132GOES-15_IMG10.7um_4km_20171024_1830.area.png uniwisc\n\nqpidNotify.py /awips2/data_store/grid/NAM12/conduit/NAM_CONUS_12km_conduit_20171025_1200Z_F084_TMPK-7.000007.grib2 grib\n\nqpidNotify.py /awips2/data_store/radar/FTG_N0Q_20171015_1815 Level3\n\n\n\nViewing Archive Data in CAVE\n\uf0c1\n\n\nBecause we are installing and configuring a standalone EDEX archive server without real-time LDM data ingest (and with purge disabled), any case study data that is ingested will be the \"latest available\" to CAVE, and you will see CAVE product menu time fill in with the latest of all data ingested.\n\n\nHowever, to display specific time-based data (in case you ingest more than one case study), there are two options:\n\n\n1. Load Mode > Inventory\n\uf0c1\n\n\nIn the top-left toolbar change \nValid time seq\n to \nInventory\n.\n\n\n\n\nNow any data product selected from the menus or the Product Browser will prompt you to select the exact time.\n\n\n\n\n2. Set Data Display Time in CAVE\n\uf0c1\n\n\nAt the bottom of the CAVE application, double-click the \nTime:\n entry to bring up a dialog window where you can set CAVE to a previous time, and choose the option of freezing CAVE at that time or allowing CAVE to \"move forward in time\" from that position as if it were real-time.",
"title": "Archive Case Studies"
},
{
"location": "/edex/case-studies/#case-study-server-configuration",
"text": "This document covers what is necessary to install and run AWIPS EDEX as an archive and case study server (no purging of data).",
"title": "Case Study Server Configuration"
},
{
"location": "/edex/case-studies/#quick-install",
"text": "Follow the EDEX Install Instructions including iptables config and an optional SSD mount (for large data volumes) groupadd fxalpha && useradd -G fxalpha awips\nmkdir -p /awips2/data_store\nwget -O /etc/yum.repos.d/awips2.repo https://www.unidata.ucar.edu/software/awips2/doc/awips2.repo\nyum clean all\nyum groupinstall awips2-server -y",
"title": "Quick Install"
},
{
"location": "/edex/case-studies/#disable-data-purging",
"text": "The easiest way to disable data purging is to add an <exclude>purge.*</exclude> entry in /awips2/edex/conf/modes/ingest-modes.xml so that the purge plugin is not loaded when the EDEX ingest JVM is started: vi /awips2/edex/conf/modes/ingest-modes.xml\n\n<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<edexModes>\n <mode name=\"ingest\">\n <exclude>.*request.*</exclude>\n <exclude>edex-security.xml</exclude>\n <exclude>(taf|shef).*</exclude>\n <exclude>purge.*</exclude>\n </mode>\n</edexModes>",
"title": "Disable Data Purging"
},
{
"location": "/edex/case-studies/#start-edex",
"text": "without the LDM edex start base monitor services edex\n\n[edex status]\n postgres :: running :: pid 43644\n pypies :: running :: pid 3557\n qpid :: running :: pid 43742\n EDEXingest :: running :: pid 6564 44301 44597\n EDEXgrib :: running :: pid 6565 44302 44598\n EDEXrequest :: running :: pid 6566 44303 44599\n ldmadmin :: not running",
"title": "Start EDEX"
},
{
"location": "/edex/case-studies/#ingest-case-study-data",
"text": "Raw data files of any type can be copied or moved into /awips2/data_store/ingest/ to be picked up and decoded by EDEX. Most data types are recognized by regular expression matching of the WMO Header or filename. Individual files can be ingested on the command line with the regex header/pattern supplied as the last argument: qpidNotify.py /full/path/to/data.file <regex match> for example qpidNotify.py /home/awips/uniwisc_U5_132GOES-15_IMG10.7um_4km_20171024_1830.area.png uniwisc\n\nqpidNotify.py /awips2/data_store/grid/NAM12/conduit/NAM_CONUS_12km_conduit_20171025_1200Z_F084_TMPK-7.000007.grib2 grib\n\nqpidNotify.py /awips2/data_store/radar/FTG_N0Q_20171015_1815 Level3",
"title": "Ingest Case Study Data"
},
{
"location": "/edex/case-studies/#viewing-archive-data-in-cave",
"text": "Because we are installing and configuring a standalone EDEX archive server without real-time LDM data ingest (and with purge disabled), any case study data that is ingested will be the \"latest available\" to CAVE, and you will see CAVE product menu time fill in with the latest of all data ingested. However, to display specific time-based data (in case you ingest more than one case study), there are two options:",
"title": "Viewing Archive Data in CAVE"
},
{
"location": "/edex/case-studies/#1-load-mode-inventory",
"text": "In the top-left toolbar change Valid time seq to Inventory . Now any data product selected from the menus or the Product Browser will prompt you to select the exact time.",
"title": "1. Load Mode &gt; Inventory"
},
{
"location": "/edex/case-studies/#2-set-data-display-time-in-cave",
"text": "At the bottom of the CAVE application, double-click the Time: entry to bring up a dialog window where you can set CAVE to a previous time, and choose the option of freezing CAVE at that time or allowing CAVE to \"move forward in time\" from that position as if it were real-time.",
"title": "2. Set Data Display Time in CAVE"
},
{
"location": "/cave/d2d-grids/",
"text": "MSLP and Precipitation\n\uf0c1\n\n\n\n\nSfc Temperature and Wind\n\uf0c1\n\n\n\n\nSfc Dewpoint Temperature\n\uf0c1\n\n\n\n\nSfc Relative Humidity\n\uf0c1\n\n\n\n\n30mb Mean Dewpoint\n\uf0c1\n\n\n\n\nPrecipitable Water\n\uf0c1\n\n\n\n\nSimulated Reflectivity (REFC)\n\uf0c1\n\n\n\n\nLightning Threat\n\uf0c1\n\n\nPrecip Type / Moisture Transport\n\uf0c1\n\n\n\n\nVorticity (500mb)\n\uf0c1\n\n\n\n\nVertical Velocity (500mb, 700mb, 850mb)\n\uf0c1\n\n\n\n\nThickness / Vorticity Advection (Trenberth)\n\uf0c1\n\n\n\n\nWind / Height (850mb, 700mb, 500mb, 300mb, 250mb)\n\uf0c1\n\n\n\n\nPotential Vorticity (250mb)\n\uf0c1\n\n\nHelicity / Storm-Relative Flow\n\uf0c1\n\n\nHail Parameters\n\uf0c1\n\n\n\n\nMCS Parameters\n\uf0c1\n\n\n\n\nIsentopic Analysis (270K-320K)\n\uf0c1",
"title": "Gridded Model Display"
},
{
"location": "/cave/d2d-grids/#mslp-and-precipitation",
"text": "",
"title": "MSLP and Precipitation"
},
{
"location": "/cave/d2d-grids/#sfc-temperature-and-wind",
"text": "",
"title": "Sfc Temperature and Wind"
},
{
"location": "/cave/d2d-grids/#sfc-dewpoint-temperature",
"text": "",
"title": "Sfc Dewpoint Temperature"
},
{
"location": "/cave/d2d-grids/#sfc-relative-humidity",
"text": "",
"title": "Sfc Relative Humidity"
},
{
"location": "/cave/d2d-grids/#30mb-mean-dewpoint",
"text": "",
"title": "30mb Mean Dewpoint"
},
{
"location": "/cave/d2d-grids/#precipitable-water",
"text": "",
"title": "Precipitable Water"
},
{
"location": "/cave/d2d-grids/#simulated-reflectivity-refc",
"text": "",
"title": "Simulated Reflectivity (REFC)"
},
{
"location": "/cave/d2d-grids/#lightning-threat",
"text": "",
"title": "Lightning Threat"
},
{
"location": "/cave/d2d-grids/#precip-type-moisture-transport",
"text": "",
"title": "Precip Type / Moisture Transport"
},
{
"location": "/cave/d2d-grids/#vorticity-500mb",
"text": "",
"title": "Vorticity (500mb)"
},
{
"location": "/cave/d2d-grids/#vertical-velocity-500mb-700mb-850mb",
"text": "",
"title": "Vertical Velocity (500mb, 700mb, 850mb)"
},
{
"location": "/cave/d2d-grids/#thickness-vorticity-advection-trenberth",
"text": "",
"title": "Thickness / Vorticity Advection (Trenberth)"
},
{
"location": "/cave/d2d-grids/#wind-height-850mb-700mb-500mb-300mb-250mb",
"text": "",
"title": "Wind / Height (850mb, 700mb, 500mb, 300mb, 250mb)"
},
{
"location": "/cave/d2d-grids/#potential-vorticity-250mb",
"text": "",
"title": "Potential Vorticity (250mb)"
},
{
"location": "/cave/d2d-grids/#helicity-storm-relative-flow",
"text": "",
"title": "Helicity / Storm-Relative Flow"
},
{
"location": "/cave/d2d-grids/#hail-parameters",
"text": "",
"title": "Hail Parameters"
},
{
"location": "/cave/d2d-grids/#mcs-parameters",
"text": "",
"title": "MCS Parameters"
},
{
"location": "/cave/d2d-grids/#isentopic-analysis-270k-320k",
"text": "",
"title": "Isentopic Analysis (270K-320K)"
},
{
"location": "/cave/d2d-pointdata-surface-obs/",
"text": "Several of the data sets in the Obs menu can be interrogated (sampled) for more detailed information by clicking mouse Button 1 (B1) over a site. These data sets include METAR, Maritime, and Local. The Obs menu is subdivided into sections that contain related products. These sections are described below.\n\n\nMETAR\n\uf0c1\n\n\nThis section contains automatically updating METAR observations, ceiling and visibility plots, wind chill and heat indices, precipitation plots at various time intervals, and quality-checked MSAS observations. The 24hr Chg METAR plot provides the difference between the observed temperature, dewpoint, pressure, and wind from those observed 24 hours earlier. The calculation of the wind difference involves vector subtraction of the \"u\" and \"v\" components.\n\n\nSynoptic\n\uf0c1\n\n\nThis section contains automatically updating Synoptic observations, and 6 hour and 24 hour precip plots. Note that this section of the menu is not present at most sites.\n\n\nMaritime\n\uf0c1\n\n\nThis section contains buoy and ship report plots, plus SAFESEAS for the Marine WFOs.\n\n\n\n\nMAROB\n displays include Station Plots\n\n\nThe \nOther Maritime Plots\n cascading menu contains options to display the Fixed and Moving Sea State plots, MAROB Sea State and Cloud/Vis plots, Maritime Clouds/Visibility plots, as well as the Scatterometer Winds.\n\n\nSea State\n plots provide information on the wave period and height and swell period and height. The wave type, whether a standard wave or a wind wave, is denoted at the origin of the plot by a \"+\" or a \"w\", respectively. An \"x\" at the plot origin signifies that no wave type was reported. If reported, the directions of the primary and secondary swells are denoted with arrows labeled \"1\" and \"2\", respectively. The arrows point in the direction the swell is moving.\n\n\nMaritime Clouds/Visibility\n plots contain a station circle denoting sky coverage and the visibility along with standard symbols for obstructions to visibility.\n\n\nScatterometer Winds\n are obtained from the ASCAT instrument on EUMETSAT's MetOp-A polar orbiting satellite. This instrument sends pulses of radiation to the ocean surface and measures the amount of energy, called backscatter, it receives back. When you sample these observations, the time, satellite ID, wind direction, and wind speed are provided. With the polar orbiting scanning, a given region will generally be sampled about every 12 hours. ASCAT Winds (25 km retrieval resolution but interpolated and displayed at 12.5 km resolution) can be launched from either the CAVE Obs menu or from the Satellite menu You can access the Scatterometer Winds menu options by selecting \nSurface\n > \nOther Maritime Plots\n > \nScatterometer Winds\n. The ASCAT Scatterometer Ocean Winds product is displayable on CAVE at all scales: N. Hemisphere, North America, CONUS, Regional, State(s), and WFO.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nLocal Storm Reports\n: Local Storm Report (LSR) plots are generated from spotter reports\nthat were entered into the LSR text database and decoded into the correct point data format. The LSR graphical user interface (GUI) is a stand-alone AWIPS application designed to provide forecasters with an easy and quick way to create, manage, and send the LSR public text product. This text product contains noteworthy weather events for which the forecaster has either received or sought out real-time observations.\n\n\n\n\nNational Convective Weather Forecast (AWC)\n\uf0c1\n\n\nThe \nNational Convective Weather Forecast\n (NCWF) is an automatically generated depiction of current convection and extrapolated significant current convection. It is a supplement to, but does not substitute for, the report and forecast information contained in \nConvective SIGMETs\n. The NCWF contains both GRIB and BUFR output. The GRIB output delineates the current convection. The BUFR output includes hazardous convection area polygons, movement arrows, and storm top and speed text information.\n\n\nThe NCWF display bunlde renders \nstorm tops and movement\n, \nprevious performance polygons\n, \n1-hour extrapolation polygons\n, and \ncurrent convective interest grid\n (colorbar).\n\n\n\n\nCenter Weather Advisories (CWA)\n\uf0c1\n\n\nThe \nCWA\n is an aviation weather warning for conditions meeting or approaching national in-flight advisory (AIRMET, SIGMET or SIGMET for convection) criteria. The CWA is primarily used by air crews to anticipate and avoid adverse weather conditions in the en route and terminal environments. It is not a flight planning product because of its short lead time and duration.\n\n\nShown with NEXRAD DHR composite:\n\n\n\n\nMOS Products\n\uf0c1\n\n\nThese plots are derived from the MOS BUFR Bulletins. The previous MOS plots were derived from the MOS Text Bulletins. The plots display forecast data for GFS MOS, GFS-Extended MOS, and NGM MOS. Submenus under each model reveal the element choices. These displays include:\n\n\n\n\nStation Model Plots (Wind, T, Td, Sky Cover, Wx)\n\n\nMaxT/MinT (\u00b0F)\n\n\nCeiling (agl) / Visibility (ft \u00d7 100) (Categorical)\n\n\nProbabilities Submenu (6h/12h PoP, 6h/12h Tstorm, 6h/12h Svr-Tstorm, Conditional precipitation types; %)\n\n\nQPF 12h (Categorical mid-points; inches)\n\n\nQPF 6h (Categorical mid-points; inches)\n\n\nSnowfall (6h/12h/24h, Categorical; inches)\n\n\n\n\n\n\nLightning\n\uf0c1\n\n\nThis menu item provides three options for displaying lightning flash plots over specified 1 minute, 5 minute, 15 minute and 1 hour intervals.\n\n\n\n\nUSPLN (United States Precision Lightning Network)\n: WSI Corporation USPLN lightning data has been made available exclusively to universities for education and research use. Unidata serves USPLN lightning stroke data from the \nLIGHTNING\n LDM data feed. Registration is required to request this data, and the free feed is available on an annually renewed basis. USPLN data is not available to the public.\n\n\nNLDN (National Lightning Detection Network)\n: The NLDN option plots cloud-to-ground (CG) lightning flashes for specified time intervals across the continental United States. NLDN lightning data can be displayed as a grid image displaying the cloud-to-ground density values for a selected resolution (1km, 3km, 5km, 8km, 20km, and 40km).\n\n\nGLD (Global Lightning Dataset)\n: The GLD option plots cloud-to-ground (CG) lightning flashes for specified time intervals on a global-scale. GLD lightning data can also be displayed as a grid image displaying the cloud-to-ground density values for a selected resolution (1km, 3km, 5km, 8km, 20km, and 40km).\n\n\nENI Total Lightning\n: In addition to displaying CG lightning flashes, the Total Lightning option also displays Cloud Flash (CF) lightning and Pulses. CF lightning are lightning flashes which do not strike the ground such as in-cloud, cloud-to-cloud, and cloud-to-air lightning. Lightning pulses are electromagnetic pulses that radiate outward from the lightning channel. ENI total lightning data can be displayed as a grid image displaying the cloud-to-ground, cloud flash, and lightning pulse density values for a selected resolution (1km, 3km, 5km, 8km, 20km, and 40km).",
"title": "Surface Obs"
},
{
"location": "/cave/d2d-pointdata-surface-obs/#metar",
"text": "This section contains automatically updating METAR observations, ceiling and visibility plots, wind chill and heat indices, precipitation plots at various time intervals, and quality-checked MSAS observations. The 24hr Chg METAR plot provides the difference between the observed temperature, dewpoint, pressure, and wind from those observed 24 hours earlier. The calculation of the wind difference involves vector subtraction of the \"u\" and \"v\" components.",
"title": "METAR"
},
{
"location": "/cave/d2d-pointdata-surface-obs/#synoptic",
"text": "This section contains automatically updating Synoptic observations, and 6 hour and 24 hour precip plots. Note that this section of the menu is not present at most sites.",
"title": "Synoptic"
},
{
"location": "/cave/d2d-pointdata-surface-obs/#maritime",
"text": "This section contains buoy and ship report plots, plus SAFESEAS for the Marine WFOs. MAROB displays include Station Plots The Other Maritime Plots cascading menu contains options to display the Fixed and Moving Sea State plots, MAROB Sea State and Cloud/Vis plots, Maritime Clouds/Visibility plots, as well as the Scatterometer Winds. Sea State plots provide information on the wave period and height and swell period and height. The wave type, whether a standard wave or a wind wave, is denoted at the origin of the plot by a \"+\" or a \"w\", respectively. An \"x\" at the plot origin signifies that no wave type was reported. If reported, the directions of the primary and secondary swells are denoted with arrows labeled \"1\" and \"2\", respectively. The arrows point in the direction the swell is moving. Maritime Clouds/Visibility plots contain a station circle denoting sky coverage and the visibility along with standard symbols for obstructions to visibility. Scatterometer Winds are obtained from the ASCAT instrument on EUMETSAT's MetOp-A polar orbiting satellite. This instrument sends pulses of radiation to the ocean surface and measures the amount of energy, called backscatter, it receives back. When you sample these observations, the time, satellite ID, wind direction, and wind speed are provided. With the polar orbiting scanning, a given region will generally be sampled about every 12 hours. ASCAT Winds (25 km retrieval resolution but interpolated and displayed at 12.5 km resolution) can be launched from either the CAVE Obs menu or from the Satellite menu You can access the Scatterometer Winds menu options by selecting Surface > Other Maritime Plots > Scatterometer Winds . The ASCAT Scatterometer Ocean Winds product is displayable on CAVE at all scales: N. Hemisphere, North America, CONUS, Regional, State(s), and WFO. Local Storm Reports : Local Storm Report (LSR) plots are generated from spotter reports\nthat were entered into the LSR text database and decoded into the correct point data format. The LSR graphical user interface (GUI) is a stand-alone AWIPS application designed to provide forecasters with an easy and quick way to create, manage, and send the LSR public text product. This text product contains noteworthy weather events for which the forecaster has either received or sought out real-time observations.",
"title": "Maritime"
},
{
"location": "/cave/d2d-pointdata-surface-obs/#national-convective-weather-forecast-awc",
"text": "The National Convective Weather Forecast (NCWF) is an automatically generated depiction of current convection and extrapolated significant current convection. It is a supplement to, but does not substitute for, the report and forecast information contained in Convective SIGMETs . The NCWF contains both GRIB and BUFR output. The GRIB output delineates the current convection. The BUFR output includes hazardous convection area polygons, movement arrows, and storm top and speed text information. The NCWF display bunlde renders storm tops and movement , previous performance polygons , 1-hour extrapolation polygons , and current convective interest grid (colorbar).",
"title": "National Convective Weather Forecast (AWC)"
},
{
"location": "/cave/d2d-pointdata-surface-obs/#center-weather-advisories-cwa",
"text": "The CWA is an aviation weather warning for conditions meeting or approaching national in-flight advisory (AIRMET, SIGMET or SIGMET for convection) criteria. The CWA is primarily used by air crews to anticipate and avoid adverse weather conditions in the en route and terminal environments. It is not a flight planning product because of its short lead time and duration. Shown with NEXRAD DHR composite:",
"title": "Center Weather Advisories (CWA)"
},
{
"location": "/cave/d2d-pointdata-surface-obs/#mos-products",
"text": "These plots are derived from the MOS BUFR Bulletins. The previous MOS plots were derived from the MOS Text Bulletins. The plots display forecast data for GFS MOS, GFS-Extended MOS, and NGM MOS. Submenus under each model reveal the element choices. These displays include: Station Model Plots (Wind, T, Td, Sky Cover, Wx) MaxT/MinT (\u00b0F) Ceiling (agl) / Visibility (ft \u00d7 100) (Categorical) Probabilities Submenu (6h/12h PoP, 6h/12h Tstorm, 6h/12h Svr-Tstorm, Conditional precipitation types; %) QPF 12h (Categorical mid-points; inches) QPF 6h (Categorical mid-points; inches) Snowfall (6h/12h/24h, Categorical; inches)",
"title": "MOS Products"
},
{
"location": "/cave/d2d-pointdata-surface-obs/#lightning",
"text": "This menu item provides three options for displaying lightning flash plots over specified 1 minute, 5 minute, 15 minute and 1 hour intervals. USPLN (United States Precision Lightning Network) : WSI Corporation USPLN lightning data has been made available exclusively to universities for education and research use. Unidata serves USPLN lightning stroke data from the LIGHTNING LDM data feed. Registration is required to request this data, and the free feed is available on an annually renewed basis. USPLN data is not available to the public. NLDN (National Lightning Detection Network) : The NLDN option plots cloud-to-ground (CG) lightning flashes for specified time intervals across the continental United States. NLDN lightning data can be displayed as a grid image displaying the cloud-to-ground density values for a selected resolution (1km, 3km, 5km, 8km, 20km, and 40km). GLD (Global Lightning Dataset) : The GLD option plots cloud-to-ground (CG) lightning flashes for specified time intervals on a global-scale. GLD lightning data can also be displayed as a grid image displaying the cloud-to-ground density values for a selected resolution (1km, 3km, 5km, 8km, 20km, and 40km). ENI Total Lightning : In addition to displaying CG lightning flashes, the Total Lightning option also displays Cloud Flash (CF) lightning and Pulses. CF lightning are lightning flashes which do not strike the ground such as in-cloud, cloud-to-cloud, and cloud-to-air lightning. Lightning pulses are electromagnetic pulses that radiate outward from the lightning channel. ENI total lightning data can be displayed as a grid image displaying the cloud-to-ground, cloud flash, and lightning pulse density values for a selected resolution (1km, 3km, 5km, 8km, 20km, and 40km).",
"title": "Lightning"
},
{
"location": "/cave/d2d-satellite/",
"text": "NOAAport GINI imagery\n\uf0c1\n\n\nUniwisc McIDAS AREA files\n\uf0c1\n\n\nVIIRS\n\uf0c1\n\n\nVIIRS is one of five instruments onboard the NPP satellite. VIIRS' mission is to collect radiometric imagery in visible and infrared wavelengths of the Earth's surface; this includes observing fires, ice, ocean color, vegetation, clouds, and land and sea surface temperatures, and supplying high-resolution images and data used by meteorologists to assess climate change and improve short-term weather forecasting.\n\n\nThe VIIRS submenu option provides VIIRS imagery and moderate band satellite displays for the\nCONUS, Alaska, and Pacific regions. In addition to accessing the NPP Product VIIRS data via the Satellite menu, the VIIRS Imagery data can also be accessed using the \nProduct Browser\n.\n\n\nGOES and POES Sounding Data\n\uf0c1\n\n\nGOES and POES Sounding Data Availability Plots displays the locations where GOES and POES temperature and moisture profiles are available. These soundings are displayed on a Skew-T/log P chart using the Points tool and the Volume Browser. Soundings from the GOES satellites are made only in relatively cloud-free areas, whereas POES systems produce temperature and moisture soundings in clear and cloudy atmospheres. Each hour, NESDIS provides the latest soundings from GOES East and West. Although the GOES East and West sounders yield soundings over a broad area, the default AWIPS configuration retains soundings only from within each site's Regional CAVE scale domain. POES soundings are generated approximately every 12 hours and have more global coverage.\n\n\nPOES Imagery\n\uf0c1\n\n\nThe POES Imagery section of the Satellite menu contains selectors for IR Window, Visible, 3.7\u00b5, and 11-3.7\u00b5 products. These are viewable on all scales.\n\n\nSounder Imagery\n\uf0c1\n\n\nThe products available from the Sounder Imagery submenu are based purely on the imager instruments aboard the GOES East (GE) and GOES West (GW) satellites.\n\n\nDerived Products Imagery\n\uf0c1\n\n\nA variety of precipitation products are accessible from the Derived Products submenu. These products are derived from one or more of the various satellites (e.g., DMPS, POES, GOES, and GPS). Descriptions of the products follow.\n\n\nThe Blended Rain Rate (formerly Rainfall Rate) product is produced hourly to gather recent rain rate retrievals from passive microwave instruments on six polar-orbiting satellites. The blended rain rate eliminates the bias between those data sets and provides a unified, meteorologically significant rain rate field to weather forecasters.\n\n\nThe GOES products derived from the GOES satellite include Lifted Index, Total Precip Water (TPW), Cloud Amount, Cloud Top Height, Skin Temperature, and Low Cloud Base. Because the imagery from these products is based on the GOES sounder instrument, several important differences exist between these products and the other (imager-based) imagery. The main differences are that the resolution is no finer than 10 km, the product update frequency is driven by the sounder instrument (AWIPS receives a set of GOES East/West composite derived product images once per hour), and the aerial coverage is based on that of the sounder scans, which is somewhat less than the aerial coverage provided by the imager. Descriptions of the products follow.\n\n\n\n\nLifted Index\n is a common measure of instability. Its value is obtained by computing the temperature that air near the ground would have if it were lifted to some higher level (usually around 18,000 feet), and comparing that temperature to the actual temperature at that level. The more negative the value, the more instability there is.\n\n\nTotal Precip Water\n is the vertically integrated water vapor content in a column extending from the earth's surface to the top of the atmosphere.\n\n\nCloud Amount\n provides an hourly update of cloud amounts within a geostationary satellite field of view. You can loop through the display to identify increasing/decreasing cloud conditions and trends.\n\n\nCloud Top Height\n is the height of the cloud in thousands of feet (base - top). Skin Temperature is the sea surface temperature of the ocean surface water.\n\n\nLow Cloud Base\n provides nighttime images of fog and low stratus clouds derived from a combination of two GOES IR channels. This product identifies cloud ceilings of <1000 feet and is generated hourly starting between 2042 and 2142 GMT, and ending between 1510 and 1610 GMT the next day. This product is beneficial to the warning and forecast processes specific to aviation and terminal forecasting\n\n\n\n\nThe Total Precip Water (TPW) value can also be derived from the data sources of DMSP, SSM/I (Defense Meteorological Satellite Program Special Sensor Microwave / Imager), and POES AMSU (POES Advanced Microwave Sounding Unit) satellites, which are accessed from the DMSP SSM/I, and POES AMSU sections of the submenu.\n\n\nVariations of TPW (\"Blended Total Precip Water\" and \"Percent of Normal TPW\") are selectable\nunder the AMSU and SSM/I + GPS section.\n\n\n\n\nThe \nBlended Total Precip Water\n product is a blend of the various data sources of AMSU,\nSSM/I, and GPS satellites, and can be over water or land.\n\n\nThe Percent of Normal TPW\n product is calculated at various times (hourly, monthly,\nseasonally, etc.) to determine departures from the normal. From the information obtained,\nforecasters can predict the chances of having a below average, normal, or above average\nprecipitation in the upcoming months.\n\n\n\n\nSSM/I Point Data\n\uf0c1\n\n\nSSM/I Point Data plot displays data collected over the course of a day for calculating ocean wind speeds.\n\n\nGOES High Density Winds\n\uf0c1\n\n\nGOES High Density Winds submenu has options to display satellite-derived multi-layer winds plots from the IR, Visible, and three Water Vapor channels. In addition, you can display individual layers that display a composite of all the satellite channels.\n\n\nMTSAT High Density Winds\n\uf0c1\n\n\nMTSAT High Density Winds cover the Western Pacific.\n\n\nASCAT winds (25 km)\n\uf0c1\n\n\nScatterometer Winds are obtained from the ASCAT instrument on EUMETSAT's MetOP-A polar orbiting satellite. This instrument sends pulses of radiation to the ocean surface and measures the amount of energy, called backscatter, it receives back. When you sample these observations, the time, satellite ID, wind direction, and wind speed are provided. With the polar orbiting scanning, a given region will generally be sampled about every 12 hours.\n\n\nASCAT winds (25 km retrieval resolution but interpolated and displayed at 12.5 km resolution) are launchable from both the CAVE Satellite menu and the Upper Air menu. The ASCAT instrument generates ocean surface wind retrievals. The ASCAT Scatterometer Ocean Winds product is displayable on\nCAVE at all scales.",
"title": "Satellite Imagery"
},
{
"location": "/cave/d2d-satellite/#noaaport-gini-imagery",
"text": "",
"title": "NOAAport GINI imagery"
},
{
"location": "/cave/d2d-satellite/#uniwisc-mcidas-area-files",
"text": "",
"title": "Uniwisc McIDAS AREA files"
},
{
"location": "/cave/d2d-satellite/#viirs",
"text": "VIIRS is one of five instruments onboard the NPP satellite. VIIRS' mission is to collect radiometric imagery in visible and infrared wavelengths of the Earth's surface; this includes observing fires, ice, ocean color, vegetation, clouds, and land and sea surface temperatures, and supplying high-resolution images and data used by meteorologists to assess climate change and improve short-term weather forecasting. The VIIRS submenu option provides VIIRS imagery and moderate band satellite displays for the\nCONUS, Alaska, and Pacific regions. In addition to accessing the NPP Product VIIRS data via the Satellite menu, the VIIRS Imagery data can also be accessed using the Product Browser .",
"title": "VIIRS"
},
{
"location": "/cave/d2d-satellite/#goes-and-poes-sounding-data",
"text": "GOES and POES Sounding Data Availability Plots displays the locations where GOES and POES temperature and moisture profiles are available. These soundings are displayed on a Skew-T/log P chart using the Points tool and the Volume Browser. Soundings from the GOES satellites are made only in relatively cloud-free areas, whereas POES systems produce temperature and moisture soundings in clear and cloudy atmospheres. Each hour, NESDIS provides the latest soundings from GOES East and West. Although the GOES East and West sounders yield soundings over a broad area, the default AWIPS configuration retains soundings only from within each site's Regional CAVE scale domain. POES soundings are generated approximately every 12 hours and have more global coverage.",
"title": "GOES and POES Sounding Data"
},
{
"location": "/cave/d2d-satellite/#poes-imagery",
"text": "The POES Imagery section of the Satellite menu contains selectors for IR Window, Visible, 3.7\u00b5, and 11-3.7\u00b5 products. These are viewable on all scales.",
"title": "POES Imagery"
},
{
"location": "/cave/d2d-satellite/#sounder-imagery",
"text": "The products available from the Sounder Imagery submenu are based purely on the imager instruments aboard the GOES East (GE) and GOES West (GW) satellites.",
"title": "Sounder Imagery"
},
{
"location": "/cave/d2d-satellite/#derived-products-imagery",
"text": "A variety of precipitation products are accessible from the Derived Products submenu. These products are derived from one or more of the various satellites (e.g., DMPS, POES, GOES, and GPS). Descriptions of the products follow. The Blended Rain Rate (formerly Rainfall Rate) product is produced hourly to gather recent rain rate retrievals from passive microwave instruments on six polar-orbiting satellites. The blended rain rate eliminates the bias between those data sets and provides a unified, meteorologically significant rain rate field to weather forecasters. The GOES products derived from the GOES satellite include Lifted Index, Total Precip Water (TPW), Cloud Amount, Cloud Top Height, Skin Temperature, and Low Cloud Base. Because the imagery from these products is based on the GOES sounder instrument, several important differences exist between these products and the other (imager-based) imagery. The main differences are that the resolution is no finer than 10 km, the product update frequency is driven by the sounder instrument (AWIPS receives a set of GOES East/West composite derived product images once per hour), and the aerial coverage is based on that of the sounder scans, which is somewhat less than the aerial coverage provided by the imager. Descriptions of the products follow. Lifted Index is a common measure of instability. Its value is obtained by computing the temperature that air near the ground would have if it were lifted to some higher level (usually around 18,000 feet), and comparing that temperature to the actual temperature at that level. The more negative the value, the more instability there is. Total Precip Water is the vertically integrated water vapor content in a column extending from the earth's surface to the top of the atmosphere. Cloud Amount provides an hourly update of cloud amounts within a geostationary satellite field of view. You can loop through the display to identify increasing/decreasing cloud conditions and trends. Cloud Top Height is the height of the cloud in thousands of feet (base - top). Skin Temperature is the sea surface temperature of the ocean surface water. Low Cloud Base provides nighttime images of fog and low stratus clouds derived from a combination of two GOES IR channels. This product identifies cloud ceilings of <1000 feet and is generated hourly starting between 2042 and 2142 GMT, and ending between 1510 and 1610 GMT the next day. This product is beneficial to the warning and forecast processes specific to aviation and terminal forecasting The Total Precip Water (TPW) value can also be derived from the data sources of DMSP, SSM/I (Defense Meteorological Satellite Program Special Sensor Microwave / Imager), and POES AMSU (POES Advanced Microwave Sounding Unit) satellites, which are accessed from the DMSP SSM/I, and POES AMSU sections of the submenu. Variations of TPW (\"Blended Total Precip Water\" and \"Percent of Normal TPW\") are selectable\nunder the AMSU and SSM/I + GPS section. The Blended Total Precip Water product is a blend of the various data sources of AMSU,\nSSM/I, and GPS satellites, and can be over water or land. The Percent of Normal TPW product is calculated at various times (hourly, monthly,\nseasonally, etc.) to determine departures from the normal. From the information obtained,\nforecasters can predict the chances of having a below average, normal, or above average\nprecipitation in the upcoming months.",
"title": "Derived Products Imagery"
},
{
"location": "/cave/d2d-satellite/#ssmi-point-data",
"text": "SSM/I Point Data plot displays data collected over the course of a day for calculating ocean wind speeds.",
"title": "SSM/I Point Data"
},
{
"location": "/cave/d2d-satellite/#goes-high-density-winds",
"text": "GOES High Density Winds submenu has options to display satellite-derived multi-layer winds plots from the IR, Visible, and three Water Vapor channels. In addition, you can display individual layers that display a composite of all the satellite channels.",
"title": "GOES High Density Winds"
},
{
"location": "/cave/d2d-satellite/#mtsat-high-density-winds",
"text": "MTSAT High Density Winds cover the Western Pacific.",
"title": "MTSAT High Density Winds"
},
{
"location": "/cave/d2d-satellite/#ascat-winds-25-km",
"text": "Scatterometer Winds are obtained from the ASCAT instrument on EUMETSAT's MetOP-A polar orbiting satellite. This instrument sends pulses of radiation to the ocean surface and measures the amount of energy, called backscatter, it receives back. When you sample these observations, the time, satellite ID, wind direction, and wind speed are provided. With the polar orbiting scanning, a given region will generally be sampled about every 12 hours. ASCAT winds (25 km retrieval resolution but interpolated and displayed at 12.5 km resolution) are launchable from both the CAVE Satellite menu and the Upper Air menu. The ASCAT instrument generates ocean surface wind retrievals. The ASCAT Scatterometer Ocean Winds product is displayable on\nCAVE at all scales.",
"title": "ASCAT winds (25 km)"
},
{
"location": "/cave/d2d-radar/",
"text": "NEXRAD Radar Display\n\uf0c1\n\n\nThe Unidata D2D Perspective features a selectable NEXRAD station display over a loop of the \nFNEXRAD\n Digital Hybrid Reflectivity product. Selecting any station will open a two-panel reflectivity and velocity view for the selected station.\n\n\n\n\n\n\nNEXRAD & TDWR Station Menus\n\uf0c1\n\n\nIndividual NEXRAD station menus are accessible in \nRadar\n > \nNEXRAD Stations\n and are grouped alphabetically for a condensed submenu structure. With only the NEXRAD3 feedtype (NEXAD2 being disabled), notice that only some of the menu items will out with available data.\n\n\n\n\nBest Res Z+SRM8 / Z+V\n\uf0c1\n\n\nThe radar combination products Z+SRM and Z+V are precombined formats of the reflectivity and storm relative motion or velocity, displayed together via a single menu selection. SRM products include the storm motion vector information, which is plotted in the upper left corner of the Main Display Pane.\n\n\n\n\n\n\n4-panel Z+SRM, ZDR+V, KDP+HC, CC+SW\n\uf0c1\n\n\n4-panel Z, ZDR, HC+KDP, CC\n\uf0c1\n\n\nThis section enables you to load multiple base and dual-pol products, which are then simultaneously displayed. The label of this section of the menu describes the format for loading the products: Z+SRM in the upper left quadrant, ZDR+V in the upper right quadrant, KDP+HC in the lower left quadrant, and CC+SW in the lower right quadrant. Primary dual-pol base data analysis is best accomplished using the \nAll Tilts base data\n option (4 panel all tilts with 8 products loaded), though you may use the single tilts (e.g., 0.5 base data) for longer time duration loops.\n\n\nTo load 4 panel displays containing multiple elevation angles of the same product, you would\nselect the \nfour panel\n option and then select the desired set of 4 panels from the \nfour\npanel\n submenu.\n\n\n\n\nAll Tilts allows you to step or animate in either space or time. Selecting one of the All Tilts buttons will load all the tilts available from the latest volume scan. It will continue to load tilts from previous volume scans until it has loaded as many frames as indicated on the frame count menu. Auto updates will add higher tilts from the latest volume scan, replacing a tilt from the oldest volume.\n\n\nAfter loading an All Tilts display, \nShift + LEFT ARROW\n and \nShift + RIGHT ARROW\n and looping will take you through the frames in the order in which the system loaded them (without regard to volume scan or tilt). The \nUP ARROW\n and \nDOWN ARROW\n will step the display up or down in a volume scan allowing the tilts to change for a fixed time. The \nRIGHT ARROW\n and \nLEFT ARROW\n will step the display forward or backward through time at a fixed tilt. Once you have set the mode of motion (vertical or time), the \nPage Up/Page Down\n keys will start and adjust loop speed. To switch from vertical to time mode or from time to vertical mode, press the desired arrow key.\n\n\nIf you hit the up or down arrow key in a standard (not All-Tilts) display, looping and stepping are disabled until you hit either the left or right arrow key or one of the stepping buttons on the menu. Once an arrow key (Left, Right, Up, Down) has been pressed, the stepping/animation controls on the main window toolbar and the \nPage Up/Page Down\n keys will function in that same mode. For example, assume the \nUP ARROW\n or \nDOWN ARROW\n key is pressed; the menu controls will now operate through the tilts at a fixed time, e.g., you can go to the lowest tilt by selecting the First Frame iconified button.\n\n\nBest Res Base Products\n\uf0c1\n\n\nThis section is divided into two parts. The upper part lists individual products: four base products and three dual-pol products (ZDR, CC, and KDP). The lower part includes submenus for accessing multiple products and applications. The following describes the submenus grouped in the lower part of the Best Res Base Products section.\n\n\n\n\nPrecip\n: In addition to the QPE dual-pol products, this submenu includes the legacy precip products, which include Storm Total, One Hour, Three Hour, and User Selectable precipitation products. A suite of snowfall products is also available on the \nPrecip\n submenu. All are available for request (OTR, RMR), and the first four can be added to an RPS (Routine Product Set) list. All of these products are available on any scale.\n\n\nDerived Products\n: The Derived Products submenu includes Layer Reflectivity, Cross Section, and Other products displayed on any scale. Derived products include precipitation, storm (mesocyclone, hail, tornado), and wind derivations.\n\n\nAlgorithm Overlays\n: The Algorithm Overlays submenu includes legacy algorithm overlays and the ML dual-pol overlay.\n\n\nfour panel\n: The four panel submenu includes menu entries for Z+V, Z+SRM 8- and 4-bit, and some other combinations that are presented in 4-panel mode, with a different elevation angle or product in each panel.\n\n\nData Quality\n: The Data Quality products, accessible by a pull-right submenu, include Clutter Filter Control and reflectivity and velocity clutter probability products.\n\n\n4-bit/Legacy Prods\n: The 4-bit/Legacy Prods submenu uses generic selectors that load 8-bit (256 level) data, with legacy 4-bit (16 level) and 3-bit (8 level) data filling in when no 8-bit data is available.\n\n\nRadar Applications\n: The Radar Applications submenu provides access to all the radar applications and radar tools.\n\n\n\n\n\n\nMRMS\n\uf0c1\n\n\n\n\nFNEXRAD Composites\n\uf0c1\n\n\nDHR\n\uf0c1\n\n\n\n\nDLV\n\uf0c1\n\n\n\n\nEET\n\uf0c1\n\n\n\n\nHHC\n\uf0c1\n\n\n\n\nDAA\n\uf0c1\n\n\n\n\nDTA\n\uf0c1\n\n\n\n\n\n\nMosaic Radar Plots\n\uf0c1\n\n\nMosaics available via this menu use data from up to nine nearby radars. Additional optional\nmosaics on cascading menus provide a limited list of radar products from a predefined set of WSR-88D radars within a given region. Your System Manager or site Administrator can set up such mosaics by: \n/awips2/edex/data/utility/common_static/site/<SITE>/radar/radarInUse.txt\n. A mosaicInfo.txt table will only work while logged on to an AWIPS workstation.\n\n\nN0Q\n\uf0c1\n\n\nDSP\n\uf0c1\n\n\nDTA\n\uf0c1\n\n\nDAA\n\uf0c1\n\n\n\n\nRadar Applications\n\uf0c1\n\n\nEstimated Actual Velocity (EAV)\n\uf0c1\n\n\nA velocity (V) display from the radar shows only the radial component of the wind, so the indicated\nspeed depends on the direction of the wind and the azimuth (direction) from the radar. Consider, for example, a north wind. Straight north of the radar, the full speed of the wind will be seen on the V product. As one moves around to the east of the radar, the radial component gets smaller, eventually reaching zero straight east of the radar. If the wind direction is known, then the actual wind speed can be computed by dividing the observed radial speed by the cosine of the angle between the radar radial and the actual direction. The EAV tool allows you to provide that angle and use the sampling function of the display to show the actual wind speed.\n\n\n\n\nFour-dimensional Stormcell Investigator (FSI)\n\uf0c1\n\n\nThe \nFour-dimensional Stormcell Investigator (FSI)\n was developed by the National Severe Storms Laboratory for its Warning Decision Support System Integrated Information. This technology allows users to create and manipulate dynamic cross-sections (both vertical and at constant altitude), such that one can \u201cslice and dice\u201d storms and view these data in three-dimensions and across time.\n\n\nV-R Shear\n\uf0c1\n\n\nThis tool is used in conjunction with Doppler velocity data to calculate the velocity difference (or \"shear\") of the data directly under the end points. As with the Baselines, this feature comes up editable and the end points can be dragged to specific gates of velocity data. When in place, the speed difference (kts), distance between end points (nautical miles), shear (s-1), and distance from radar (Nmi) are automatically plotted next to the end points and in the upper left corner of the Main Display Pane. A positive shear value indicates cyclonic shear, while a negative value indicates anticyclonic shear. If either end point is not directly over velocity data, the phrase \"no data\" is reported for the shear value. This tool is also useful in determining gate-to-gate shear. Simply place the two end points directly over adjacent gates of velocity data.\n\n\n\n\n\"Snapping\" VR Shear\n: If you are zoomed in over an area when you load VR - Shear, and the VR - Shear Baseline does not appear, click B3 to \"snap\" the Baseline to where the mouse cursor\nis located.\n\n\nVR - Shear in 4 Panel\n: You can use the VR - Shear Tool when the large display is in 4 panel\nmode. The VR - Shear overlay is loaded in different colors for each panel. There are actually\nfour copies of the program running, and each behaves independently. This means that you can\nget accurate readings in any one of the four panels \u2014 one VR - Shear panel is editable at a time. To activate, click B2 on the VR - Shear legend in the desired panel and position the query line to\nthe echoes of interest.",
"title": "NEXRAD Radar"
},
{
"location": "/cave/d2d-radar/#nexrad-radar-display",
"text": "The Unidata D2D Perspective features a selectable NEXRAD station display over a loop of the FNEXRAD Digital Hybrid Reflectivity product. Selecting any station will open a two-panel reflectivity and velocity view for the selected station.",
"title": "NEXRAD Radar Display"
},
{
"location": "/cave/d2d-radar/#nexrad-tdwr-station-menus",
"text": "Individual NEXRAD station menus are accessible in Radar > NEXRAD Stations and are grouped alphabetically for a condensed submenu structure. With only the NEXRAD3 feedtype (NEXAD2 being disabled), notice that only some of the menu items will out with available data.",
"title": "NEXRAD &amp; TDWR Station Menus"
},
{
"location": "/cave/d2d-radar/#best-res-zsrm8-zv",
"text": "The radar combination products Z+SRM and Z+V are precombined formats of the reflectivity and storm relative motion or velocity, displayed together via a single menu selection. SRM products include the storm motion vector information, which is plotted in the upper left corner of the Main Display Pane.",
"title": "Best Res Z+SRM8 / Z+V"
},
{
"location": "/cave/d2d-radar/#4-panel-zsrm-zdrv-kdphc-ccsw",
"text": "",
"title": "4-panel Z+SRM, ZDR+V, KDP+HC, CC+SW"
},
{
"location": "/cave/d2d-radar/#4-panel-z-zdr-hckdp-cc",
"text": "This section enables you to load multiple base and dual-pol products, which are then simultaneously displayed. The label of this section of the menu describes the format for loading the products: Z+SRM in the upper left quadrant, ZDR+V in the upper right quadrant, KDP+HC in the lower left quadrant, and CC+SW in the lower right quadrant. Primary dual-pol base data analysis is best accomplished using the All Tilts base data option (4 panel all tilts with 8 products loaded), though you may use the single tilts (e.g., 0.5 base data) for longer time duration loops. To load 4 panel displays containing multiple elevation angles of the same product, you would\nselect the four panel option and then select the desired set of 4 panels from the four\npanel submenu. All Tilts allows you to step or animate in either space or time. Selecting one of the All Tilts buttons will load all the tilts available from the latest volume scan. It will continue to load tilts from previous volume scans until it has loaded as many frames as indicated on the frame count menu. Auto updates will add higher tilts from the latest volume scan, replacing a tilt from the oldest volume. After loading an All Tilts display, Shift + LEFT ARROW and Shift + RIGHT ARROW and looping will take you through the frames in the order in which the system loaded them (without regard to volume scan or tilt). The UP ARROW and DOWN ARROW will step the display up or down in a volume scan allowing the tilts to change for a fixed time. The RIGHT ARROW and LEFT ARROW will step the display forward or backward through time at a fixed tilt. Once you have set the mode of motion (vertical or time), the Page Up/Page Down keys will start and adjust loop speed. To switch from vertical to time mode or from time to vertical mode, press the desired arrow key. If you hit the up or down arrow key in a standard (not All-Tilts) display, looping and stepping are disabled until you hit either the left or right arrow key or one of the stepping buttons on the menu. Once an arrow key (Left, Right, Up, Down) has been pressed, the stepping/animation controls on the main window toolbar and the Page Up/Page Down keys will function in that same mode. For example, assume the UP ARROW or DOWN ARROW key is pressed; the menu controls will now operate through the tilts at a fixed time, e.g., you can go to the lowest tilt by selecting the First Frame iconified button.",
"title": "4-panel Z, ZDR, HC+KDP, CC"
},
{
"location": "/cave/d2d-radar/#best-res-base-products",
"text": "This section is divided into two parts. The upper part lists individual products: four base products and three dual-pol products (ZDR, CC, and KDP). The lower part includes submenus for accessing multiple products and applications. The following describes the submenus grouped in the lower part of the Best Res Base Products section. Precip : In addition to the QPE dual-pol products, this submenu includes the legacy precip products, which include Storm Total, One Hour, Three Hour, and User Selectable precipitation products. A suite of snowfall products is also available on the Precip submenu. All are available for request (OTR, RMR), and the first four can be added to an RPS (Routine Product Set) list. All of these products are available on any scale. Derived Products : The Derived Products submenu includes Layer Reflectivity, Cross Section, and Other products displayed on any scale. Derived products include precipitation, storm (mesocyclone, hail, tornado), and wind derivations. Algorithm Overlays : The Algorithm Overlays submenu includes legacy algorithm overlays and the ML dual-pol overlay. four panel : The four panel submenu includes menu entries for Z+V, Z+SRM 8- and 4-bit, and some other combinations that are presented in 4-panel mode, with a different elevation angle or product in each panel. Data Quality : The Data Quality products, accessible by a pull-right submenu, include Clutter Filter Control and reflectivity and velocity clutter probability products. 4-bit/Legacy Prods : The 4-bit/Legacy Prods submenu uses generic selectors that load 8-bit (256 level) data, with legacy 4-bit (16 level) and 3-bit (8 level) data filling in when no 8-bit data is available. Radar Applications : The Radar Applications submenu provides access to all the radar applications and radar tools.",
"title": "Best Res Base Products"
},
{
"location": "/cave/d2d-radar/#mrms",
"text": "",
"title": "MRMS"
},
{
"location": "/cave/d2d-radar/#fnexrad-composites",
"text": "",
"title": "FNEXRAD Composites"
},
{
"location": "/cave/d2d-radar/#dhr",
"text": "",
"title": "DHR"
},
{
"location": "/cave/d2d-radar/#dlv",
"text": "",
"title": "DLV"
},
{
"location": "/cave/d2d-radar/#eet",
"text": "",
"title": "EET"
},
{
"location": "/cave/d2d-radar/#hhc",
"text": "",
"title": "HHC"
},
{
"location": "/cave/d2d-radar/#daa",
"text": "",
"title": "DAA"
},
{
"location": "/cave/d2d-radar/#dta",
"text": "",
"title": "DTA"
},
{
"location": "/cave/d2d-radar/#mosaic-radar-plots",
"text": "Mosaics available via this menu use data from up to nine nearby radars. Additional optional\nmosaics on cascading menus provide a limited list of radar products from a predefined set of WSR-88D radars within a given region. Your System Manager or site Administrator can set up such mosaics by: /awips2/edex/data/utility/common_static/site/<SITE>/radar/radarInUse.txt . A mosaicInfo.txt table will only work while logged on to an AWIPS workstation.",
"title": "Mosaic Radar Plots"
},
{
"location": "/cave/d2d-radar/#n0q",
"text": "",
"title": "N0Q"
},
{
"location": "/cave/d2d-radar/#dsp",
"text": "",
"title": "DSP"
},
{
"location": "/cave/d2d-radar/#dta_1",
"text": "",
"title": "DTA"
},
{
"location": "/cave/d2d-radar/#daa_1",
"text": "",
"title": "DAA"
},
{
"location": "/cave/d2d-radar/#radar-applications",
"text": "",
"title": "Radar Applications"
},
{
"location": "/cave/d2d-radar/#estimated-actual-velocity-eav",
"text": "A velocity (V) display from the radar shows only the radial component of the wind, so the indicated\nspeed depends on the direction of the wind and the azimuth (direction) from the radar. Consider, for example, a north wind. Straight north of the radar, the full speed of the wind will be seen on the V product. As one moves around to the east of the radar, the radial component gets smaller, eventually reaching zero straight east of the radar. If the wind direction is known, then the actual wind speed can be computed by dividing the observed radial speed by the cosine of the angle between the radar radial and the actual direction. The EAV tool allows you to provide that angle and use the sampling function of the display to show the actual wind speed.",
"title": "Estimated Actual Velocity (EAV)"
},
{
"location": "/cave/d2d-radar/#four-dimensional-stormcell-investigator-fsi",
"text": "The Four-dimensional Stormcell Investigator (FSI) was developed by the National Severe Storms Laboratory for its Warning Decision Support System Integrated Information. This technology allows users to create and manipulate dynamic cross-sections (both vertical and at constant altitude), such that one can \u201cslice and dice\u201d storms and view these data in three-dimensions and across time.",
"title": "Four-dimensional Stormcell Investigator (FSI)"
},
{
"location": "/cave/d2d-radar/#v-r-shear",
"text": "This tool is used in conjunction with Doppler velocity data to calculate the velocity difference (or \"shear\") of the data directly under the end points. As with the Baselines, this feature comes up editable and the end points can be dragged to specific gates of velocity data. When in place, the speed difference (kts), distance between end points (nautical miles), shear (s-1), and distance from radar (Nmi) are automatically plotted next to the end points and in the upper left corner of the Main Display Pane. A positive shear value indicates cyclonic shear, while a negative value indicates anticyclonic shear. If either end point is not directly over velocity data, the phrase \"no data\" is reported for the shear value. This tool is also useful in determining gate-to-gate shear. Simply place the two end points directly over adjacent gates of velocity data. \"Snapping\" VR Shear : If you are zoomed in over an area when you load VR - Shear, and the VR - Shear Baseline does not appear, click B3 to \"snap\" the Baseline to where the mouse cursor\nis located. VR - Shear in 4 Panel : You can use the VR - Shear Tool when the large display is in 4 panel\nmode. The VR - Shear overlay is loaded in different colors for each panel. There are actually\nfour copies of the program running, and each behaves independently. This means that you can\nget accurate readings in any one of the four panels \u2014 one VR - Shear panel is editable at a time. To activate, click B2 on the VR - Shear legend in the desired panel and position the query line to\nthe echoes of interest.",
"title": "V-R Shear"
},
{
"location": "/cave/d2d-uair/",
"text": "The Upper Air dropdown menu provides access to upper air plots, profiler data, radar plan-view and perspective displays of winds, and aircraft and rawinsonde data. Nearby Radiosonde Observations (RAOB) are also included on the menu to provide easy viewing of upper air data.\n\n\nNSHARP Upper Air Soundings\n\uf0c1\n\n\n\n\nRAOB data is plotted on the standard Skew-T log-p thermodynamic diagram. A small reference map indicating the location(s) of the plotted sounding(s) is provided in the upper left corner of the main display pane. If you overlay another Skew-T whose location is far from the original sounding location, the reference map updates to show both locations.\n\n\n\n\n\n\nNUCAPS Soundings\n\uf0c1\n\n\n\n\nThe NOAA Unique CrIS/ATMS Processing System (\nNUCAPS\n) soundings are derived from processing of CrIS/ATMS data, provides cloud cleared radiances and trace gas that enable increased accuracy in the development of the vertical profile of temperature and water vapor retrievals. By clicking on the individual dots, the forecaster is able to render the sounding for the selected point using the \nNSHARP plugin\n.\n\n\n\n\n\n\nUpper Air Plots\n\uf0c1\n\n\n\n\nNCEP: 200mb to 850mb\n\n\nRAOB: 150mb to 925mb\n\n\n\n\n\n\n\n\nUKMO 500mb Height\n\uf0c1\n\n\n500mb height graphic out to 144 forecast hours.\n\n\n\n\n\n\nCPC Charts\n\uf0c1\n\n\n\n\n6-10 day mean 500mb Height\n\n\n8-14 day mean 500mb Height\n\n\n6-10 day 500mb Height Anomaly\n\n\n8-14 day 500mb Height Anomaly\n\n\n\n\n\n\n\n\nNPN Profiler Time-Height\n\uf0c1\n\n\nNOAA Profiler Network (\nNPN\n) observations as a time-series plot. This time-series plugin is also used in the \nVolume Browser\n plugin for both grids and observations.\n\n\n\n\n\n\nNPN Profiler Plot\n\uf0c1\n\n\n\n\n200hPa-925hPa\n\n\n1500m-500m AGL\n\n\nSurface\n\n\n\n\n\n\nRadar VWP Height-Level\n\uf0c1\n\n\n\n\n15km AGL\n\n\n14km AGL\n\n\n13km AGL\n\n\n...\n\n\n500m AGL\n\n\n250m AGL\n\n\n100m AGL\n\n\n\n\n\n\nRadar VWP Pressure-Level\n\uf0c1\n\n\n\n\n200hPa to 925hPa\n\n\n\n\n\n\nPIREP Aircraft Plot\n\uf0c1\n\n\nThe Aircraft data includes Low-, Mid-, and High-level Pilot Weather Report (PIREP) observations. The display plots the temperature, aircraft identifier, wind speed and direction, significant weather, and the flight level (in feet). Pilot reports are critical for air safety. Pilots reports on the conditions they are experiencing show up in a matter of minutes on AWIPS. Weather conditions can change quickly, and there is nothing like having a pilot report to provide a bird's eye view of what it is really like up there. PIREPs may validate forecast conditions, or they may describe real-time weather that varies from them.\n\n\n\n\nIcing: Low Level, Mid Level, High Level\n\n\nTubulence: Low Level Mid Level, High Level\n\n\n\n\n\n\n\n\nAircraft MDCRS\n\uf0c1\n\n\nMeteorological Data Collection and Reporting System (MDCRS) data includes plan-view plots for various 5kft layers and ascent/descent soundings. Using the availability plots (Upper Air menu under MDCRS plots) and ACARS Airports from the Maps menu button you can locate airports that have available soundings. ACARS Airports provides an illustration of locations of airports, but it is not necessary to use it. The \"+\" sign means a temperature sounding and the \"*\" means a temperature and dewpoint sounding. To see a sounding at a location, simply press the Points menu button. Several points from letters of the alphabet will appear on the map display. To view a sounding, drag one of the points/letters to a \"+\" or \"*\" location. From the menu bar press Volume and then Browser. From the Volume Browser select MDCRS for Source, Sounding for Fields and select the letter/point on the desired location for Points. Click on your selection in the Product Selection List and then press the Load button to view the sounding.\n\n\nA zoomable inset map (NW corner) is available to show the location of the sounding. When you zoom in by clicking mouse Button 2 (B2), the flight track of the ascent/descent sounding is shown on the map. In addition, you can sample the flight track to see the time and elevation. To zoom out, click mouse Button 1 (B1). This inset map (and also those on var vs. height displays, cross sections, and cell trends) can be suppressed by setting the global density (i.e., from the tool bar) at less than 1.\n\n\n\n\n000-500hft in 50ft increments\n\n\n1 hour profile availability\n\n\n6 hour profile availability\n\n\n\n\n\n\n\n\nSIGMET and AIRMET reports: Convective, Icing, Turbulance, Tropical, Volcanic\n\uf0c1\n\n\nSIGMET\n\uf0c1\n\n\nSIGMET (Significant Meteorological Information) is an alphanumeric message describing specific aviation hazard conditions between the surface and 45,000 feet (FL450). A SIGMET includes information about the location of the hazard using VOR locations. SIGMETs are produced on an as-needed basis at the AWC and are distributed on the SBN.\n\n\nAIRMET\n\uf0c1\n\n\nAIRMET (Airmen's Meteorological Information) is an alpha-numeric message describing specific aviation hazard conditions between the surface and 45,000 feet (FL450), but not requiring the issuance of a SIGMET. An AIRMET includes information about the location of the hazard using VOR locations. AIRMETs are produced every 6 hours at the AWC for the CONUS area, and are distributed on the SBN.\n\n\n\n\n\n\nVisibility Products\n\uf0c1\n\n\nIFR, Mountain Obscn\n\uf0c1\n\n\n\n\nMedium Level, High Level\n\uf0c1",
"title": "Upper Air"
},
{
"location": "/cave/d2d-uair/#nsharp-upper-air-soundings",
"text": "RAOB data is plotted on the standard Skew-T log-p thermodynamic diagram. A small reference map indicating the location(s) of the plotted sounding(s) is provided in the upper left corner of the main display pane. If you overlay another Skew-T whose location is far from the original sounding location, the reference map updates to show both locations.",
"title": "NSHARP Upper Air Soundings"
},
{
"location": "/cave/d2d-uair/#nucaps-soundings",
"text": "The NOAA Unique CrIS/ATMS Processing System ( NUCAPS ) soundings are derived from processing of CrIS/ATMS data, provides cloud cleared radiances and trace gas that enable increased accuracy in the development of the vertical profile of temperature and water vapor retrievals. By clicking on the individual dots, the forecaster is able to render the sounding for the selected point using the NSHARP plugin .",
"title": "NUCAPS Soundings"
},
{
"location": "/cave/d2d-uair/#upper-air-plots",
"text": "NCEP: 200mb to 850mb RAOB: 150mb to 925mb",
"title": "Upper Air Plots"
},
{
"location": "/cave/d2d-uair/#ukmo-500mb-height",
"text": "500mb height graphic out to 144 forecast hours.",
"title": "UKMO 500mb Height"
},
{
"location": "/cave/d2d-uair/#cpc-charts",
"text": "6-10 day mean 500mb Height 8-14 day mean 500mb Height 6-10 day 500mb Height Anomaly 8-14 day 500mb Height Anomaly",
"title": "CPC Charts"
},
{
"location": "/cave/d2d-uair/#npn-profiler-time-height",
"text": "NOAA Profiler Network ( NPN ) observations as a time-series plot. This time-series plugin is also used in the Volume Browser plugin for both grids and observations.",
"title": "NPN Profiler Time-Height"
},
{
"location": "/cave/d2d-uair/#npn-profiler-plot",
"text": "200hPa-925hPa 1500m-500m AGL Surface",
"title": "NPN Profiler Plot"
},
{
"location": "/cave/d2d-uair/#radar-vwp-height-level",
"text": "15km AGL 14km AGL 13km AGL ... 500m AGL 250m AGL 100m AGL",
"title": "Radar VWP Height-Level"
},
{
"location": "/cave/d2d-uair/#radar-vwp-pressure-level",
"text": "200hPa to 925hPa",
"title": "Radar VWP Pressure-Level"
},
{
"location": "/cave/d2d-uair/#pirep-aircraft-plot",
"text": "The Aircraft data includes Low-, Mid-, and High-level Pilot Weather Report (PIREP) observations. The display plots the temperature, aircraft identifier, wind speed and direction, significant weather, and the flight level (in feet). Pilot reports are critical for air safety. Pilots reports on the conditions they are experiencing show up in a matter of minutes on AWIPS. Weather conditions can change quickly, and there is nothing like having a pilot report to provide a bird's eye view of what it is really like up there. PIREPs may validate forecast conditions, or they may describe real-time weather that varies from them. Icing: Low Level, Mid Level, High Level Tubulence: Low Level Mid Level, High Level",
"title": "PIREP Aircraft Plot"
},
{
"location": "/cave/d2d-uair/#aircraft-mdcrs",
"text": "Meteorological Data Collection and Reporting System (MDCRS) data includes plan-view plots for various 5kft layers and ascent/descent soundings. Using the availability plots (Upper Air menu under MDCRS plots) and ACARS Airports from the Maps menu button you can locate airports that have available soundings. ACARS Airports provides an illustration of locations of airports, but it is not necessary to use it. The \"+\" sign means a temperature sounding and the \"*\" means a temperature and dewpoint sounding. To see a sounding at a location, simply press the Points menu button. Several points from letters of the alphabet will appear on the map display. To view a sounding, drag one of the points/letters to a \"+\" or \"*\" location. From the menu bar press Volume and then Browser. From the Volume Browser select MDCRS for Source, Sounding for Fields and select the letter/point on the desired location for Points. Click on your selection in the Product Selection List and then press the Load button to view the sounding. A zoomable inset map (NW corner) is available to show the location of the sounding. When you zoom in by clicking mouse Button 2 (B2), the flight track of the ascent/descent sounding is shown on the map. In addition, you can sample the flight track to see the time and elevation. To zoom out, click mouse Button 1 (B1). This inset map (and also those on var vs. height displays, cross sections, and cell trends) can be suppressed by setting the global density (i.e., from the tool bar) at less than 1. 000-500hft in 50ft increments 1 hour profile availability 6 hour profile availability",
"title": "Aircraft MDCRS"
},
{
"location": "/cave/d2d-uair/#sigmet-and-airmet-reports-convective-icing-turbulance-tropical-volcanic",
"text": "",
"title": "SIGMET and AIRMET reports: Convective, Icing, Turbulance, Tropical, Volcanic"
},
{
"location": "/cave/d2d-uair/#sigmet",
"text": "SIGMET (Significant Meteorological Information) is an alphanumeric message describing specific aviation hazard conditions between the surface and 45,000 feet (FL450). A SIGMET includes information about the location of the hazard using VOR locations. SIGMETs are produced on an as-needed basis at the AWC and are distributed on the SBN.",
"title": "SIGMET"
},
{
"location": "/cave/d2d-uair/#airmet",
"text": "AIRMET (Airmen's Meteorological Information) is an alpha-numeric message describing specific aviation hazard conditions between the surface and 45,000 feet (FL450), but not requiring the issuance of a SIGMET. An AIRMET includes information about the location of the hazard using VOR locations. AIRMETs are produced every 6 hours at the AWC for the CONUS area, and are distributed on the SBN.",
"title": "AIRMET"
},
{
"location": "/cave/d2d-uair/#visibility-products",
"text": "",
"title": "Visibility Products"
},
{
"location": "/cave/d2d-uair/#ifr-mountain-obscn",
"text": "",
"title": "IFR, Mountain Obscn"
},
{
"location": "/cave/d2d-uair/#medium-level-high-level",
"text": "",
"title": "Medium Level, High Level"
},
{
"location": "/cave/d2d-hydro/",
"text": "The NCEP/Hydro menu contains nine sections: SPC, TPC, NCO, HPC, MPC, CPC, AWC, Hydro, and Local Analyses/Statistical Guidance. Each section is further subdivided into related products, as described below. For more information on hydro products, refer to documentation prepared by the NWS' Office of Hydrology.\n\n\nSPC\n\uf0c1\n\n\nStorm Prediction Center (SPC) Watches, Severe Weather Plots, SPC Convective Outlooks, and Fire Weather information. Severe Weather Plots are extracted from the STADTS and STAHRY text products and plotted to time-match the current display. The Severe Weather Plots data set in the NCEP/Hydro Menu can be interrogated (sampled) for more detailed information by clicking mouse Button 1 (B1) over a site.\n\n\nTPC\n\uf0c1\n\n\nContains the hurricane submenu, which comprises graphic products that display the Marine/Tropical Cyclone Advisory (TCM), the Public Tropical Cyclone Advisory (TCP), hourly forecasts, and model guidance.\n\n\nHPC\n\uf0c1\n\n\nContains 6-hour QPF (Quantitative Precipitation Forecast) data plus the submenus, described\nbelow, for Precipitation and Temps & Weather products.\n\n\n\n\nPrecipitation\n Contains probabilities of daily precipitation, precipitation accumulation, and probabilities of daily snowfall. In addition, this submenu enables you to display QPF projections for 1 to 3 days in 6 hour increments, 4 to 5 days in 48 hour increments, and 1 to 5 days in 120 hour increments. The HPC Excessive Rainfall product consists of a contour graphic and image of the excessive rainfall for day 1 (with forecast times of 21, 24, 27, or 30 hours), and days 2 and 3 (both with forecast times of 48 and 72 hours). The HPC product will update the selected forecast cycle twice per day.\n\n\nTemps & Weather\n Contains daily Max/Min temperature anomalies, daily heat index\nprobabilities, and pressure and frontal analysis.\n\n\n\n\nMPC\n\uf0c1\n\n\nContains the Marine Guidance submenu, which includes marine analyses and model guidance. Note that the Marine Prediction Center (MPC) is now called the Ocean Prediction Center (OPC).\n\n\nCPC\n\uf0c1\n\n\nContains threat charts and outlook grids derived from these two submenus:\n\n\n\n\nThreat Charts\n Contains drought monitoring data, daily threats assessment, and daily heat index forecasts.\n\n\nOutlook Grids\n Contains temperature and precipitation probabilities.\n\n\n\n\nAWC\n\uf0c1\n\n\nContains CCFP (Collaborative Convective Forecast Product), an aviation product. Formerly located under the Aviation option on the Upper Air menu, CCFP is a strategic forecast of convection to guide traffic managers in their system-wide approach to managing traffic. The forecast suite consists of 3 forecast maps with selectable lead times (4, 6, and 8 hours). The forecasts are issued by the Aviation Weather Center (AWC) between March 1 and October 30, eleven times per day.\n\n\nCCFP is alpha-numeric information suitable for the graphical depiction of forecast areas of significant thunderstorms. The CCFP message covers the CONUS area, and includes information on the location of thunderstorm areas, and associated information such as storm tops, coverage, confidence, and direction/speed of movement.\n\n\nNCO\n\uf0c1\n\n\nContains Precip & Stability, Temps & Weather, National Centers model, NGM MOS (NGM-based MOS system), and the following Sounding-derived plots submenus.\n\n\n\n\nPrecip & Stability\n: Contains precipitation, radar, and stability products.\n\n\nTemps & Weather\n: Contains Max/Min temperature, freezing level, weather depiction, and surface geostrophic wind and relative vorticity plots.\n\n\nNational Centers Models\n: Contains model guidance from the National Centers\n\n\nSounding-derived plots\n: Contains options to display model soundings (sometimes called \"BUFR soundings\" because they are packaged in BUFR format for transmission). These are soundings extracted directly from the model, including all levels not generated from the pressure-level grids used elsewhere in the system.\n\n\nSounding Availability\n This option displays the sounding locations (shown with asterisks) available from the latest model run; typically these locations coincide with TAF (Terminal Aerodrome Forecast) locations. The plot will update with each model run. Because the sounding data is quite voluminous, only soundings over your State(s) scale are saved.\n\n\nSurface\n The Surface Plots, which mimic the METAR Surface Plots, are taken from the model-derived soundings and provide hourly forecast surface plots. Because you cannot see all forecast projections in a 32 frame loop (e.g., displaying the entire North American Model (NAM) or Global Forecasting System (GFS) run would require 61 frames), you will probably want to use the Time Options Tool (refer to Subsection 2.2.6.4) to view a subset of the forecast -- perhaps a continuous run of hours or every other hour for the whole run.\n\n\nCeiling/Visibility\n The \"Ceil/Vis Plot\" shows weather (rain, frz rain, snow) on the right, a stack of three cloud layers above, and visibility below the METAR station. The cloud layers are defined as low (990mb-640mb), mid (640mb-350mb), and high (<350mb). Each cloud layer shows a coverage circle with clear, sct, bkn, and ovc options. Next to one of the circles, there may be a cloud base. The cloud base is sent as a pressure, but is plotted in hft MSL based on a Standard Atmosphere conversion. Because the cloud layers and the cloud base are generated from separate algorithms at NCEP (National Centers for Environmental Prediction), it is possible to have broken or overcast clouds indicated but no base; alternatively, the base may be shown with a high overcast, while ignoring a mid broken layer. Also, a cloud base is reported if convective precipitation is indicated, even for only 10-20% cloud cover. As a result, one can see a cloud base associated with scattered clouds.\n\n\n1 Hr and 3 Hr Precip Amt\n This option shows hourly amounts for NAM and 3 hour intervals for GFS at each location.\n\n\nCloud Layers\n This option displays the amount of low, middle, and high cloud cover, each as a standard sky coverage symbol, and weather type as a weather symbol.\n\n\n\n\n\n\n\n\nHydro\n\uf0c1\n\n\nContains QPE, QPF, and RFC Flash Flood Guidance submenus. Hydro Applications, such as HydroView and MPE Editor, are loaded from the Perspectives dialog (Hydro and MPE, respectively) or from the HydroApps menu in the Hydro(View) Perspective (Hydrobase, RiverPro, XDAT, Forecast Service, River Monitor, Precip Monitor, SSHP, and Dam Catalog).\n\n\n\n\n\n\nQPE\n: Makes available mosaic images of RFC-generated Quantitative Precipitation Estimator (QPE) and the Multisensor Precipitation Estimator (MPE) grids, which are displayed using a 'truncated' grid color table that shows zero values in gray to let you see the limits of the site-specified domain. These mosaic images are generated by the RFCs in 1, 6, and 24 hour cycles. The MPE grids can be displayed as local contours or images.\n\n\n\n\nNESDIS\n produces two types of Satellite Precipitation Estimates (SPE) based on GOES (Geostationary Operational Environmental Satellite) imagery series: Auto SPEs and Manual SPEs. Auto SPEs, which can be displayed directly from the QPE submenu, are produced hourly based on the most recent one-hour series of IR GOES imagery. This product is displayable on any AWIPS scale. The Auto SPE estimates are displayed in units of inches of precipitation that fell during the specified one hour period.\n\n\nManual SPEs\n are accessible through the Manual SPE submenu. You can access the Manual SPE submenu from the QPE submenu. Generation of these products requires substantial manual intervention by NESDIS personnel; consequently, these products are generated and distributed to AWIPS at variable frequencies, as significant precipitation events warrant (i.e., their frequency is variable). The duration (or valid period) of the Manual SPEs is also variable. Whereas the duration of Auto SPEs is always one hour, the duration of the Manual SPEs ranges from 1 to 12 hours. Furthermore, although each Manual SPE product is mapped to a CONUS grid, the area of analysis is usually regional (focusing on the significant precipitation event). Apart from these important differences, the Manual SPEs are very similar to the Auto SPEs.\n\n\n\n\n\n\n\n\nQPF\n: Displays QPF, which indicate how much precipitation will occur in a particular grid. QPFs, which are issued by the RFCs, display as contours by default. However, from the pop-up menu you can convert them to image form.\n\n\n\n\nRFC Flash Flood Guidance\n: Displays County and Zone Flash Flood Guidance (FFG) grids on any scale. The area for which the data is displayed is limited, but the site system manager may configure a larger area. In addition, 1h, 3h, and 6h mosaic RFC-generated FFG grids can be displayed for both local and other RFC locations.\n\n\n\n\nLocal Analyses/Statistical Guidance\n\uf0c1\n\n\nModel Output Statistical (MOS) plots derived from the MOS BUFR and Text Bulletins display forecast data for GFS MOS, GFS-Extended MOS, Eta MOS, and NGM MOS. The plots are accessed by selecting NGM or GFS-LAMP/MOS forecasts under the Local Analyses/Statistical Guidance option.",
"title": "NCEP/Hydro"
},
{
"location": "/cave/d2d-hydro/#spc",
"text": "Storm Prediction Center (SPC) Watches, Severe Weather Plots, SPC Convective Outlooks, and Fire Weather information. Severe Weather Plots are extracted from the STADTS and STAHRY text products and plotted to time-match the current display. The Severe Weather Plots data set in the NCEP/Hydro Menu can be interrogated (sampled) for more detailed information by clicking mouse Button 1 (B1) over a site.",
"title": "SPC"
},
{
"location": "/cave/d2d-hydro/#tpc",
"text": "Contains the hurricane submenu, which comprises graphic products that display the Marine/Tropical Cyclone Advisory (TCM), the Public Tropical Cyclone Advisory (TCP), hourly forecasts, and model guidance.",
"title": "TPC"
},
{
"location": "/cave/d2d-hydro/#hpc",
"text": "Contains 6-hour QPF (Quantitative Precipitation Forecast) data plus the submenus, described\nbelow, for Precipitation and Temps & Weather products. Precipitation Contains probabilities of daily precipitation, precipitation accumulation, and probabilities of daily snowfall. In addition, this submenu enables you to display QPF projections for 1 to 3 days in 6 hour increments, 4 to 5 days in 48 hour increments, and 1 to 5 days in 120 hour increments. The HPC Excessive Rainfall product consists of a contour graphic and image of the excessive rainfall for day 1 (with forecast times of 21, 24, 27, or 30 hours), and days 2 and 3 (both with forecast times of 48 and 72 hours). The HPC product will update the selected forecast cycle twice per day. Temps & Weather Contains daily Max/Min temperature anomalies, daily heat index\nprobabilities, and pressure and frontal analysis.",
"title": "HPC"
},
{
"location": "/cave/d2d-hydro/#mpc",
"text": "Contains the Marine Guidance submenu, which includes marine analyses and model guidance. Note that the Marine Prediction Center (MPC) is now called the Ocean Prediction Center (OPC).",
"title": "MPC"
},
{
"location": "/cave/d2d-hydro/#cpc",
"text": "Contains threat charts and outlook grids derived from these two submenus: Threat Charts Contains drought monitoring data, daily threats assessment, and daily heat index forecasts. Outlook Grids Contains temperature and precipitation probabilities.",
"title": "CPC"
},
{
"location": "/cave/d2d-hydro/#awc",
"text": "Contains CCFP (Collaborative Convective Forecast Product), an aviation product. Formerly located under the Aviation option on the Upper Air menu, CCFP is a strategic forecast of convection to guide traffic managers in their system-wide approach to managing traffic. The forecast suite consists of 3 forecast maps with selectable lead times (4, 6, and 8 hours). The forecasts are issued by the Aviation Weather Center (AWC) between March 1 and October 30, eleven times per day. CCFP is alpha-numeric information suitable for the graphical depiction of forecast areas of significant thunderstorms. The CCFP message covers the CONUS area, and includes information on the location of thunderstorm areas, and associated information such as storm tops, coverage, confidence, and direction/speed of movement.",
"title": "AWC"
},
{
"location": "/cave/d2d-hydro/#nco",
"text": "Contains Precip & Stability, Temps & Weather, National Centers model, NGM MOS (NGM-based MOS system), and the following Sounding-derived plots submenus. Precip & Stability : Contains precipitation, radar, and stability products. Temps & Weather : Contains Max/Min temperature, freezing level, weather depiction, and surface geostrophic wind and relative vorticity plots. National Centers Models : Contains model guidance from the National Centers Sounding-derived plots : Contains options to display model soundings (sometimes called \"BUFR soundings\" because they are packaged in BUFR format for transmission). These are soundings extracted directly from the model, including all levels not generated from the pressure-level grids used elsewhere in the system. Sounding Availability This option displays the sounding locations (shown with asterisks) available from the latest model run; typically these locations coincide with TAF (Terminal Aerodrome Forecast) locations. The plot will update with each model run. Because the sounding data is quite voluminous, only soundings over your State(s) scale are saved. Surface The Surface Plots, which mimic the METAR Surface Plots, are taken from the model-derived soundings and provide hourly forecast surface plots. Because you cannot see all forecast projections in a 32 frame loop (e.g., displaying the entire North American Model (NAM) or Global Forecasting System (GFS) run would require 61 frames), you will probably want to use the Time Options Tool (refer to Subsection 2.2.6.4) to view a subset of the forecast -- perhaps a continuous run of hours or every other hour for the whole run. Ceiling/Visibility The \"Ceil/Vis Plot\" shows weather (rain, frz rain, snow) on the right, a stack of three cloud layers above, and visibility below the METAR station. The cloud layers are defined as low (990mb-640mb), mid (640mb-350mb), and high (<350mb). Each cloud layer shows a coverage circle with clear, sct, bkn, and ovc options. Next to one of the circles, there may be a cloud base. The cloud base is sent as a pressure, but is plotted in hft MSL based on a Standard Atmosphere conversion. Because the cloud layers and the cloud base are generated from separate algorithms at NCEP (National Centers for Environmental Prediction), it is possible to have broken or overcast clouds indicated but no base; alternatively, the base may be shown with a high overcast, while ignoring a mid broken layer. Also, a cloud base is reported if convective precipitation is indicated, even for only 10-20% cloud cover. As a result, one can see a cloud base associated with scattered clouds. 1 Hr and 3 Hr Precip Amt This option shows hourly amounts for NAM and 3 hour intervals for GFS at each location. Cloud Layers This option displays the amount of low, middle, and high cloud cover, each as a standard sky coverage symbol, and weather type as a weather symbol.",
"title": "NCO"
},
{
"location": "/cave/d2d-hydro/#hydro",
"text": "Contains QPE, QPF, and RFC Flash Flood Guidance submenus. Hydro Applications, such as HydroView and MPE Editor, are loaded from the Perspectives dialog (Hydro and MPE, respectively) or from the HydroApps menu in the Hydro(View) Perspective (Hydrobase, RiverPro, XDAT, Forecast Service, River Monitor, Precip Monitor, SSHP, and Dam Catalog). QPE : Makes available mosaic images of RFC-generated Quantitative Precipitation Estimator (QPE) and the Multisensor Precipitation Estimator (MPE) grids, which are displayed using a 'truncated' grid color table that shows zero values in gray to let you see the limits of the site-specified domain. These mosaic images are generated by the RFCs in 1, 6, and 24 hour cycles. The MPE grids can be displayed as local contours or images. NESDIS produces two types of Satellite Precipitation Estimates (SPE) based on GOES (Geostationary Operational Environmental Satellite) imagery series: Auto SPEs and Manual SPEs. Auto SPEs, which can be displayed directly from the QPE submenu, are produced hourly based on the most recent one-hour series of IR GOES imagery. This product is displayable on any AWIPS scale. The Auto SPE estimates are displayed in units of inches of precipitation that fell during the specified one hour period. Manual SPEs are accessible through the Manual SPE submenu. You can access the Manual SPE submenu from the QPE submenu. Generation of these products requires substantial manual intervention by NESDIS personnel; consequently, these products are generated and distributed to AWIPS at variable frequencies, as significant precipitation events warrant (i.e., their frequency is variable). The duration (or valid period) of the Manual SPEs is also variable. Whereas the duration of Auto SPEs is always one hour, the duration of the Manual SPEs ranges from 1 to 12 hours. Furthermore, although each Manual SPE product is mapped to a CONUS grid, the area of analysis is usually regional (focusing on the significant precipitation event). Apart from these important differences, the Manual SPEs are very similar to the Auto SPEs. QPF : Displays QPF, which indicate how much precipitation will occur in a particular grid. QPFs, which are issued by the RFCs, display as contours by default. However, from the pop-up menu you can convert them to image form. RFC Flash Flood Guidance : Displays County and Zone Flash Flood Guidance (FFG) grids on any scale. The area for which the data is displayed is limited, but the site system manager may configure a larger area. In addition, 1h, 3h, and 6h mosaic RFC-generated FFG grids can be displayed for both local and other RFC locations.",
"title": "Hydro"
},
{
"location": "/cave/d2d-hydro/#local-analysesstatistical-guidance",
"text": "Model Output Statistical (MOS) plots derived from the MOS BUFR and Text Bulletins display forecast data for GFS MOS, GFS-Extended MOS, Eta MOS, and NGM MOS. The plots are accessed by selecting NGM or GFS-LAMP/MOS forecasts under the Local Analyses/Statistical Guidance option.",
"title": "Local Analyses/Statistical Guidance"
},
{
"location": "/cave/d2d-map-resources/",
"text": "These programs are accessible though the \nMaps\n dropdown menu.\n\n\n\n\nInterstates\n\n\nInterstates and US Highways\n\n\nWarning Areas (with station identifier)\n\n\nWSR-88D Station Locations",
"title": "Map Overlays"
},
{
"location": "/python/python-awips-data-access/",
"text": "The \npython-awips\n package provides a data access framework for requesting grid and geometry datasets from an EDEX server.\n\n\n\n\nFor a more detailed look at the python-awips package, refer to the \nfull documentation site\n which includes a number of \nplotting examples for different data types\n.\n\n\n\n\n\n\nInstall\n\uf0c1\n\n\npip install python-awips\n\n\n\n\n\nRequirements\n\uf0c1\n\n\n\n\nPython 2.7+\n\n\nNumpy 1.7+\n\n\nShapely 1.4+\n\n\nMetPy and enum34 to run Jupyter Notebook examples\n\n\n\n\n\n\nExample\n\uf0c1\n\n\nThis examples covers the callable methods of the Python AWIPS DAF when working with gridded data. We start with a connection to an EDEX server, then query data types, then grid names, parameters, levels, and other information. Finally the gridded data is plotted for its domain using Matplotlib and Cartopy.\n\n\nDataAccessLayer.changeEDEXHost()\n\uf0c1\n\n\nAfter DataAccessLayer is imported from the package \nawips.dataaccess\n, the first step is to define the EDEX data server hostname (\nedex-cloud.unidata.ucar.edu\n for these examples)\n\n\nfrom awips.dataaccess import DataAccessLayer\nDataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\n\n\n\n\nDataAccessLayer.getSupportedDatatypes()\n\uf0c1\n\n\ngetSupportedDatatypes() returns a list of available data types offered by the EDEX server defined above. \n\n\ndataTypes = DataAccessLayer.getSupportedDatatypes()\nlist(dataTypes)\n\n\n\n\n['acars',\n 'airep',\n 'binlightning',\n 'bufrmosavn',\n 'bufrmoseta',\n 'bufrmosgfs',\n 'bufrmoshpc',\n 'bufrmoslamp',\n 'bufrmosmrf',\n 'bufrua',\n 'climate',\n 'common_obs_spatial',\n 'ffmp',\n 'gfe',\n 'grid',\n 'hydro',\n 'maps',\n 'modelsounding',\n 'obs',\n 'pirep',\n 'practicewarning',\n 'profiler',\n 'radar',\n 'radar_spatial',\n 'satellite',\n 'sfcobs',\n 'topo',\n 'warning']\n\n\n\nDataAccessLayer.newDataRequest()\n\uf0c1\n\n\nNow create a new data request, and set the data type to \ngrid\n and \"locationName\" to \nRAP40\n with \nsetDataType()\n and \nsetLocationNames()\n\n\nrequest = DataAccessLayer.newDataRequest()\nrequest.setDatatype(\"grid\")\n\n\n\n\nDataAccessLayer.getAvailableLocationNames()\n\uf0c1\n\n\nWith datatype set to \"grid\", we can query all available grid names with \ngetAvailableLocationNames()\n\n\navailable_grids = DataAccessLayer.getAvailableLocationNames(request)\navailable_grids.sort()\nlist(available_grids)\n\n\n\n\n['CMC',\n 'EKDMOS',\n 'EKDMOS-AK',\n 'ESTOFS',\n 'ETSS',\n 'FFG-ALR',\n 'FFG-FWR',\n 'FFG-KRF',\n 'FFG-MSR',\n 'FFG-ORN',\n 'FFG-PTR',\n 'FFG-RHA',\n 'FFG-RSA',\n 'FFG-STR',\n 'FFG-TAR',\n 'FFG-TIR',\n 'FFG-TUA',\n 'FNMOC-FAROP',\n 'FNMOC-NCODA',\n 'FNMOC-WW3',\n 'FNMOC-WW3-Europe',\n 'GFS',\n 'GFS20',\n 'GFSLAMP5',\n 'GribModel:9:151:172',\n 'HFR-EAST_6KM',\n 'HFR-EAST_PR_6KM',\n 'HFR-US_EAST_DELAWARE_1KM',\n 'HFR-US_EAST_FLORIDA_2KM',\n 'HFR-US_EAST_NORTH_2KM',\n 'HFR-US_EAST_SOUTH_2KM',\n 'HFR-US_EAST_VIRGINIA_1KM',\n 'HFR-US_HAWAII_1KM',\n 'HFR-US_HAWAII_2KM',\n 'HFR-US_HAWAII_6KM',\n 'HFR-US_WEST_500M',\n 'HFR-US_WEST_CENCAL_2KM',\n 'HFR-US_WEST_LOSANGELES_1KM',\n 'HFR-US_WEST_LOSOSOS_1KM',\n 'HFR-US_WEST_NORTH_2KM',\n 'HFR-US_WEST_SANFRAN_1KM',\n 'HFR-US_WEST_SOCAL_2KM',\n 'HFR-US_WEST_WASHINGTON_1KM',\n 'HFR-WEST_6KM',\n 'HPCGuide',\n 'HPCqpf',\n 'HPCqpfNDFD',\n 'HRRR',\n 'LAMP2p5',\n 'MOSGuide',\n 'MPE-Local-ALR',\n 'MPE-Local-FWR',\n 'MPE-Local-MSR',\n 'MPE-Local-ORN',\n 'MPE-Local-RHA',\n 'MPE-Local-SJU',\n 'MPE-Local-STR',\n 'MPE-Local-TAR',\n 'MPE-Local-TIR',\n 'MPE-Mosaic-ALR',\n 'MPE-Mosaic-FWR',\n 'MPE-Mosaic-MSR',\n 'MPE-Mosaic-ORN',\n 'MPE-Mosaic-RHA',\n 'MPE-Mosaic-SJU',\n 'MPE-Mosaic-TAR',\n 'MPE-Mosaic-TIR',\n 'NAM12',\n 'NAM40',\n 'NAVGEM',\n 'NCWF',\n 'NDFD',\n 'NOHRSC-SNOW',\n 'NamDNG',\n 'PROB3HR',\n 'QPE-ALR',\n 'QPE-Auto-TUA',\n 'QPE-FWR',\n 'QPE-KRF',\n 'QPE-MSR',\n 'QPE-Manual-KRF',\n 'QPE-ORN',\n 'QPE-RFC-PTR',\n 'QPE-RFC-RSA',\n 'QPE-RFC-STR',\n 'QPE-TIR',\n 'QPE-TUA',\n 'QPE-XNAV-ALR',\n 'QPE-XNAV-FWR',\n 'QPE-XNAV-KRF',\n 'QPE-XNAV-MSR',\n 'QPE-XNAV-ORN',\n 'QPE-XNAV-SJU',\n 'QPE-XNAV-TAR',\n 'QPE-XNAV-TIR',\n 'QPE-XNAV-TUA',\n 'RAP13',\n 'RAP20',\n 'RAP40',\n 'RFCqpf',\n 'RTMA',\n 'RTOFS-Now-WestAtl',\n 'RTOFS-Now-WestConus',\n 'RTOFS-WestAtl',\n 'RTOFS-WestConus',\n 'SeaIce',\n 'TPCWindProb',\n 'UKMET-MODEL1',\n 'URMA25',\n 'WaveWatch']\n\n\n\nSet grid name with \nsetLocationNames()\n\uf0c1\n\n\nrequest.setLocationNames(\"RAP13\")\n\n\n\n\nList Available Parameters for a Grid\n\uf0c1\n\n\nDataAccessLayer.getAvailableParameters()\n\uf0c1\n\n\nAfter datatype and model name (locationName) are set, you can query all available parameters with \ngetAvailableParameters()\n\n\navailableParms = DataAccessLayer.getAvailableParameters(request)\navailableParms.sort()\nlist(availableParms)\n\n\n\n\n['0to5',\n '2xTP6hr',\n 'AV',\n 'Along',\n 'AppT',\n 'BLI',\n 'BlkMag',\n 'BlkShr',\n 'CAPE',\n 'CFRZR',\n 'CICEP',\n 'CIn',\n 'CP',\n 'CP1hr',\n 'CPr',\n 'CPrD',\n 'CRAIN',\n 'CSNOW',\n 'CURU',\n 'CXR',\n 'CapeStk',\n 'Corf',\n 'CorfF',\n 'CorfFM',\n 'CorfM',\n 'CritT1',\n 'DIABi',\n 'DivF',\n 'DivFn',\n 'DivFs',\n 'DpD',\n 'DpDt',\n 'DpT',\n 'Dpress',\n 'DthDt',\n 'EHI',\n 'EHI01',\n 'EHIi',\n 'EPT',\n 'EPTA',\n 'EPTC',\n 'EPTGrd',\n 'EPTGrdM',\n 'EPTs',\n 'EPVg',\n 'EPVs',\n 'EPVt1',\n 'EPVt2',\n 'FVecs',\n 'FeatMot',\n 'FnVecs',\n 'FsVecs',\n 'Fzra1',\n 'Fzra2',\n 'GH',\n 'GHxSM',\n 'GHxSM2',\n 'Gust',\n 'HI',\n 'HI1',\n 'HI3',\n 'HI4',\n 'HIdx',\n 'HPBL',\n 'Heli',\n 'Into',\n 'KI',\n 'L-I',\n 'LIsfc2x',\n 'LgSP1hr',\n 'MAdv',\n 'MCon',\n 'MCon2',\n 'MMSP',\n 'MSFDi',\n 'MSFi',\n 'MSFmi',\n 'MSG',\n 'MTV',\n 'Mix1',\n 'Mix2',\n 'Mmag',\n 'MnT',\n 'MpV',\n 'MxT',\n 'NBE',\n 'NetIO',\n 'OmDiff',\n 'P',\n 'PAdv',\n 'PBE',\n 'PFrnt',\n 'PGrd',\n 'PGrd1',\n 'PGrdM',\n 'PIVA',\n 'PR',\n 'PTvA',\n 'PTyp',\n 'PVV',\n 'PW',\n 'PW2',\n 'PoT',\n 'PoTA',\n 'QPV1',\n 'QPV2',\n 'QPV3',\n 'QPV4',\n 'REFC',\n 'RH',\n 'RH_001_bin',\n 'RH_002_bin',\n 'RM5',\n 'RMGH2',\n 'RRtype',\n 'RV',\n 'Rain1',\n 'Rain2',\n 'Rain3',\n 'Ro',\n 'SH',\n 'SHx',\n 'SLI',\n 'SNW',\n 'SNWA',\n 'SRMm',\n 'SRMmM',\n 'SSi',\n 'Shear',\n 'ShrMag',\n 'SnD',\n 'Snow1',\n 'Snow2',\n 'Snow3',\n 'SnowT',\n 'St-Pr',\n 'St-Pr1hr',\n 'StrTP',\n 'StrmMot',\n 'T',\n 'TAdv',\n 'TGrd',\n 'TGrdM',\n 'TP',\n 'TP12hr',\n 'TP168hr',\n 'TP1hr',\n 'TP24hr',\n 'TP36hr',\n 'TP3hr',\n 'TP48hr',\n 'TP6hr',\n 'TP72hr',\n 'TPrun',\n 'TPx12x6',\n 'TPx1x3',\n 'TQIND',\n 'TV',\n 'TW',\n 'T_001_bin',\n 'Tdef',\n 'Tdend',\n 'ThGrd',\n 'TmDpD',\n 'Tmax',\n 'Tmin',\n 'TotQi',\n 'Tstk',\n 'TwMax',\n 'TwMin',\n 'Twstk',\n 'TxSM',\n 'USTM',\n 'VAdv',\n 'VAdvAdvection',\n 'VSTM',\n 'Vis',\n 'WD',\n 'WEASD',\n 'WEASD1hr',\n 'WGS',\n 'Wind',\n 'WndChl',\n 'ageoVC',\n 'ageoW',\n 'ageoWM',\n 'cCape',\n 'cCin',\n 'cTOT',\n 'capeToLvl',\n 'dCape',\n 'dGH12',\n 'dP',\n 'dP1hr',\n 'dP3hr',\n 'dP6hr',\n 'dPW1hr',\n 'dPW3hr',\n 'dPW6hr',\n 'dT',\n 'dVAdv',\n 'dZ',\n 'defV',\n 'del2gH',\n 'df',\n 'fGen',\n 'fnD',\n 'fsD',\n 'gamma',\n 'gammaE',\n 'geoVort',\n 'geoW',\n 'geoWM',\n 'mixRat',\n 'msl-P',\n 'muCape',\n 'pV',\n 'pVeq',\n 'qDiv',\n 'qVec',\n 'qnVec',\n 'qsVec',\n 'shWlt',\n 'snoRatCrocus',\n 'snoRatEMCSREF',\n 'snoRatSPC',\n 'snoRatSPCdeep',\n 'snoRatSPCsurface',\n 'swtIdx',\n 'tTOT',\n 'tWind',\n 'tWindU',\n 'tWindV',\n 'uFX',\n 'uW',\n 'vSmthW',\n 'vTOT',\n 'vW',\n 'vertCirc',\n 'wDiv',\n 'wSp',\n 'wSp_001_bin',\n 'wSp_002_bin',\n 'wSp_003_bin',\n 'wSp_004_bin',\n 'zAGL']\n\n\n\nsetParameters()\n\uf0c1\n\n\nset the request parameter\n\n\nrequest.setParameters(\"T\")\n\n\n\n\nList Available Levels for Parameter\n\uf0c1\n\n\nUsing \nDataAccessLayer.getAvailableLevels()\n\n\navailableLevels = DataAccessLayer.getAvailableLevels(request)\nfor level in availableLevels:\n print(level)\n\n\n\n\n0.0SFC\n350.0MB\n475.0MB\n225.0MB\n120.0_150.0BL\n900.0MB\n125.0MB\n450.0MB\n575.0MB\n325.0MB\n100.0MB\n1000.0MB\n60.0_90.0BL\n275.0MB\n1.0PV\n950.0MB\n150.0MB\n1.5PV\n700.0MB\n825.0MB\n150.0_180.0BL\n250.0MB\n375.0MB\n1000.0_500.0MB\n800.0MB\n925.0MB\n2.0PV\n0.5PV\n0.0TROP\n750.0MB\n500.0MB\n625.0MB\n400.0MB\n0.0FHAG\n2.0FHAG\n875.0MB\n175.0MB\n850.0MB\n600.0MB\n725.0MB\n975.0MB\n550.0MB\n675.0MB\n425.0MB\n200.0MB\n0.0_30.0BL\n30.0_60.0BL\n650.0MB\n525.0MB\n300.0MB\n90.0_120.0BL\n775.0MB\n0.0TILT\n0.5TILT\n340.0_350.0K\n290.0_300.0K\n700.0_600.0MB\n700.0_300.0MB\n320.0Ke\n800.0_750.0MB\n60.0TILT\n5.3TILT\n1000.0_900.0MB\n340.0K\n255.0K\n255.0_265.0K\n25.0TILT\n1000.0_850.0MB\n850.0_250.0MB\n280.0_290.0Ke\n320.0_330.0K\n310.0_320.0Ke\n310.0Ke\n330.0K\n900.0_800.0MB\n550.0_500.0MB\n2.4TILT\n50.0TILT\n35.0TILT\n12.0TILT\n300.0_310.0K\n0.9TILT\n320.0K\n400.0_350.0MB\n750.0_700.0MB\n345.0K\n250.0_260.0K\n300.0Ke\n290.0Ke\n950.0_900.0MB\n275.0_285.0Ke\n335.0Ke\n295.0_305.0Ke\n275.0_285.0K\n600.0_550.0MB\n310.0K\n335.0K\n700.0_500.0MB\n325.0_335.0K\n300.0K\n0.0MAXOMEGA\n315.0_325.0K\n325.0K\n340.0Ke\n300.0_250.0MB\n1.5TILT\n335.0_345.0K\n315.0K\n3.4TILT\n330.0Ke\n500.0_400.0MB\n305.0K\n285.0_295.0Ke\n14.0TILT\n325.0_335.0Ke\n850.0_800.0MB\n295.0Ke\n305.0Ke\n265.0_275.0K\n700.0_650.0MB\n450.0_400.0MB\n1.8TILT\n330.0_340.0K\n800.0_700.0MB\n850.0_300.0MB\n6.0TILT\n900.0_850.0MB\n320.0_330.0Ke\n8.7TILT\n650.0_600.0MB\n600.0_400.0MB\n55.0TILT\n270.0_280.0Ke\n30.0TILT\n310.0_320.0K\n1000.0_950.0MB\n250.0_200.0MB\n400.0_300.0MB\n500.0_100.0MB\n285.0Ke\n290.0K\n305.0_315.0K\n285.0_295.0K\n925.0_850.0MB\n275.0Ke\n300.0_200.0MB\n260.0_270.0K\n315.0_325.0Ke\n600.0_500.0MB\n16.7TILT\n280.0K\n500.0_250.0MB\n40.0TILT\n400.0_200.0MB\n300.0_310.0Ke\n270.0_280.0K\n1000.0_700.0MB\n45.0TILT\n850.0_500.0MB\n295.0K\n4.3TILT\n295.0_305.0K\n330.0_340.0Ke\n270.0K\n280.0_290.0K\n925.0_700.0MB\n260.0K\n10.0TILT\n325.0Ke\n285.0K\n290.0_300.0Ke\n7.5TILT\n280.0Ke\n500.0_450.0MB\n305.0_315.0Ke\n250.0K\n250.0_350.0K\n270.0Ke\n275.0K\n315.0Ke\n500.0_300.0MB\n350.0_300.0MB\n19.5TILT\n850.0_700.0MB\n350.0K\n265.0K\n0.0_0.0SFC\n\n\n\n\n\n0.0SFC\n is the Surface level\n\n\nFHAG\n stands for Fixed Height Above Ground (in meters)\n\n\nNTAT\n stands for Nominal Top of the ATmosphere\n\n\nBL\n stands for Boundary Layer, where \n0.0_30.0BL\n reads as \n0-30 mb above ground level\n \n\n\nTROP\n is the Tropopause level\n\n\n\n\nrequest.setLevels()\n\uf0c1\n\n\nFor this example we will use Surface Temperature\n\n\nrequest.setLevels(\"2.0FHAG\")\n\n\n\n\nDataAccessLayer.getAvailableTimes()\n\uf0c1\n\n\n\n\ngetAvailableTimes(request, True)\n will return an object of \nrun times\n - formatted as \nYYYY-MM-DD HH:MM:SS\n\n\ngetAvailableTimes(request)\n will return an object of all times - formatted as \nYYYY-MM-DD HH:MM:SS (F:ff)\n\n\ngetForecastRun(cycle, times)\n will return a DataTime array for a single forecast cycle.\n\n\n\n\nRequest a Grid\n\uf0c1\n\n\nDataAccessLayer.getGridData()\n\uf0c1\n\n\nNow that we have our \nrequest\n and DataTime \nfcstRun\n arrays ready, it's time to request the data array from EDEX.\n\n\ncycles = DataAccessLayer.getAvailableTimes(request, True)\ntimes = DataAccessLayer.getAvailableTimes(request)\nfcstRun = DataAccessLayer.getForecastRun(cycles[-1], times)\n\nresponse = DataAccessLayer.getGridData(request, [fcstRun[-1]])\n\n\n\n\nfor grid in response:\n data = grid.getRawData()\n lons, lats = grid.getLatLonCoords()\n print('Time :', str(grid.getDataTime()))\n\nprint('Model:', str(grid.getLocationName()))\nprint('Parm :', str(grid.getParameter()))\nprint('Unit :', str(grid.getUnit()))\nprint(data.shape)\nprint(data.min(), data.max())\n\n\n\n\n('Time :', '2017-08-14 14:00:00 (21)')\n('Model:', 'RAP13')\n('Parm :', 'T')\n('Unit :', 'K')\n(337, 451)\n(271.21939, 306.71939)",
"title": "Overview"
},
{
"location": "/python/python-awips-data-access/#install",
"text": "pip install python-awips",
"title": "Install"
},
{
"location": "/python/python-awips-data-access/#requirements",
"text": "Python 2.7+ Numpy 1.7+ Shapely 1.4+ MetPy and enum34 to run Jupyter Notebook examples",
"title": "Requirements"
},
{
"location": "/python/python-awips-data-access/#example",
"text": "This examples covers the callable methods of the Python AWIPS DAF when working with gridded data. We start with a connection to an EDEX server, then query data types, then grid names, parameters, levels, and other information. Finally the gridded data is plotted for its domain using Matplotlib and Cartopy.",
"title": "Example"
},
{
"location": "/python/python-awips-data-access/#dataaccesslayerchangeedexhost",
"text": "After DataAccessLayer is imported from the package awips.dataaccess , the first step is to define the EDEX data server hostname ( edex-cloud.unidata.ucar.edu for these examples) from awips.dataaccess import DataAccessLayer\nDataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")",
"title": "DataAccessLayer.changeEDEXHost()"
},
{
"location": "/python/python-awips-data-access/#dataaccesslayergetsupporteddatatypes",
"text": "getSupportedDatatypes() returns a list of available data types offered by the EDEX server defined above. dataTypes = DataAccessLayer.getSupportedDatatypes()\nlist(dataTypes) ['acars',\n 'airep',\n 'binlightning',\n 'bufrmosavn',\n 'bufrmoseta',\n 'bufrmosgfs',\n 'bufrmoshpc',\n 'bufrmoslamp',\n 'bufrmosmrf',\n 'bufrua',\n 'climate',\n 'common_obs_spatial',\n 'ffmp',\n 'gfe',\n 'grid',\n 'hydro',\n 'maps',\n 'modelsounding',\n 'obs',\n 'pirep',\n 'practicewarning',\n 'profiler',\n 'radar',\n 'radar_spatial',\n 'satellite',\n 'sfcobs',\n 'topo',\n 'warning']",
"title": "DataAccessLayer.getSupportedDatatypes()"
},
{
"location": "/python/python-awips-data-access/#dataaccesslayernewdatarequest",
"text": "Now create a new data request, and set the data type to grid and \"locationName\" to RAP40 with setDataType() and setLocationNames() request = DataAccessLayer.newDataRequest()\nrequest.setDatatype(\"grid\")",
"title": "DataAccessLayer.newDataRequest()"
},
{
"location": "/python/python-awips-data-access/#dataaccesslayergetavailablelocationnames",
"text": "With datatype set to \"grid\", we can query all available grid names with getAvailableLocationNames() available_grids = DataAccessLayer.getAvailableLocationNames(request)\navailable_grids.sort()\nlist(available_grids) ['CMC',\n 'EKDMOS',\n 'EKDMOS-AK',\n 'ESTOFS',\n 'ETSS',\n 'FFG-ALR',\n 'FFG-FWR',\n 'FFG-KRF',\n 'FFG-MSR',\n 'FFG-ORN',\n 'FFG-PTR',\n 'FFG-RHA',\n 'FFG-RSA',\n 'FFG-STR',\n 'FFG-TAR',\n 'FFG-TIR',\n 'FFG-TUA',\n 'FNMOC-FAROP',\n 'FNMOC-NCODA',\n 'FNMOC-WW3',\n 'FNMOC-WW3-Europe',\n 'GFS',\n 'GFS20',\n 'GFSLAMP5',\n 'GribModel:9:151:172',\n 'HFR-EAST_6KM',\n 'HFR-EAST_PR_6KM',\n 'HFR-US_EAST_DELAWARE_1KM',\n 'HFR-US_EAST_FLORIDA_2KM',\n 'HFR-US_EAST_NORTH_2KM',\n 'HFR-US_EAST_SOUTH_2KM',\n 'HFR-US_EAST_VIRGINIA_1KM',\n 'HFR-US_HAWAII_1KM',\n 'HFR-US_HAWAII_2KM',\n 'HFR-US_HAWAII_6KM',\n 'HFR-US_WEST_500M',\n 'HFR-US_WEST_CENCAL_2KM',\n 'HFR-US_WEST_LOSANGELES_1KM',\n 'HFR-US_WEST_LOSOSOS_1KM',\n 'HFR-US_WEST_NORTH_2KM',\n 'HFR-US_WEST_SANFRAN_1KM',\n 'HFR-US_WEST_SOCAL_2KM',\n 'HFR-US_WEST_WASHINGTON_1KM',\n 'HFR-WEST_6KM',\n 'HPCGuide',\n 'HPCqpf',\n 'HPCqpfNDFD',\n 'HRRR',\n 'LAMP2p5',\n 'MOSGuide',\n 'MPE-Local-ALR',\n 'MPE-Local-FWR',\n 'MPE-Local-MSR',\n 'MPE-Local-ORN',\n 'MPE-Local-RHA',\n 'MPE-Local-SJU',\n 'MPE-Local-STR',\n 'MPE-Local-TAR',\n 'MPE-Local-TIR',\n 'MPE-Mosaic-ALR',\n 'MPE-Mosaic-FWR',\n 'MPE-Mosaic-MSR',\n 'MPE-Mosaic-ORN',\n 'MPE-Mosaic-RHA',\n 'MPE-Mosaic-SJU',\n 'MPE-Mosaic-TAR',\n 'MPE-Mosaic-TIR',\n 'NAM12',\n 'NAM40',\n 'NAVGEM',\n 'NCWF',\n 'NDFD',\n 'NOHRSC-SNOW',\n 'NamDNG',\n 'PROB3HR',\n 'QPE-ALR',\n 'QPE-Auto-TUA',\n 'QPE-FWR',\n 'QPE-KRF',\n 'QPE-MSR',\n 'QPE-Manual-KRF',\n 'QPE-ORN',\n 'QPE-RFC-PTR',\n 'QPE-RFC-RSA',\n 'QPE-RFC-STR',\n 'QPE-TIR',\n 'QPE-TUA',\n 'QPE-XNAV-ALR',\n 'QPE-XNAV-FWR',\n 'QPE-XNAV-KRF',\n 'QPE-XNAV-MSR',\n 'QPE-XNAV-ORN',\n 'QPE-XNAV-SJU',\n 'QPE-XNAV-TAR',\n 'QPE-XNAV-TIR',\n 'QPE-XNAV-TUA',\n 'RAP13',\n 'RAP20',\n 'RAP40',\n 'RFCqpf',\n 'RTMA',\n 'RTOFS-Now-WestAtl',\n 'RTOFS-Now-WestConus',\n 'RTOFS-WestAtl',\n 'RTOFS-WestConus',\n 'SeaIce',\n 'TPCWindProb',\n 'UKMET-MODEL1',\n 'URMA25',\n 'WaveWatch']",
"title": "DataAccessLayer.getAvailableLocationNames()"
},
{
"location": "/python/python-awips-data-access/#set-grid-name-with-setlocationnames",
"text": "request.setLocationNames(\"RAP13\")",
"title": "Set grid name with setLocationNames()"
},
{
"location": "/python/python-awips-data-access/#list-available-parameters-for-a-grid",
"text": "",
"title": "List Available Parameters for a Grid"
},
{
"location": "/python/python-awips-data-access/#dataaccesslayergetavailableparameters",
"text": "After datatype and model name (locationName) are set, you can query all available parameters with getAvailableParameters() availableParms = DataAccessLayer.getAvailableParameters(request)\navailableParms.sort()\nlist(availableParms) ['0to5',\n '2xTP6hr',\n 'AV',\n 'Along',\n 'AppT',\n 'BLI',\n 'BlkMag',\n 'BlkShr',\n 'CAPE',\n 'CFRZR',\n 'CICEP',\n 'CIn',\n 'CP',\n 'CP1hr',\n 'CPr',\n 'CPrD',\n 'CRAIN',\n 'CSNOW',\n 'CURU',\n 'CXR',\n 'CapeStk',\n 'Corf',\n 'CorfF',\n 'CorfFM',\n 'CorfM',\n 'CritT1',\n 'DIABi',\n 'DivF',\n 'DivFn',\n 'DivFs',\n 'DpD',\n 'DpDt',\n 'DpT',\n 'Dpress',\n 'DthDt',\n 'EHI',\n 'EHI01',\n 'EHIi',\n 'EPT',\n 'EPTA',\n 'EPTC',\n 'EPTGrd',\n 'EPTGrdM',\n 'EPTs',\n 'EPVg',\n 'EPVs',\n 'EPVt1',\n 'EPVt2',\n 'FVecs',\n 'FeatMot',\n 'FnVecs',\n 'FsVecs',\n 'Fzra1',\n 'Fzra2',\n 'GH',\n 'GHxSM',\n 'GHxSM2',\n 'Gust',\n 'HI',\n 'HI1',\n 'HI3',\n 'HI4',\n 'HIdx',\n 'HPBL',\n 'Heli',\n 'Into',\n 'KI',\n 'L-I',\n 'LIsfc2x',\n 'LgSP1hr',\n 'MAdv',\n 'MCon',\n 'MCon2',\n 'MMSP',\n 'MSFDi',\n 'MSFi',\n 'MSFmi',\n 'MSG',\n 'MTV',\n 'Mix1',\n 'Mix2',\n 'Mmag',\n 'MnT',\n 'MpV',\n 'MxT',\n 'NBE',\n 'NetIO',\n 'OmDiff',\n 'P',\n 'PAdv',\n 'PBE',\n 'PFrnt',\n 'PGrd',\n 'PGrd1',\n 'PGrdM',\n 'PIVA',\n 'PR',\n 'PTvA',\n 'PTyp',\n 'PVV',\n 'PW',\n 'PW2',\n 'PoT',\n 'PoTA',\n 'QPV1',\n 'QPV2',\n 'QPV3',\n 'QPV4',\n 'REFC',\n 'RH',\n 'RH_001_bin',\n 'RH_002_bin',\n 'RM5',\n 'RMGH2',\n 'RRtype',\n 'RV',\n 'Rain1',\n 'Rain2',\n 'Rain3',\n 'Ro',\n 'SH',\n 'SHx',\n 'SLI',\n 'SNW',\n 'SNWA',\n 'SRMm',\n 'SRMmM',\n 'SSi',\n 'Shear',\n 'ShrMag',\n 'SnD',\n 'Snow1',\n 'Snow2',\n 'Snow3',\n 'SnowT',\n 'St-Pr',\n 'St-Pr1hr',\n 'StrTP',\n 'StrmMot',\n 'T',\n 'TAdv',\n 'TGrd',\n 'TGrdM',\n 'TP',\n 'TP12hr',\n 'TP168hr',\n 'TP1hr',\n 'TP24hr',\n 'TP36hr',\n 'TP3hr',\n 'TP48hr',\n 'TP6hr',\n 'TP72hr',\n 'TPrun',\n 'TPx12x6',\n 'TPx1x3',\n 'TQIND',\n 'TV',\n 'TW',\n 'T_001_bin',\n 'Tdef',\n 'Tdend',\n 'ThGrd',\n 'TmDpD',\n 'Tmax',\n 'Tmin',\n 'TotQi',\n 'Tstk',\n 'TwMax',\n 'TwMin',\n 'Twstk',\n 'TxSM',\n 'USTM',\n 'VAdv',\n 'VAdvAdvection',\n 'VSTM',\n 'Vis',\n 'WD',\n 'WEASD',\n 'WEASD1hr',\n 'WGS',\n 'Wind',\n 'WndChl',\n 'ageoVC',\n 'ageoW',\n 'ageoWM',\n 'cCape',\n 'cCin',\n 'cTOT',\n 'capeToLvl',\n 'dCape',\n 'dGH12',\n 'dP',\n 'dP1hr',\n 'dP3hr',\n 'dP6hr',\n 'dPW1hr',\n 'dPW3hr',\n 'dPW6hr',\n 'dT',\n 'dVAdv',\n 'dZ',\n 'defV',\n 'del2gH',\n 'df',\n 'fGen',\n 'fnD',\n 'fsD',\n 'gamma',\n 'gammaE',\n 'geoVort',\n 'geoW',\n 'geoWM',\n 'mixRat',\n 'msl-P',\n 'muCape',\n 'pV',\n 'pVeq',\n 'qDiv',\n 'qVec',\n 'qnVec',\n 'qsVec',\n 'shWlt',\n 'snoRatCrocus',\n 'snoRatEMCSREF',\n 'snoRatSPC',\n 'snoRatSPCdeep',\n 'snoRatSPCsurface',\n 'swtIdx',\n 'tTOT',\n 'tWind',\n 'tWindU',\n 'tWindV',\n 'uFX',\n 'uW',\n 'vSmthW',\n 'vTOT',\n 'vW',\n 'vertCirc',\n 'wDiv',\n 'wSp',\n 'wSp_001_bin',\n 'wSp_002_bin',\n 'wSp_003_bin',\n 'wSp_004_bin',\n 'zAGL']",
"title": "DataAccessLayer.getAvailableParameters()"
},
{
"location": "/python/python-awips-data-access/#setparameters",
"text": "set the request parameter request.setParameters(\"T\")",
"title": "setParameters()"
},
{
"location": "/python/python-awips-data-access/#list-available-levels-for-parameter",
"text": "Using DataAccessLayer.getAvailableLevels() availableLevels = DataAccessLayer.getAvailableLevels(request)\nfor level in availableLevels:\n print(level) 0.0SFC\n350.0MB\n475.0MB\n225.0MB\n120.0_150.0BL\n900.0MB\n125.0MB\n450.0MB\n575.0MB\n325.0MB\n100.0MB\n1000.0MB\n60.0_90.0BL\n275.0MB\n1.0PV\n950.0MB\n150.0MB\n1.5PV\n700.0MB\n825.0MB\n150.0_180.0BL\n250.0MB\n375.0MB\n1000.0_500.0MB\n800.0MB\n925.0MB\n2.0PV\n0.5PV\n0.0TROP\n750.0MB\n500.0MB\n625.0MB\n400.0MB\n0.0FHAG\n2.0FHAG\n875.0MB\n175.0MB\n850.0MB\n600.0MB\n725.0MB\n975.0MB\n550.0MB\n675.0MB\n425.0MB\n200.0MB\n0.0_30.0BL\n30.0_60.0BL\n650.0MB\n525.0MB\n300.0MB\n90.0_120.0BL\n775.0MB\n0.0TILT\n0.5TILT\n340.0_350.0K\n290.0_300.0K\n700.0_600.0MB\n700.0_300.0MB\n320.0Ke\n800.0_750.0MB\n60.0TILT\n5.3TILT\n1000.0_900.0MB\n340.0K\n255.0K\n255.0_265.0K\n25.0TILT\n1000.0_850.0MB\n850.0_250.0MB\n280.0_290.0Ke\n320.0_330.0K\n310.0_320.0Ke\n310.0Ke\n330.0K\n900.0_800.0MB\n550.0_500.0MB\n2.4TILT\n50.0TILT\n35.0TILT\n12.0TILT\n300.0_310.0K\n0.9TILT\n320.0K\n400.0_350.0MB\n750.0_700.0MB\n345.0K\n250.0_260.0K\n300.0Ke\n290.0Ke\n950.0_900.0MB\n275.0_285.0Ke\n335.0Ke\n295.0_305.0Ke\n275.0_285.0K\n600.0_550.0MB\n310.0K\n335.0K\n700.0_500.0MB\n325.0_335.0K\n300.0K\n0.0MAXOMEGA\n315.0_325.0K\n325.0K\n340.0Ke\n300.0_250.0MB\n1.5TILT\n335.0_345.0K\n315.0K\n3.4TILT\n330.0Ke\n500.0_400.0MB\n305.0K\n285.0_295.0Ke\n14.0TILT\n325.0_335.0Ke\n850.0_800.0MB\n295.0Ke\n305.0Ke\n265.0_275.0K\n700.0_650.0MB\n450.0_400.0MB\n1.8TILT\n330.0_340.0K\n800.0_700.0MB\n850.0_300.0MB\n6.0TILT\n900.0_850.0MB\n320.0_330.0Ke\n8.7TILT\n650.0_600.0MB\n600.0_400.0MB\n55.0TILT\n270.0_280.0Ke\n30.0TILT\n310.0_320.0K\n1000.0_950.0MB\n250.0_200.0MB\n400.0_300.0MB\n500.0_100.0MB\n285.0Ke\n290.0K\n305.0_315.0K\n285.0_295.0K\n925.0_850.0MB\n275.0Ke\n300.0_200.0MB\n260.0_270.0K\n315.0_325.0Ke\n600.0_500.0MB\n16.7TILT\n280.0K\n500.0_250.0MB\n40.0TILT\n400.0_200.0MB\n300.0_310.0Ke\n270.0_280.0K\n1000.0_700.0MB\n45.0TILT\n850.0_500.0MB\n295.0K\n4.3TILT\n295.0_305.0K\n330.0_340.0Ke\n270.0K\n280.0_290.0K\n925.0_700.0MB\n260.0K\n10.0TILT\n325.0Ke\n285.0K\n290.0_300.0Ke\n7.5TILT\n280.0Ke\n500.0_450.0MB\n305.0_315.0Ke\n250.0K\n250.0_350.0K\n270.0Ke\n275.0K\n315.0Ke\n500.0_300.0MB\n350.0_300.0MB\n19.5TILT\n850.0_700.0MB\n350.0K\n265.0K\n0.0_0.0SFC 0.0SFC is the Surface level FHAG stands for Fixed Height Above Ground (in meters) NTAT stands for Nominal Top of the ATmosphere BL stands for Boundary Layer, where 0.0_30.0BL reads as 0-30 mb above ground level TROP is the Tropopause level",
"title": "List Available Levels for Parameter"
},
{
"location": "/python/python-awips-data-access/#requestsetlevels",
"text": "For this example we will use Surface Temperature request.setLevels(\"2.0FHAG\")",
"title": "request.setLevels()"
},
{
"location": "/python/python-awips-data-access/#dataaccesslayergetavailabletimes",
"text": "getAvailableTimes(request, True) will return an object of run times - formatted as YYYY-MM-DD HH:MM:SS getAvailableTimes(request) will return an object of all times - formatted as YYYY-MM-DD HH:MM:SS (F:ff) getForecastRun(cycle, times) will return a DataTime array for a single forecast cycle.",
"title": "DataAccessLayer.getAvailableTimes()"
},
{
"location": "/python/python-awips-data-access/#request-a-grid",
"text": "",
"title": "Request a Grid"
},
{
"location": "/python/python-awips-data-access/#dataaccesslayergetgriddata",
"text": "Now that we have our request and DataTime fcstRun arrays ready, it's time to request the data array from EDEX. cycles = DataAccessLayer.getAvailableTimes(request, True)\ntimes = DataAccessLayer.getAvailableTimes(request)\nfcstRun = DataAccessLayer.getForecastRun(cycles[-1], times)\n\nresponse = DataAccessLayer.getGridData(request, [fcstRun[-1]]) for grid in response:\n data = grid.getRawData()\n lons, lats = grid.getLatLonCoords()\n print('Time :', str(grid.getDataTime()))\n\nprint('Model:', str(grid.getLocationName()))\nprint('Parm :', str(grid.getParameter()))\nprint('Unit :', str(grid.getUnit()))\nprint(data.shape)\nprint(data.min(), data.max()) ('Time :', '2017-08-14 14:00:00 (21)')\n('Model:', 'RAP13')\n('Parm :', 'T')\n('Unit :', 'K')\n(337, 451)\n(271.21939, 306.71939)",
"title": "DataAccessLayer.getGridData()"
},
{
"location": "/python/maps-database/",
"text": "mapdata.airport\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\narpt_id\n\n\ncharacter varying(4)\n\n\n\n\n\n\nname\n\n\ncharacter varying(42)\n\n\n\n\n\n\ncity\n\n\ncharacter varying(40)\n\n\n\n\n\n\nstate\n\n\ncharacter varying(2)\n\n\n\n\n\n\nsiteno\n\n\ncharacter varying(9)\n\n\n\n\n\n\nsite_type\n\n\ncharacter varying(1)\n\n\n\n\n\n\nfac_use\n\n\ncharacter varying(2)\n\n\n\n\n\n\nowner_type\n\n\ncharacter varying(2)\n\n\n\n\n\n\nelv\n\n\ninteger\n\n\n\n\n\n\nlatitude\n\n\ncharacter varying(16)\n\n\n\n\n\n\nlongitude\n\n\ncharacter varying(16)\n\n\n\n\n\n\nlon\n\n\ndouble precision\n\n\n\n\n\n\nlat\n\n\ndouble precision\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(Point,4326)\n\n\n\n\n\n\n\n\nok\n\n\nmapdata.allrivers\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nihabbsrf_i\n\n\ndouble precision\n\n\n\n\n\n\nrr\n\n\ncharacter varying(11)\n\n\n\n\n\n\nhuc\n\n\ninteger\n\n\n\n\n\n\ntype\n\n\ncharacter varying(1)\n\n\n\n\n\n\npmile\n\n\ndouble precision\n\n\n\n\n\n\npname\n\n\ncharacter varying(30)\n\n\n\n\n\n\nowname\n\n\ncharacter varying(30)\n\n\n\n\n\n\npnmcd\n\n\ncharacter varying(11)\n\n\n\n\n\n\nownmcd\n\n\ncharacter varying(11)\n\n\n\n\n\n\ndsrr\n\n\ndouble precision\n\n\n\n\n\n\ndshuc\n\n\ninteger\n\n\n\n\n\n\nusdir\n\n\ncharacter varying(1)\n\n\n\n\n\n\nlev\n\n\nsmallint\n\n\n\n\n\n\nj\n\n\nsmallint\n\n\n\n\n\n\ntermid\n\n\ninteger\n\n\n\n\n\n\ntrmblv\n\n\nsmallint\n\n\n\n\n\n\nk\n\n\nsmallint\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiLineString,4326)\n\n\n\n\n\n\n\n\nmapdata.artcc\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nartcc\n\n\ncharacter varying(4)\n\n\n\n\n\n\nalt\n\n\ncharacter varying(1)\n\n\n\n\n\n\nname\n\n\ncharacter varying(30)\n\n\n\n\n\n\ntype\n\n\ncharacter varying(5)\n\n\n\n\n\n\ncity\n\n\ncharacter varying(40)\n\n\n\n\n\n\nid\n\n\ndouble precision\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.basins\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nrfc\n\n\ncharacter varying(7)\n\n\n\n\n\n\ncwa\n\n\ncharacter varying(5)\n\n\n\n\n\n\nid\n\n\ncharacter varying(8)\n\n\n\n\n\n\nname\n\n\ncharacter varying(64)\n\n\n\n\n\n\nlon\n\n\ndouble precision\n\n\n\n\n\n\nlat\n\n\ndouble precision\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\nthe_geom_0\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\nthe_geom_0_064\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\nthe_geom_0_016\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\nthe_geom_0_004\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\nthe_geom_0_001\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.canada\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nf_code\n\n\ncharacter varying(5)\n\n\n\n\n\n\nname_en\n\n\ncharacter varying(25)\n\n\n\n\n\n\nnom_fr\n\n\ncharacter varying(25)\n\n\n\n\n\n\ncountry\n\n\ncharacter varying(3)\n\n\n\n\n\n\ncgns_fid\n\n\ncharacter varying(32)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.city\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nst_fips\n\n\ncharacter varying(4)\n\n\n\n\n\n\nsfips\n\n\ncharacter varying(2)\n\n\n\n\n\n\ncounty_fip\n\n\ncharacter varying(4)\n\n\n\n\n\n\ncfips\n\n\ncharacter varying(4)\n\n\n\n\n\n\npl_fips\n\n\ncharacter varying(7)\n\n\n\n\n\n\nid\n\n\ncharacter varying(20)\n\n\n\n\n\n\nname\n\n\ncharacter varying(39)\n\n\n\n\n\n\nelevation\n\n\ncharacter varying(60)\n\n\n\n\n\n\npop_1990\n\n\nnumeric\n\n\n\n\n\n\npopulation\n\n\ncharacter varying(30)\n\n\n\n\n\n\nst\n\n\ncharacter varying(6)\n\n\n\n\n\n\nwarngenlev\n\n\ncharacter varying(16)\n\n\n\n\n\n\nwarngentyp\n\n\ncharacter varying(16)\n\n\n\n\n\n\nwatch_warn\n\n\ncharacter varying(3)\n\n\n\n\n\n\nzwatch_war\n\n\ndouble precision\n\n\n\n\n\n\nprog_disc\n\n\ninteger\n\n\n\n\n\n\nzprog_disc\n\n\ndouble precision\n\n\n\n\n\n\ncomboflag\n\n\ndouble precision\n\n\n\n\n\n\nland_water\n\n\ncharacter varying(16)\n\n\n\n\n\n\nrecnum\n\n\ndouble precision\n\n\n\n\n\n\nlon\n\n\ndouble precision\n\n\n\n\n\n\nlat\n\n\ndouble precision\n\n\n\n\n\n\nf3\n\n\ndouble precision\n\n\n\n\n\n\nf4\n\n\ncharacter varying(254)\n\n\n\n\n\n\nf6\n\n\ndouble precision\n\n\n\n\n\n\nstate\n\n\ncharacter varying(25)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(Point,4326)\n\n\n\n\n\n\n\n\nmapdata.county\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nstate\n\n\ncharacter varying(2)\n\n\n\n\n\n\ncwa\n\n\ncharacter varying(9)\n\n\n\n\n\n\ncountyname\n\n\ncharacter varying(24)\n\n\n\n\n\n\nfips\n\n\ncharacter varying(5)\n\n\n\n\n\n\ntime_zone\n\n\ncharacter varying(2)\n\n\n\n\n\n\nfe_area\n\n\ncharacter varying(2)\n\n\n\n\n\n\nlon\n\n\nnumeric\n\n\n\n\n\n\nlat\n\n\nnumeric\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.customlocations\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nbullet\n\n\ncharacter varying(16)\n\n\n\n\n\n\nname\n\n\ncharacter varying(64)\n\n\n\n\n\n\ncwa\n\n\ncharacter varying(12)\n\n\n\n\n\n\nrfc\n\n\ncharacter varying(8)\n\n\n\n\n\n\nlon\n\n\nnumeric\n\n\n\n\n\n\nlat\n\n\nnumeric\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.cwa\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\ncwa\n\n\ncharacter varying(9)\n\n\n\n\n\n\nwfo\n\n\ncharacter varying(3)\n\n\n\n\n\n\nlon\n\n\nnumeric\n\n\n\n\n\n\nlat\n\n\nnumeric\n\n\n\n\n\n\nregion\n\n\ncharacter varying(2)\n\n\n\n\n\n\nfullstaid\n\n\ncharacter varying(4)\n\n\n\n\n\n\ncitystate\n\n\ncharacter varying(50)\n\n\n\n\n\n\ncity\n\n\ncharacter varying(50)\n\n\n\n\n\n\nstate\n\n\ncharacter varying(50)\n\n\n\n\n\n\nst\n\n\ncharacter varying(2)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.firewxaor\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\ncwa\n\n\ncharacter varying(3)\n\n\n\n\n\n\nwfo\n\n\ncharacter varying(3)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.firewxzones\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nstate\n\n\ncharacter varying(2)\n\n\n\n\n\n\nzone\n\n\ncharacter varying(3)\n\n\n\n\n\n\ncwa\n\n\ncharacter varying(3)\n\n\n\n\n\n\nname\n\n\ncharacter varying(254)\n\n\n\n\n\n\nstate_zone\n\n\ncharacter varying(5)\n\n\n\n\n\n\ntime_zone\n\n\ncharacter varying(2)\n\n\n\n\n\n\nfe_area\n\n\ncharacter varying(2)\n\n\n\n\n\n\nlon\n\n\nnumeric\n\n\n\n\n\n\nlat\n\n\nnumeric\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.fix\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nid\n\n\ncharacter varying(30)\n\n\n\n\n\n\ntype\n\n\ncharacter varying(2)\n\n\n\n\n\n\nuse\n\n\ncharacter varying(5)\n\n\n\n\n\n\nstate\n\n\ncharacter varying(2)\n\n\n\n\n\n\nmin_alt\n\n\ninteger\n\n\n\n\n\n\nlatitude\n\n\ncharacter varying(16)\n\n\n\n\n\n\nlongitude\n\n\ncharacter varying(16)\n\n\n\n\n\n\nlon\n\n\ndouble precision\n\n\n\n\n\n\nlat\n\n\ndouble precision\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(Point,4326)\n\n\n\n\n\n\n\n\nmapdata.highaltitude\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nawy_des\n\n\ncharacter varying(2)\n\n\n\n\n\n\nawy_id\n\n\ncharacter varying(12)\n\n\n\n\n\n\nawy_type\n\n\ncharacter varying(1)\n\n\n\n\n\n\nairway\n\n\ncharacter varying(16)\n\n\n\n\n\n\nnewfield1\n\n\ndouble precision\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiLineString,4326)\n\n\n\n\n\n\n\n\nmapdata.highsea\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nwfo\n\n\ncharacter varying(3)\n\n\n\n\n\n\nname\n\n\ncharacter varying(250)\n\n\n\n\n\n\nlat\n\n\nnumeric\n\n\n\n\n\n\nlon\n\n\nnumeric\n\n\n\n\n\n\nid\n\n\ncharacter varying(5)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.highway\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nprefix\n\n\ncharacter varying(2)\n\n\n\n\n\n\npretype\n\n\ncharacter varying(6)\n\n\n\n\n\n\nname\n\n\ncharacter varying(30)\n\n\n\n\n\n\ntype\n\n\ncharacter varying(6)\n\n\n\n\n\n\nsuffix\n\n\ncharacter varying(2)\n\n\n\n\n\n\nclass\n\n\ncharacter varying(1)\n\n\n\n\n\n\nclass_rte\n\n\ncharacter varying(1)\n\n\n\n\n\n\nhwy_type\n\n\ncharacter varying(1)\n\n\n\n\n\n\nhwy_symbol\n\n\ncharacter varying(20)\n\n\n\n\n\n\nroute\n\n\ncharacter varying(25)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiLineString,4326)\n\n\n\n\n\n\n\n\nmapdata.hsa\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nwfo\n\n\ncharacter varying(3)\n\n\n\n\n\n\nlon\n\n\ndouble precision\n\n\n\n\n\n\nlat\n\n\ndouble precision\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.interstate\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nprefix\n\n\ncharacter varying(2)\n\n\n\n\n\n\npretype\n\n\nUshy\nHwy\nAve\nCord\nRt\nLoop\nI\nSthy\n\n\n\n\n\n\nname\n\n\ncharacter varying(30)\n\n\n\n\n\n\ntype\n\n\ncharacter varying(6)\n\n\n\n\n\n\nsuffix\n\n\ncharacter varying(2)\n\n\n\n\n\n\nhwy_type\n\n\nI\nU\nS\n\n\n\n\n\n\nhwy_symbol\n\n\ncharacter varying(20)\n\n\n\n\n\n\nroute\n\n\ncharacter varying(25)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiLineString,4326)\n\n\n\n\n\n\n\n\nmapdata.isc\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nwfo\n\n\ncharacter varying(3)\n\n\n\n\n\n\ncwa\n\n\ncharacter varying(3)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.lake\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nname\n\n\ncharacter varying(40)\n\n\n\n\n\n\nfeature\n\n\ncharacter varying(40)\n\n\n\n\n\n\nlon\n\n\ndouble precision\n\n\n\n\n\n\nlat\n\n\ndouble precision\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.latlon10\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiLineString,4326)\n\n\n\n\n\n\n\n\nmapdata.lowaltitude\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nawy_des\n\n\ncharacter varying(2)\n\n\n\n\n\n\nawy_id\n\n\ncharacter varying(12)\n\n\n\n\n\n\nawy_type\n\n\ncharacter varying(1)\n\n\n\n\n\n\nairway\n\n\ncharacter varying(16)\n\n\n\n\n\n\nnewfield1\n\n\ndouble precision\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiLineString,4326)\n\n\n\n\n\n\n\n\nmapdata.majorrivers\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nrf1_150_id\n\n\ndouble precision\n\n\n\n\n\n\nhuc\n\n\ninteger\n\n\n\n\n\n\nseg\n\n\nsmallint\n\n\n\n\n\n\nmilept\n\n\ndouble precision\n\n\n\n\n\n\nseqno\n\n\ndouble precision\n\n\n\n\n\n\nrflag\n\n\ncharacter varying(1)\n\n\n\n\n\n\nowflag\n\n\ncharacter varying(1)\n\n\n\n\n\n\ntflag\n\n\ncharacter varying(1)\n\n\n\n\n\n\nsflag\n\n\ncharacter varying(1)\n\n\n\n\n\n\ntype\n\n\ncharacter varying(1)\n\n\n\n\n\n\nsegl\n\n\ndouble precision\n\n\n\n\n\n\nlev\n\n\nsmallint\n\n\n\n\n\n\nj\n\n\nsmallint\n\n\n\n\n\n\nk\n\n\nsmallint\n\n\n\n\n\n\npmile\n\n\ndouble precision\n\n\n\n\n\n\narbsum\n\n\ndouble precision\n\n\n\n\n\n\nusdir\n\n\ncharacter varying(1)\n\n\n\n\n\n\ntermid\n\n\ninteger\n\n\n\n\n\n\ntrmblv\n\n\nsmallint\n\n\n\n\n\n\npname\n\n\ncharacter varying(30)\n\n\n\n\n\n\npnmcd\n\n\ncharacter varying(11)\n\n\n\n\n\n\nowname\n\n\ncharacter varying(30)\n\n\n\n\n\n\nownmcd\n\n\ncharacter varying(11)\n\n\n\n\n\n\ndshuc\n\n\ninteger\n\n\n\n\n\n\ndsseg\n\n\nsmallint\n\n\n\n\n\n\ndsmlpt\n\n\ndouble precision\n\n\n\n\n\n\neditrf1_\n\n\ndouble precision\n\n\n\n\n\n\ndemand\n\n\ndouble precision\n\n\n\n\n\n\nftimped\n\n\ndouble precision\n\n\n\n\n\n\ntfimped\n\n\ndouble precision\n\n\n\n\n\n\ndir\n\n\ndouble precision\n\n\n\n\n\n\nrescode\n\n\ndouble precision\n\n\n\n\n\n\ncenter\n\n\ndouble precision\n\n\n\n\n\n\nerf1__\n\n\ndouble precision\n\n\n\n\n\n\nreservoir_\n\n\ndouble precision\n\n\n\n\n\n\npname_res\n\n\ncharacter varying(30)\n\n\n\n\n\n\npnmcd_res\n\n\ncharacter varying(11)\n\n\n\n\n\n\nmeanq\n\n\ndouble precision\n\n\n\n\n\n\nlowq\n\n\ndouble precision\n\n\n\n\n\n\nmeanv\n\n\ndouble precision\n\n\n\n\n\n\nlowv\n\n\ndouble precision\n\n\n\n\n\n\nworka\n\n\ndouble precision\n\n\n\n\n\n\ngagecode\n\n\ndouble precision\n\n\n\n\n\n\nstrahler\n\n\ndouble precision\n\n\n\n\n\n\nrr\n\n\ncharacter varying(11)\n\n\n\n\n\n\ndsrr\n\n\ndouble precision\n\n\n\n\n\n\nhuc2\n\n\nsmallint\n\n\n\n\n\n\nhuc4\n\n\nsmallint\n\n\n\n\n\n\nhuc6\n\n\ninteger\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiLineString,4326)\n\n\n\n\n\n\n\n\nmapdata.marinesites\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nst\n\n\ncharacter varying(3)\n\n\n\n\n\n\nname\n\n\ncharacter varying(50)\n\n\n\n\n\n\nprog_disc\n\n\nbigint\n\n\n\n\n\n\nwarngenlev\n\n\ncharacter varying(14)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(Point,4326)\n\n\n\n\n\n\n\n\nmapdata.marinezones\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nid\n\n\ncharacter varying(6)\n\n\n\n\n\n\nwfo\n\n\ncharacter varying(3)\n\n\n\n\n\n\ngl_wfo\n\n\ncharacter varying(3)\n\n\n\n\n\n\nname\n\n\ncharacter varying(254)\n\n\n\n\n\n\najoin0\n\n\ncharacter varying(6)\n\n\n\n\n\n\najoin1\n\n\ncharacter varying(6)\n\n\n\n\n\n\nlon\n\n\nnumeric\n\n\n\n\n\n\nlat\n\n\nnumeric\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.mexico\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\narea\n\n\ndouble precision\n\n\n\n\n\n\nperimeter\n\n\ndouble precision\n\n\n\n\n\n\nst_mx_\n\n\ndouble precision\n\n\n\n\n\n\nst_mx_id\n\n\ndouble precision\n\n\n\n\n\n\nname\n\n\ncharacter varying(66)\n\n\n\n\n\n\ncountry\n\n\ncharacter varying(127)\n\n\n\n\n\n\ncontinent\n\n\ncharacter varying(127)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.navaid\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nid\n\n\ncharacter varying(30)\n\n\n\n\n\n\nclscode\n\n\ncharacter varying(11)\n\n\n\n\n\n\ncity\n\n\ncharacter varying(40)\n\n\n\n\n\n\nelv\n\n\ninteger\n\n\n\n\n\n\nfreq\n\n\ndouble precision\n\n\n\n\n\n\nname\n\n\ncharacter varying(30)\n\n\n\n\n\n\nstatus\n\n\ncharacter varying(30)\n\n\n\n\n\n\ntype\n\n\ncharacter varying(25)\n\n\n\n\n\n\noprhours\n\n\ncharacter varying(11)\n\n\n\n\n\n\noprname\n\n\ncharacter varying(50)\n\n\n\n\n\n\nlatdms\n\n\ncharacter varying(16)\n\n\n\n\n\n\nlondms\n\n\ncharacter varying(16)\n\n\n\n\n\n\nairway\n\n\ncharacter varying(254)\n\n\n\n\n\n\nsym\n\n\nsmallint\n\n\n\n\n\n\nlon\n\n\ndouble precision\n\n\n\n\n\n\nlat\n\n\ndouble precision\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(Point,4326)\n\n\n\n\n\n\n\n\nmapdata.offshore\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nid\n\n\ncharacter varying(50)\n\n\n\n\n\n\nwfo\n\n\ncharacter varying(10)\n\n\n\n\n\n\nlon\n\n\nnumeric\n\n\n\n\n\n\nlat\n\n\nnumeric\n\n\n\n\n\n\nlocation\n\n\ncharacter varying(70)\n\n\n\n\n\n\nname\n\n\ncharacter varying(90)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.railroad\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nfnode_\n\n\ndouble precision\n\n\n\n\n\n\ntnode_\n\n\ndouble precision\n\n\n\n\n\n\nlpoly_\n\n\ndouble precision\n\n\n\n\n\n\nrpoly_\n\n\ndouble precision\n\n\n\n\n\n\nlength\n\n\nnumeric\n\n\n\n\n\n\nrailrdl021\n\n\ndouble precision\n\n\n\n\n\n\nrailrdl020\n\n\ndouble precision\n\n\n\n\n\n\nfeature\n\n\ncharacter varying(18)\n\n\n\n\n\n\nname\n\n\ncharacter varying(43)\n\n\n\n\n\n\nstate\n\n\ncharacter varying(2)\n\n\n\n\n\n\nstate_fips\n\n\ncharacter varying(2)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiLineString,4326)\n\n\n\n\n\n\n\n\nmapdata.rfc\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nsite_id\n\n\ncharacter varying(3)\n\n\n\n\n\n\nstate\n\n\ncharacter varying(2)\n\n\n\n\n\n\nrfc_name\n\n\ncharacter varying(18)\n\n\n\n\n\n\nrfc_city\n\n\ncharacter varying(25)\n\n\n\n\n\n\nbasin_id\n\n\ncharacter varying(5)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.specialuse\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nname\n\n\ncharacter varying(32)\n\n\n\n\n\n\ncode\n\n\ncharacter varying(16)\n\n\n\n\n\n\nyn\n\n\nsmallint\n\n\n\n\n\n\nalt_desc\n\n\ncharacter varying(128)\n\n\n\n\n\n\nartcc\n\n\ncharacter varying(4)\n\n\n\n\n\n\nctr_agen\n\n\ncharacter varying(128)\n\n\n\n\n\n\nsch_agen\n\n\ncharacter varying(128)\n\n\n\n\n\n\nstate\n\n\ncharacter varying(2)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.states\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nstate\n\n\ncharacter varying(2)\n\n\n\n\n\n\nname\n\n\ncharacter varying(24)\n\n\n\n\n\n\nfips\n\n\ncharacter varying(2)\n\n\n\n\n\n\nlon\n\n\nnumeric\n\n\n\n\n\n\nlat\n\n\nnumeric\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.timezones\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nname\n\n\ncharacter varying(50)\n\n\n\n\n\n\ntime_zone\n\n\ncharacter varying(1)\n\n\n\n\n\n\nstandard\n\n\ncharacter varying(9)\n\n\n\n\n\n\nadvanced\n\n\ncharacter varying(10)\n\n\n\n\n\n\nunix_time\n\n\ncharacter varying(19)\n\n\n\n\n\n\nlon\n\n\ndouble precision\n\n\n\n\n\n\nlat\n\n\ndouble precision\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.warngenloc\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nname\n\n\ncharacter varying(254)\n\n\n\n\n\n\nst\n\n\ncharacter varying(3)\n\n\n\n\n\n\nstate\n\n\ncharacter varying(20)\n\n\n\n\n\n\npopulation\n\n\ninteger\n\n\n\n\n\n\nwarngenlev\n\n\ninteger\n\n\n\n\n\n\ncwa\n\n\ncharacter varying(4)\n\n\n\n\n\n\ngoodness\n\n\ndouble precision\n\n\n\n\n\n\nlat\n\n\nnumeric\n\n\n\n\n\n\nlon\n\n\nnumeric\n\n\n\n\n\n\nusedirs\n\n\nnumeric(10,0)\n\n\n\n\n\n\nsupdirs\n\n\ncharacter varying(20)\n\n\n\n\n\n\nlandwater\n\n\ncharacter varying(3)\n\n\n\n\n\n\nrecnum\n\n\ninteger\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.world\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nname\n\n\ncharacter varying(30)\n\n\n\n\n\n\ncount\n\n\ndouble precision\n\n\n\n\n\n\nfirst_coun\n\n\ncharacter varying(2)\n\n\n\n\n\n\nfirst_regi\n\n\ncharacter varying(1)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)\n\n\n\n\n\n\n\n\nmapdata.zone\n\uf0c1\n\n\n\n\n\n\n\n\nColumn\n\n\nType\n\n\n\n\n\n\n\n\n\n\nstate\n\n\ncharacter varying(2)\n\n\n\n\n\n\ncwa\n\n\ncharacter varying(9)\n\n\n\n\n\n\ntime_zone\n\n\ncharacter varying(2)\n\n\n\n\n\n\nfe_area\n\n\ncharacter varying(2)\n\n\n\n\n\n\nzone\n\n\ncharacter varying(3)\n\n\n\n\n\n\nname\n\n\ncharacter varying(254)\n\n\n\n\n\n\nstate_zone\n\n\ncharacter varying(5)\n\n\n\n\n\n\nlon\n\n\nnumeric\n\n\n\n\n\n\nlat\n\n\nnumeric\n\n\n\n\n\n\nshortname\n\n\ncharacter varying(32)\n\n\n\n\n\n\nthe_geom\n\n\ngeometry(MultiPolygon,4326)",
"title": "Maps Database"
},
{
"location": "/python/maps-database/#mapdataairport",
"text": "Column Type arpt_id character varying(4) name character varying(42) city character varying(40) state character varying(2) siteno character varying(9) site_type character varying(1) fac_use character varying(2) owner_type character varying(2) elv integer latitude character varying(16) longitude character varying(16) lon double precision lat double precision the_geom geometry(Point,4326) ok",
"title": "mapdata.airport"
},
{
"location": "/python/maps-database/#mapdataallrivers",
"text": "Column Type ihabbsrf_i double precision rr character varying(11) huc integer type character varying(1) pmile double precision pname character varying(30) owname character varying(30) pnmcd character varying(11) ownmcd character varying(11) dsrr double precision dshuc integer usdir character varying(1) lev smallint j smallint termid integer trmblv smallint k smallint the_geom geometry(MultiLineString,4326)",
"title": "mapdata.allrivers"
},
{
"location": "/python/maps-database/#mapdataartcc",
"text": "Column Type artcc character varying(4) alt character varying(1) name character varying(30) type character varying(5) city character varying(40) id double precision the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.artcc"
},
{
"location": "/python/maps-database/#mapdatabasins",
"text": "Column Type rfc character varying(7) cwa character varying(5) id character varying(8) name character varying(64) lon double precision lat double precision the_geom geometry(MultiPolygon,4326) the_geom_0 geometry(MultiPolygon,4326) the_geom_0_064 geometry(MultiPolygon,4326) the_geom_0_016 geometry(MultiPolygon,4326) the_geom_0_004 geometry(MultiPolygon,4326) the_geom_0_001 geometry(MultiPolygon,4326)",
"title": "mapdata.basins"
},
{
"location": "/python/maps-database/#mapdatacanada",
"text": "Column Type f_code character varying(5) name_en character varying(25) nom_fr character varying(25) country character varying(3) cgns_fid character varying(32) the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.canada"
},
{
"location": "/python/maps-database/#mapdatacity",
"text": "Column Type st_fips character varying(4) sfips character varying(2) county_fip character varying(4) cfips character varying(4) pl_fips character varying(7) id character varying(20) name character varying(39) elevation character varying(60) pop_1990 numeric population character varying(30) st character varying(6) warngenlev character varying(16) warngentyp character varying(16) watch_warn character varying(3) zwatch_war double precision prog_disc integer zprog_disc double precision comboflag double precision land_water character varying(16) recnum double precision lon double precision lat double precision f3 double precision f4 character varying(254) f6 double precision state character varying(25) the_geom geometry(Point,4326)",
"title": "mapdata.city"
},
{
"location": "/python/maps-database/#mapdatacounty",
"text": "Column Type state character varying(2) cwa character varying(9) countyname character varying(24) fips character varying(5) time_zone character varying(2) fe_area character varying(2) lon numeric lat numeric the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.county"
},
{
"location": "/python/maps-database/#mapdatacustomlocations",
"text": "Column Type bullet character varying(16) name character varying(64) cwa character varying(12) rfc character varying(8) lon numeric lat numeric the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.customlocations"
},
{
"location": "/python/maps-database/#mapdatacwa",
"text": "Column Type cwa character varying(9) wfo character varying(3) lon numeric lat numeric region character varying(2) fullstaid character varying(4) citystate character varying(50) city character varying(50) state character varying(50) st character varying(2) the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.cwa"
},
{
"location": "/python/maps-database/#mapdatafirewxaor",
"text": "Column Type cwa character varying(3) wfo character varying(3) the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.firewxaor"
},
{
"location": "/python/maps-database/#mapdatafirewxzones",
"text": "Column Type state character varying(2) zone character varying(3) cwa character varying(3) name character varying(254) state_zone character varying(5) time_zone character varying(2) fe_area character varying(2) lon numeric lat numeric the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.firewxzones"
},
{
"location": "/python/maps-database/#mapdatafix",
"text": "Column Type id character varying(30) type character varying(2) use character varying(5) state character varying(2) min_alt integer latitude character varying(16) longitude character varying(16) lon double precision lat double precision the_geom geometry(Point,4326)",
"title": "mapdata.fix"
},
{
"location": "/python/maps-database/#mapdatahighaltitude",
"text": "Column Type awy_des character varying(2) awy_id character varying(12) awy_type character varying(1) airway character varying(16) newfield1 double precision the_geom geometry(MultiLineString,4326)",
"title": "mapdata.highaltitude"
},
{
"location": "/python/maps-database/#mapdatahighsea",
"text": "Column Type wfo character varying(3) name character varying(250) lat numeric lon numeric id character varying(5) the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.highsea"
},
{
"location": "/python/maps-database/#mapdatahighway",
"text": "Column Type prefix character varying(2) pretype character varying(6) name character varying(30) type character varying(6) suffix character varying(2) class character varying(1) class_rte character varying(1) hwy_type character varying(1) hwy_symbol character varying(20) route character varying(25) the_geom geometry(MultiLineString,4326)",
"title": "mapdata.highway"
},
{
"location": "/python/maps-database/#mapdatahsa",
"text": "Column Type wfo character varying(3) lon double precision lat double precision the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.hsa"
},
{
"location": "/python/maps-database/#mapdatainterstate",
"text": "Column Type prefix character varying(2) pretype Ushy Hwy Ave Cord Rt Loop I Sthy name character varying(30) type character varying(6) suffix character varying(2) hwy_type I U S hwy_symbol character varying(20) route character varying(25) the_geom geometry(MultiLineString,4326)",
"title": "mapdata.interstate"
},
{
"location": "/python/maps-database/#mapdataisc",
"text": "Column Type wfo character varying(3) cwa character varying(3) the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.isc"
},
{
"location": "/python/maps-database/#mapdatalake",
"text": "Column Type name character varying(40) feature character varying(40) lon double precision lat double precision the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.lake"
},
{
"location": "/python/maps-database/#mapdatalatlon10",
"text": "Column Type the_geom geometry(MultiLineString,4326)",
"title": "mapdata.latlon10"
},
{
"location": "/python/maps-database/#mapdatalowaltitude",
"text": "Column Type awy_des character varying(2) awy_id character varying(12) awy_type character varying(1) airway character varying(16) newfield1 double precision the_geom geometry(MultiLineString,4326)",
"title": "mapdata.lowaltitude"
},
{
"location": "/python/maps-database/#mapdatamajorrivers",
"text": "Column Type rf1_150_id double precision huc integer seg smallint milept double precision seqno double precision rflag character varying(1) owflag character varying(1) tflag character varying(1) sflag character varying(1) type character varying(1) segl double precision lev smallint j smallint k smallint pmile double precision arbsum double precision usdir character varying(1) termid integer trmblv smallint pname character varying(30) pnmcd character varying(11) owname character varying(30) ownmcd character varying(11) dshuc integer dsseg smallint dsmlpt double precision editrf1_ double precision demand double precision ftimped double precision tfimped double precision dir double precision rescode double precision center double precision erf1__ double precision reservoir_ double precision pname_res character varying(30) pnmcd_res character varying(11) meanq double precision lowq double precision meanv double precision lowv double precision worka double precision gagecode double precision strahler double precision rr character varying(11) dsrr double precision huc2 smallint huc4 smallint huc6 integer the_geom geometry(MultiLineString,4326)",
"title": "mapdata.majorrivers"
},
{
"location": "/python/maps-database/#mapdatamarinesites",
"text": "Column Type st character varying(3) name character varying(50) prog_disc bigint warngenlev character varying(14) the_geom geometry(Point,4326)",
"title": "mapdata.marinesites"
},
{
"location": "/python/maps-database/#mapdatamarinezones",
"text": "Column Type id character varying(6) wfo character varying(3) gl_wfo character varying(3) name character varying(254) ajoin0 character varying(6) ajoin1 character varying(6) lon numeric lat numeric the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.marinezones"
},
{
"location": "/python/maps-database/#mapdatamexico",
"text": "Column Type area double precision perimeter double precision st_mx_ double precision st_mx_id double precision name character varying(66) country character varying(127) continent character varying(127) the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.mexico"
},
{
"location": "/python/maps-database/#mapdatanavaid",
"text": "Column Type id character varying(30) clscode character varying(11) city character varying(40) elv integer freq double precision name character varying(30) status character varying(30) type character varying(25) oprhours character varying(11) oprname character varying(50) latdms character varying(16) londms character varying(16) airway character varying(254) sym smallint lon double precision lat double precision the_geom geometry(Point,4326)",
"title": "mapdata.navaid"
},
{
"location": "/python/maps-database/#mapdataoffshore",
"text": "Column Type id character varying(50) wfo character varying(10) lon numeric lat numeric location character varying(70) name character varying(90) the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.offshore"
},
{
"location": "/python/maps-database/#mapdatarailroad",
"text": "Column Type fnode_ double precision tnode_ double precision lpoly_ double precision rpoly_ double precision length numeric railrdl021 double precision railrdl020 double precision feature character varying(18) name character varying(43) state character varying(2) state_fips character varying(2) the_geom geometry(MultiLineString,4326)",
"title": "mapdata.railroad"
},
{
"location": "/python/maps-database/#mapdatarfc",
"text": "Column Type site_id character varying(3) state character varying(2) rfc_name character varying(18) rfc_city character varying(25) basin_id character varying(5) the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.rfc"
},
{
"location": "/python/maps-database/#mapdataspecialuse",
"text": "Column Type name character varying(32) code character varying(16) yn smallint alt_desc character varying(128) artcc character varying(4) ctr_agen character varying(128) sch_agen character varying(128) state character varying(2) the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.specialuse"
},
{
"location": "/python/maps-database/#mapdatastates",
"text": "Column Type state character varying(2) name character varying(24) fips character varying(2) lon numeric lat numeric the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.states"
},
{
"location": "/python/maps-database/#mapdatatimezones",
"text": "Column Type name character varying(50) time_zone character varying(1) standard character varying(9) advanced character varying(10) unix_time character varying(19) lon double precision lat double precision the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.timezones"
},
{
"location": "/python/maps-database/#mapdatawarngenloc",
"text": "Column Type name character varying(254) st character varying(3) state character varying(20) population integer warngenlev integer cwa character varying(4) goodness double precision lat numeric lon numeric usedirs numeric(10,0) supdirs character varying(20) landwater character varying(3) recnum integer the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.warngenloc"
},
{
"location": "/python/maps-database/#mapdataworld",
"text": "Column Type name character varying(30) count double precision first_coun character varying(2) first_regi character varying(1) the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.world"
},
{
"location": "/python/maps-database/#mapdatazone",
"text": "Column Type state character varying(2) cwa character varying(9) time_zone character varying(2) fe_area character varying(2) zone character varying(3) name character varying(254) state_zone character varying(5) lon numeric lat numeric shortname character varying(32) the_geom geometry(MultiPolygon,4326)",
"title": "mapdata.zone"
},
{
"location": "/python/awips-grids-and-cartopy/",
"text": "The simplest example of requesting and plotting AWIPS gridded data with Matplotlib and Cartopy.\n\n\nfrom awips.dataaccess import DataAccessLayer\nimport cartopy.crs as ccrs\nimport matplotlib.pyplot as plt\nfrom cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER\n%matplotlib inline\n\nDataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\nrequest = DataAccessLayer.newDataRequest()\nrequest.setDatatype(\"grid\")\nrequest.setLocationNames(\"RAP13\")\nrequest.setParameters(\"T\")\nrequest.setLevels(\"2.0FHAG\")\ncycles = DataAccessLayer.getAvailableTimes(request, True)\ntimes = DataAccessLayer.getAvailableTimes(request)\nfcstRun = DataAccessLayer.getForecastRun(cycles[-1], times)\nresponse = DataAccessLayer.getGridData(request, [fcstRun[0]])\ngrid = response[0]\ndata = grid.getRawData()\nlons, lats = grid.getLatLonCoords()\nbbox = [lons.min(), lons.max(), lats.min(), lats.max()]\n\ndef make_map(bbox, projection=ccrs.PlateCarree()):\n fig, ax = plt.subplots(figsize=(16, 9),\n subplot_kw=dict(projection=projection))\n ax.set_extent(bbox)\n ax.coastlines(resolution='50m')\n gl = ax.gridlines(draw_labels=True)\n gl.xlabels_top = gl.ylabels_right = False\n gl.xformatter = LONGITUDE_FORMATTER\n gl.yformatter = LATITUDE_FORMATTER\n return fig, ax\n\n\n\n\nwith pcolormesh\n\uf0c1\n\n\ncmap = plt.get_cmap('rainbow')\nfig, ax = make_map(bbox=bbox)\ncs = ax.pcolormesh(lons, lats, data, cmap=cmap)\ncbar = fig.colorbar(cs, shrink=0.7, orientation='horizontal')\ncbar.set_label(str(grid.getLocationName()) +\" \" \\\n + str(grid.getLevel()) + \" \" \\\n + str(grid.getParameter()) \\\n + \" (\" + str(grid.getUnit()) + \") \" \\\n + \"valid \" + str(grid.getDataTime().getRefTime()))\n\n\n\n\n\n\nwith contourf\n\uf0c1\n\n\nfig2, ax2 = make_map(bbox=bbox)\ncs2 = ax2.contourf(lons, lats, data, 80, cmap=cmap,\n vmin=data.min(), vmax=data.max())\ncbar2 = fig2.colorbar(cs2, shrink=0.7, orientation='horizontal')\ncbar2.set_label(str(grid.getLocationName()) +\" \" \\\n + str(grid.getLevel()) + \" \" \\\n + str(grid.getParameter()) \\\n + \" (\" + str(grid.getUnit()) + \") \" \\\n + \"valid \" + str(grid.getDataTime().getRefTime()))",
"title": "AWIPS Grids and Cartopy"
},
{
"location": "/python/awips-grids-and-cartopy/#with-pcolormesh",
"text": "cmap = plt.get_cmap('rainbow')\nfig, ax = make_map(bbox=bbox)\ncs = ax.pcolormesh(lons, lats, data, cmap=cmap)\ncbar = fig.colorbar(cs, shrink=0.7, orientation='horizontal')\ncbar.set_label(str(grid.getLocationName()) +\" \" \\\n + str(grid.getLevel()) + \" \" \\\n + str(grid.getParameter()) \\\n + \" (\" + str(grid.getUnit()) + \") \" \\\n + \"valid \" + str(grid.getDataTime().getRefTime()))",
"title": "with pcolormesh"
},
{
"location": "/python/awips-grids-and-cartopy/#with-contourf",
"text": "fig2, ax2 = make_map(bbox=bbox)\ncs2 = ax2.contourf(lons, lats, data, 80, cmap=cmap,\n vmin=data.min(), vmax=data.max())\ncbar2 = fig2.colorbar(cs2, shrink=0.7, orientation='horizontal')\ncbar2.set_label(str(grid.getLocationName()) +\" \" \\\n + str(grid.getLevel()) + \" \" \\\n + str(grid.getParameter()) \\\n + \" (\" + str(grid.getUnit()) + \") \" \\\n + \"valid \" + str(grid.getDataTime().getRefTime()))",
"title": "with contourf"
},
{
"location": "/python/satellite-imagery/",
"text": "Satellite images are returned by Python AWIPS as grids, and can be rendered with Cartopy pcolormesh the same as gridded forecast models in other python-awips examples. \n\n\n%matplotlib inline\nfrom awips.dataaccess import DataAccessLayer\nimport cartopy.crs as ccrs\nimport cartopy.feature as cfeat\nimport matplotlib.pyplot as plt\nfrom cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER\nimport numpy as np\nimport datetime\n\nDataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\nrequest = DataAccessLayer.newDataRequest()\nrequest.setDatatype(\"satellite\")\n\n\n\n\nAvailable Satellite Sectors and Products\n\uf0c1\n\n\navailableSectors = DataAccessLayer.getAvailableLocationNames(request)\navailableSectors.sort()\n\nprint(\"\\nAvailable sectors and products\\n\")\nfor sect in availableSectors:\n request.setLocationNames(sect)\n availableProducts = DataAccessLayer.getAvailableParameters(request)\n availableProducts.sort()\n print(sect + \":\")\n for prod in availableProducts:\n print(\" - \"+prod)\n\n\n\n\nAvailable sectors and products\n\n\n\n\nAlaska National:\n\n\nImager 11 micron IR\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\nImager Visible\n\n\nPercent of Normal TPW\n\n\nRain fall rate\n\n\nSounder Based Derived Precipitable Water (PW)\n\n\n\n\n\n\nAlaska Regional:\n\n\nImager 11 micron IR\n\n\nImager 3.9 micron IR\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\nImager Visible\n\n\n\n\n\n\nEast CONUS:\n\n\nImager 11 micron IR\n\n\nImager 13 micron IR\n\n\nImager 3.9 micron IR\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\nImager Visible\n\n\nLow cloud base imagery\n\n\n\n\n\n\nGOES-East:\n\n\nImager 11 micron IR\n\n\nImager 13 micron IR\n\n\nImager 3.5-4.0 micron IR (Fog)\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\nImager Visible\n\n\n\n\n\n\nGOES-East-West:\n\n\nImager 11 micron IR\n\n\nImager 13 micron IR\n\n\nImager 3.5-4.0 micron IR (Fog)\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\nImager Visible\n\n\n\n\n\n\nGOES-Sounder:\n\n\nCAPE\n\n\nSounder Based Derived Lifted Index (LI)\n\n\nSounder Based Derived Precipitable Water (PW)\n\n\nSounder Based Derived Surface Skin Temp (SFC Skin)\n\n\nSounder Based Total Column Ozone\n\n\n\n\n\n\nGOES-West:\n\n\nImager 11 micron IR\n\n\nImager 13 micron IR\n\n\nImager 3.5-4.0 micron IR (Fog)\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\nImager Visible\n\n\n\n\n\n\nGlobal:\n\n\nImager 11 micron IR\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\n\n\n\n\nHawaii National:\n\n\nGridded Cloud Amount\n\n\nGridded Cloud Top Pressure or Height\n\n\nImager 11 micron IR\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\nImager Visible\n\n\nPercent of Normal TPW\n\n\nRain fall rate\n\n\nSounder 11.03 micron imagery\n\n\nSounder 14.06 micron imagery\n\n\nSounder 3.98 micron imagery\n\n\nSounder 4.45 micron imagery\n\n\nSounder 6.51 micron imagery\n\n\nSounder 7.02 micron imagery\n\n\nSounder 7.43 micron imagery\n\n\nSounder Based Derived Lifted Index (LI)\n\n\nSounder Based Derived Precipitable Water (PW)\n\n\nSounder Based Derived Surface Skin Temp (SFC Skin)\n\n\nSounder Visible imagery\n\n\n\n\n\n\nHawaii Regional:\n\n\nImager 11 micron IR\n\n\nImager 13 micron IR\n\n\nImager 3.9 micron IR\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\nImager Visible\n\n\n\n\n\n\nMollweide:\n\n\nImager 11 micron IR\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\n\n\n\n\nNEXRCOMP:\n\n\nDHR\n\n\nDVL\n\n\nEET\n\n\nHHC\n\n\nN0R\n\n\nN1P\n\n\nNTP\n\n\n\n\n\n\nNH Composite - Meteosat-GOES E-GOES W-GMS:\n\n\nImager 11 micron IR\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\nImager Visible\n\n\n\n\n\n\nNorthern Hemisphere Composite:\n\n\nImager 11 micron IR\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\nImager Visible\n\n\n\n\n\n\nPuerto Rico National:\n\n\nImager 11 micron IR\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\nImager Visible\n\n\nPercent of Normal TPW\n\n\nRain fall rate\n\n\nSounder Based Derived Precipitable Water (PW)\n\n\n\n\n\n\nPuerto Rico Regional:\n\n\nImager 11 micron IR\n\n\nImager 13 micron IR\n\n\nImager 3.9 micron IR\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\nImager Visible\n\n\n\n\n\n\nSupernational:\n\n\nGridded Cloud Amount\n\n\nGridded Cloud Top Pressure or Height\n\n\nImager 11 micron IR\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\nImager Visible\n\n\nPercent of Normal TPW\n\n\nRain fall rate\n\n\nSounder Based Derived Lifted Index (LI)\n\n\nSounder Based Derived Precipitable Water (PW)\n\n\nSounder Based Derived Surface Skin Temp (SFC Skin)\n\n\n\n\n\n\nWest CONUS:\n\n\nImager 11 micron IR\n\n\nImager 13 micron IR\n\n\nImager 3.9 micron IR\n\n\nImager 6.7-6.5 micron IR (WV)\n\n\nImager Visible\n\n\nLow cloud base imagery\n\n\nSounder 11.03 micron imagery\n\n\nSounder 14.06 micron imagery\n\n\nSounder 3.98 micron imagery\n\n\nSounder 4.45 micron imagery\n\n\nSounder 6.51 micron imagery\n\n\nSounder 7.02 micron imagery\n\n\nSounder 7.43 micron imagery\n\n\nSounder Visible imagery\n\n\n\n\n\n\n\n\nPlot Global Water Vapor Composite\n\uf0c1\n\n\nrequest.setLocationNames(\"Global\")\navailableProducts = DataAccessLayer.getAvailableParameters(request)\navailableProducts.sort()\nrequest.setParameters(availableProducts[0])\n\nutc = datetime.datetime.utcnow()\ntimes = DataAccessLayer.getAvailableTimes(request)\nhourdiff = utc - datetime.datetime.strptime(str(times[-1]),'%Y-%m-%d %H:%M:%S')\nhours,days = hourdiff.seconds/3600,hourdiff.days\nminute = str((hourdiff.seconds - (3600 * hours)) / 60)\noffsetStr = ''\nif hours > 0:\n offsetStr += str(hours) + \"hr \"\noffsetStr += str(minute) + \"m ago\"\nif days > 1:\n offsetStr = str(days) + \" days ago\"\n\nprint(\"Found \"+ str(len(times)) +\" available times\")\nprint(\" \"+str(times[0]) + \"\\n to\\n \" + str(times[-1]))\nprint(\"Using \"+str(times[-1]) + \" (\"+offsetStr+\")\")\n\n\n\n\n\n\n Found 96 available times\n 2017-01-23 00:00:00\n to\n 2017-02-03 21:00:00\n Using 2017-02-03 21:00:00 (2hr 3m ago)\n\n\n\n\n\nresponse = DataAccessLayer.getGridData(request, [times[-1]])\ngrid = response[0]\ndata = grid.getRawData()\nlons,lats = grid.getLatLonCoords()\nbbox = [lons.min(), lons.max(), lats.min(), lats.max()]\n\nprint(\"grid size \" + str(data.shape))\nprint(\"grid extent \" + str(list(bbox)))\n\n\n\n\n\n\n grid size (1024, 2048)\n grid extent [-179.91191, 179.99982, -89.977936, 89.890022]\n\n\n\n\n\ndef make_map(bbox, projection=ccrs.PlateCarree()):\n fig, ax = plt.subplots(figsize=(18,14),\n subplot_kw=dict(projection=projection))\n ax.set_extent(bbox)\n ax.coastlines(resolution='50m')\n gl = ax.gridlines(draw_labels=True)\n gl.xlabels_top = gl.ylabels_right = False\n gl.xformatter = LONGITUDE_FORMATTER\n gl.yformatter = LATITUDE_FORMATTER\n return fig, ax\n\nfig, ax = make_map(bbox=bbox)\n# State boundaries\nstates = cfeat.NaturalEarthFeature(category='cultural',\n name='admin_1_states_provinces_lines',\n scale='50m', facecolor='none')\nax.add_feature(states, linestyle=':')\ncs = ax.pcolormesh(lons, lats, data, cmap='Greys_r')\ncbar = fig.colorbar(cs, shrink=0.9, orientation='horizontal')\ncbar.set_label(str(grid.getLocationName())+\" \" \\\n +str(grid.getParameter())+\" \" \\\n +str(grid.getDataTime().getRefTime()))\nplt.tight_layout()",
"title": "Satellite Imagery"
},
{
"location": "/python/satellite-imagery/#available-satellite-sectors-and-products",
"text": "availableSectors = DataAccessLayer.getAvailableLocationNames(request)\navailableSectors.sort()\n\nprint(\"\\nAvailable sectors and products\\n\")\nfor sect in availableSectors:\n request.setLocationNames(sect)\n availableProducts = DataAccessLayer.getAvailableParameters(request)\n availableProducts.sort()\n print(sect + \":\")\n for prod in availableProducts:\n print(\" - \"+prod) Available sectors and products Alaska National: Imager 11 micron IR Imager 6.7-6.5 micron IR (WV) Imager Visible Percent of Normal TPW Rain fall rate Sounder Based Derived Precipitable Water (PW) Alaska Regional: Imager 11 micron IR Imager 3.9 micron IR Imager 6.7-6.5 micron IR (WV) Imager Visible East CONUS: Imager 11 micron IR Imager 13 micron IR Imager 3.9 micron IR Imager 6.7-6.5 micron IR (WV) Imager Visible Low cloud base imagery GOES-East: Imager 11 micron IR Imager 13 micron IR Imager 3.5-4.0 micron IR (Fog) Imager 6.7-6.5 micron IR (WV) Imager Visible GOES-East-West: Imager 11 micron IR Imager 13 micron IR Imager 3.5-4.0 micron IR (Fog) Imager 6.7-6.5 micron IR (WV) Imager Visible GOES-Sounder: CAPE Sounder Based Derived Lifted Index (LI) Sounder Based Derived Precipitable Water (PW) Sounder Based Derived Surface Skin Temp (SFC Skin) Sounder Based Total Column Ozone GOES-West: Imager 11 micron IR Imager 13 micron IR Imager 3.5-4.0 micron IR (Fog) Imager 6.7-6.5 micron IR (WV) Imager Visible Global: Imager 11 micron IR Imager 6.7-6.5 micron IR (WV) Hawaii National: Gridded Cloud Amount Gridded Cloud Top Pressure or Height Imager 11 micron IR Imager 6.7-6.5 micron IR (WV) Imager Visible Percent of Normal TPW Rain fall rate Sounder 11.03 micron imagery Sounder 14.06 micron imagery Sounder 3.98 micron imagery Sounder 4.45 micron imagery Sounder 6.51 micron imagery Sounder 7.02 micron imagery Sounder 7.43 micron imagery Sounder Based Derived Lifted Index (LI) Sounder Based Derived Precipitable Water (PW) Sounder Based Derived Surface Skin Temp (SFC Skin) Sounder Visible imagery Hawaii Regional: Imager 11 micron IR Imager 13 micron IR Imager 3.9 micron IR Imager 6.7-6.5 micron IR (WV) Imager Visible Mollweide: Imager 11 micron IR Imager 6.7-6.5 micron IR (WV) NEXRCOMP: DHR DVL EET HHC N0R N1P NTP NH Composite - Meteosat-GOES E-GOES W-GMS: Imager 11 micron IR Imager 6.7-6.5 micron IR (WV) Imager Visible Northern Hemisphere Composite: Imager 11 micron IR Imager 6.7-6.5 micron IR (WV) Imager Visible Puerto Rico National: Imager 11 micron IR Imager 6.7-6.5 micron IR (WV) Imager Visible Percent of Normal TPW Rain fall rate Sounder Based Derived Precipitable Water (PW) Puerto Rico Regional: Imager 11 micron IR Imager 13 micron IR Imager 3.9 micron IR Imager 6.7-6.5 micron IR (WV) Imager Visible Supernational: Gridded Cloud Amount Gridded Cloud Top Pressure or Height Imager 11 micron IR Imager 6.7-6.5 micron IR (WV) Imager Visible Percent of Normal TPW Rain fall rate Sounder Based Derived Lifted Index (LI) Sounder Based Derived Precipitable Water (PW) Sounder Based Derived Surface Skin Temp (SFC Skin) West CONUS: Imager 11 micron IR Imager 13 micron IR Imager 3.9 micron IR Imager 6.7-6.5 micron IR (WV) Imager Visible Low cloud base imagery Sounder 11.03 micron imagery Sounder 14.06 micron imagery Sounder 3.98 micron imagery Sounder 4.45 micron imagery Sounder 6.51 micron imagery Sounder 7.02 micron imagery Sounder 7.43 micron imagery Sounder Visible imagery",
"title": "Available Satellite Sectors and Products"
},
{
"location": "/python/satellite-imagery/#plot-global-water-vapor-composite",
"text": "request.setLocationNames(\"Global\")\navailableProducts = DataAccessLayer.getAvailableParameters(request)\navailableProducts.sort()\nrequest.setParameters(availableProducts[0])\n\nutc = datetime.datetime.utcnow()\ntimes = DataAccessLayer.getAvailableTimes(request)\nhourdiff = utc - datetime.datetime.strptime(str(times[-1]),'%Y-%m-%d %H:%M:%S')\nhours,days = hourdiff.seconds/3600,hourdiff.days\nminute = str((hourdiff.seconds - (3600 * hours)) / 60)\noffsetStr = ''\nif hours > 0:\n offsetStr += str(hours) + \"hr \"\noffsetStr += str(minute) + \"m ago\"\nif days > 1:\n offsetStr = str(days) + \" days ago\"\n\nprint(\"Found \"+ str(len(times)) +\" available times\")\nprint(\" \"+str(times[0]) + \"\\n to\\n \" + str(times[-1]))\nprint(\"Using \"+str(times[-1]) + \" (\"+offsetStr+\")\") Found 96 available times\n 2017-01-23 00:00:00\n to\n 2017-02-03 21:00:00\n Using 2017-02-03 21:00:00 (2hr 3m ago) response = DataAccessLayer.getGridData(request, [times[-1]])\ngrid = response[0]\ndata = grid.getRawData()\nlons,lats = grid.getLatLonCoords()\nbbox = [lons.min(), lons.max(), lats.min(), lats.max()]\n\nprint(\"grid size \" + str(data.shape))\nprint(\"grid extent \" + str(list(bbox))) grid size (1024, 2048)\n grid extent [-179.91191, 179.99982, -89.977936, 89.890022] def make_map(bbox, projection=ccrs.PlateCarree()):\n fig, ax = plt.subplots(figsize=(18,14),\n subplot_kw=dict(projection=projection))\n ax.set_extent(bbox)\n ax.coastlines(resolution='50m')\n gl = ax.gridlines(draw_labels=True)\n gl.xlabels_top = gl.ylabels_right = False\n gl.xformatter = LONGITUDE_FORMATTER\n gl.yformatter = LATITUDE_FORMATTER\n return fig, ax\n\nfig, ax = make_map(bbox=bbox)\n# State boundaries\nstates = cfeat.NaturalEarthFeature(category='cultural',\n name='admin_1_states_provinces_lines',\n scale='50m', facecolor='none')\nax.add_feature(states, linestyle=':')\ncs = ax.pcolormesh(lons, lats, data, cmap='Greys_r')\ncbar = fig.colorbar(cs, shrink=0.9, orientation='horizontal')\ncbar.set_label(str(grid.getLocationName())+\" \" \\\n +str(grid.getParameter())+\" \" \\\n +str(grid.getDataTime().getRefTime()))\nplt.tight_layout()",
"title": "Plot Global Water Vapor Composite"
},
{
"location": "/python/nexrad-level-3-radar/",
"text": "Shown here are plots for Base Reflectivity (N0Q, 94) and Base Velocity (N0U, 99) using AWIPS data rendered with Matplotlib, Cartopy, and MetPy. This example improves upon existing Level 3 Python rendering by doing the following:\n\n\n\n\nDisplay scaled and labeled colorbar below each figure.\n\n\nPlot radar radial images as coordinate maps in Cartopy and label with lat/lon.\n\n\n8 bit Z and V colormap and data scaling added to MetPy from operational AWIPS. \n\n\nLevel 3 data are retrieved from the \nUnidata EDEX Cloud server\n (\nedex-cloud.unidata.ucar.edu\n)\n\n\nRaw HDF5 byte data are converted to product values and scaled according to (page 3-34 https://www.roc.noaa.gov/wsr88d/PublicDocs/ICDS/2620001U.pdf)\nThe threshold level fields are used to describe (up to) 256 levels as follows:\n halfword 31 contains the minimum data value in m/s*10 (or dBZ*10)\n halfword 32 contains the increment in m/s*10 (or dBZ*10)\n halfword 33 contains the number of levels (0 - 255)\n\n\n\n\n\n\n\nAccording to the \nICD for the Product Specification\n, \n\"the 256 data levels of the digital product cover a range of reflectivity between -32.0 to +94.5 dBZ, in increments of 0.5 dBZ. Level codes 0 and 1 correspond to 'Below Threshold' and 'Range Folded', respectively, while level codes 2 through 255 correspond to the reflectivity data itself\"\n.\n\n\nSo it's really 254 color values between -32 and +94.5 dBZ.\n\n\nThe ICD lists 16 specific color levels and directs 256-level reflectivity products to use corresponding colors, leaving it the rendering application to scale and blend between the 16 color values, and to make decisions about discrete color changes, apparently.\n\n\n\nFor AWIPS, the National Weather Service uses a mostly-blended color scale with a discrete jump to red at reflectivity values of 50 dBZ:\n\n\n\n\n50 dBZ corresponds to the 16-level color \nlight red\n (\nFF6060\n). Note that \nFF6060\n is not used in the NWS AWIPS color scale, instead RGB value is given as \n255,0,0\n (hex code \nFF0000\n). 60 dBZ is not quite exactly where white starts, but it makes sense that it would. Obviously the AWIPS D2D authors took some liberties with their 256-level rendering, not adhering strictly to \"dark red\" for dBZ values between 60-65 (white was for 70 dBZ and above on the 16-level colormap). For this exercise we will assume 50 dBZ should be red and 60 dBZ white, and 75 dBZ cyan.\n\n\nSetup\n\uf0c1\n\n\n\n\npip install python-awips matplotlib cartopy metpy\n\n\n\n\nPython Script\n\uf0c1\n\n\nDownload this script as a \nJupyter Notebook\n.\n\n\nfrom awips.dataaccess import DataAccessLayer\nfrom awips import ThriftClient, RadarCommon\nfrom dynamicserialize.dstypes.com.raytheon.uf.common.time import TimeRange\nfrom dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.radar.request import GetRadarDataRecordRequest\nfrom datetime import datetime\nfrom datetime import timedelta\nimport matplotlib.pyplot as plt\nimport numpy as np\nfrom numpy import ma\nfrom metpy.plots import ctables\nimport cartopy.crs as ccrs\nfrom cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER\n\n# set EDEX server and radar site definitions\nsite = 'kmux'\nDataAccessLayer.changeEDEXHost('edex-cloud.unidata.ucar.edu')\nrequest = DataAccessLayer.newDataRequest()\nrequest.setDatatype('radar')\nrequest.setLocationNames(site)\n\n# Get latest time for site\ndatatimes = DataAccessLayer.getAvailableTimes(request)\ndateTimeStr = str(datatimes[-1])\ndateTimeStr = \"2017-02-02 03:53:03\"\nbuffer = 60 # seconds\ndateTime = datetime.strptime(dateTimeStr, '%Y-%m-%d %H:%M:%S')\n# Build timerange +/- buffer\nbeginRange = dateTime - timedelta(0, buffer)\nendRange = dateTime + timedelta(0, buffer)\ntimerange = TimeRange(beginRange, endRange)\n\n# GetRadarDataRecordRequest to query site with timerange\nclient = ThriftClient.ThriftClient('edex-cloud.unidata.ucar.edu')\nrequest = GetRadarDataRecordRequest()\nrequest.setTimeRange(timerange)\nrequest.setRadarId(site)\n\n# Map config\ndef make_map(bbox, projection=ccrs.PlateCarree()):\n fig, ax = plt.subplots(figsize=(12, 12),\n subplot_kw=dict(projection=projection))\n ax.set_extent(bbox)\n ax.coastlines(resolution='50m')\n gl = ax.gridlines(draw_labels=True)\n gl.xlabels_top = gl.ylabels_right = False\n gl.xformatter = LONGITUDE_FORMATTER\n gl.yformatter = LATITUDE_FORMATTER\n return fig, ax\n\n# ctable defines the colortable, beginning value, data increment\n# * For N0Q the scale is -20 to +75 dBZ in increments of 0.5 dBZ\n# * For N0U the scale is -100 to +100 kts in increments of 1 kt\nnexrad = {}\nnexrad[\"N0Q\"] = {\n 'id': 94, \n 'unit':'dBZ', \n 'name':'0.5 deg Base Reflectivity', \n 'ctable': ['NWSStormClearReflectivity',-20., 0.5], \n 'res': 1000.,\n 'elev': '0.5'\n}\nnexrad[\"N0U\"] = {\n 'id': 99, \n 'unit':'kts', \n 'name':'0.5 deg Base Velocity', \n 'ctable': ['NWS8bitVel',-100.,1.], \n 'res': 250.,\n 'elev': '0.5'\n}\ngrids = []\nfor code in nexrad:\n request.setProductCode(nexrad[code]['id'])\n request.setPrimaryElevationAngle(nexrad[code]['elev'])\n response = client.sendRequest(request)\n\n if response.getData():\n for record in response.getData():\n # Get record hdf5 data\n idra = record.getHdf5Data()\n rdat,azdat,depVals,threshVals = RadarCommon.get_hdf5_data(idra)\n dim = rdat.getDimension()\n lat,lon = float(record.getLatitude()),float(record.getLongitude())\n radials,rangeGates = rdat.getSizes()\n\n # Convert raw byte to pixel value\n rawValue=np.array(rdat.getByteData())\n array = []\n for rec in rawValue:\n if rec<0:\n rec+=256\n array.append(rec)\n\n if azdat:\n azVals = azdat.getFloatData()\n az = np.array(RadarCommon.encode_radial(azVals))\n dattyp = RadarCommon.get_data_type(azdat)\n az = np.append(az,az[-1])\n\n header = RadarCommon.get_header(record, format, rangeGates, radials, azdat, 'description')\n rng = np.linspace(0, rangeGates, rangeGates + 1)\n\n # Convert az/range to a lat/lon\n from pyproj import Geod\n g = Geod(ellps='clrk66')\n center_lat = np.ones([len(az),len(rng)])*lat \n center_lon = np.ones([len(az),len(rng)])*lon\n az2D = np.ones_like(center_lat)*az[:,None]\n rng2D = np.ones_like(center_lat)*np.transpose(rng[:,None])*nexrad[code]['res']\n lons,lats,back=g.fwd(center_lon,center_lat,az2D,rng2D)\n bbox = [lons.min(), lons.max(), lats.min(), lats.max()]\n\n # Create 2d array\n multiArray = np.reshape(array, (-1, rangeGates))\n data = ma.array(multiArray)\n\n # threshVals[0:2] contains halfwords 31,32,33 (min value, increment, num levels)\n data = ma.array(threshVals[0]/10. + (multiArray)*threshVals[1]/10.)\n\n if nexrad[code]['unit'] == 'kts':\n data[data<-63] = ma.masked\n data *= 1.94384 # Convert to knots\n else:\n data[data<=((threshVals[0]/10.)+threshVals[1]/10.)] = ma.masked\n\n # Save our requested grids so we can render them multiple times\n product = {\n \"code\": code,\n \"bbox\": bbox,\n \"lats\": lats,\n \"lons\": lons,\n \"data\": data\n }\n grids.append(product)\n\nprint(\"Processed \"+str(len(grids))+\" grids.\")\n\n\n\n\nProcessed 2 grids.\n\n\n\nPlot N0Q and N0U with Cartopy\n\uf0c1\n\n\nfor rec in grids:\n code = rec[\"code\"]\n bbox = rec[\"bbox\"]\n lats = rec[\"lats\"]\n lons = rec[\"lons\"]\n data = rec[\"data\"]\n # Create figure\n %matplotlib inline\n fig, ax = make_map(bbox=bbox)\n # Colortable filename, beginning value, increment\n ctable = nexrad[code]['ctable'][0]\n beg = nexrad[code]['ctable'][1]\n inc = nexrad[code]['ctable'][2]\n\n norm, cmap = ctables.registry.get_with_steps(ctable, beg, inc)\n cs = ax.pcolormesh(lons, lats, data, norm=norm, cmap=cmap)\n ax.set_aspect('equal', 'datalim')\n\n cbar = plt.colorbar(cs, extend='both', shrink=0.75, orientation='horizontal')\n cbar.set_label(site.upper()+\" \"+ str(nexrad[code]['res']/1000.) +\"km \" \\\n +nexrad[code]['name']+\" (\"+code+\") \" \\\n +nexrad[code]['unit']+\" \" \\\n +str(record.getDataTime()))\n\n # Zoom to within +-2 deg of center\n ax.set_xlim(lon-2., lon+2.)\n ax.set_ylim(lat-2., lat+2.)\n\n plt.show()\n\n\n\n\n\n\n\n\ncompare with the same product scan rendered in AWIPS CAVE (slightly different projections and still some color mapping differences, most noticeable in ground clutter).\n\n\n\n\nTwo-panel plot, zoomed in\n\uf0c1\n\n\nfig, axes = plt.subplots(ncols=2,figsize=(12,9),\n subplot_kw=dict(projection=ccrs.PlateCarree()))\ni=0\nfor rec,ax in zip(grids, axes):\n\n code = rec[\"code\"]\n bbox = rec[\"bbox\"]\n lats = rec[\"lats\"]\n lons = rec[\"lons\"]\n data = rec[\"data\"]\n\n # Create figure\n ax.set_extent(bbox)\n ax.coastlines(resolution='50m')\n gl = ax.gridlines(draw_labels=True)\n gl.xlabels_top = gl.ylabels_right = False\n if i>0: gl.ylabels_left = False # hide right-pane left axis label\n gl.xformatter = LONGITUDE_FORMATTER\n gl.yformatter = LATITUDE_FORMATTER\n\n # Colortable filename, beginning value, increment\n colorvals=nexrad[code]['ctable']\n ctable = nexrad[code]['ctable'][0]\n beg = nexrad[code]['ctable'][1]\n inc = nexrad[code]['ctable'][2]\n\n norm, cmap = ctables.registry.get_with_steps(ctable, beg, inc)\n cs = ax.pcolormesh(lons, lats, data, norm=norm, cmap=cmap)\n ax.set_aspect('equal', 'datalim')\n cbar = fig.colorbar(cs, orientation='horizontal', ax=ax)\n cbar.set_label(site.upper()+\" \"+code+\" \"+nexrad[code]['unit']+\" \"+str(record.getDataTime()))\n plt.tight_layout()\n\n # Zoom\n ax.set_xlim(lon-.1, lon+.1)\n ax.set_ylim(lat-.1, lat+.1)\n i+=1\n\n\n\n\n\n\nand again compared to CAVE",
"title": "NEXRAD Level 3 Radar"
},
{
"location": "/python/nexrad-level-3-radar/#setup",
"text": "pip install python-awips matplotlib cartopy metpy",
"title": "Setup"
},
{
"location": "/python/nexrad-level-3-radar/#python-script",
"text": "Download this script as a Jupyter Notebook . from awips.dataaccess import DataAccessLayer\nfrom awips import ThriftClient, RadarCommon\nfrom dynamicserialize.dstypes.com.raytheon.uf.common.time import TimeRange\nfrom dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.radar.request import GetRadarDataRecordRequest\nfrom datetime import datetime\nfrom datetime import timedelta\nimport matplotlib.pyplot as plt\nimport numpy as np\nfrom numpy import ma\nfrom metpy.plots import ctables\nimport cartopy.crs as ccrs\nfrom cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER\n\n# set EDEX server and radar site definitions\nsite = 'kmux'\nDataAccessLayer.changeEDEXHost('edex-cloud.unidata.ucar.edu')\nrequest = DataAccessLayer.newDataRequest()\nrequest.setDatatype('radar')\nrequest.setLocationNames(site)\n\n# Get latest time for site\ndatatimes = DataAccessLayer.getAvailableTimes(request)\ndateTimeStr = str(datatimes[-1])\ndateTimeStr = \"2017-02-02 03:53:03\"\nbuffer = 60 # seconds\ndateTime = datetime.strptime(dateTimeStr, '%Y-%m-%d %H:%M:%S')\n# Build timerange +/- buffer\nbeginRange = dateTime - timedelta(0, buffer)\nendRange = dateTime + timedelta(0, buffer)\ntimerange = TimeRange(beginRange, endRange)\n\n# GetRadarDataRecordRequest to query site with timerange\nclient = ThriftClient.ThriftClient('edex-cloud.unidata.ucar.edu')\nrequest = GetRadarDataRecordRequest()\nrequest.setTimeRange(timerange)\nrequest.setRadarId(site)\n\n# Map config\ndef make_map(bbox, projection=ccrs.PlateCarree()):\n fig, ax = plt.subplots(figsize=(12, 12),\n subplot_kw=dict(projection=projection))\n ax.set_extent(bbox)\n ax.coastlines(resolution='50m')\n gl = ax.gridlines(draw_labels=True)\n gl.xlabels_top = gl.ylabels_right = False\n gl.xformatter = LONGITUDE_FORMATTER\n gl.yformatter = LATITUDE_FORMATTER\n return fig, ax\n\n# ctable defines the colortable, beginning value, data increment\n# * For N0Q the scale is -20 to +75 dBZ in increments of 0.5 dBZ\n# * For N0U the scale is -100 to +100 kts in increments of 1 kt\nnexrad = {}\nnexrad[\"N0Q\"] = {\n 'id': 94, \n 'unit':'dBZ', \n 'name':'0.5 deg Base Reflectivity', \n 'ctable': ['NWSStormClearReflectivity',-20., 0.5], \n 'res': 1000.,\n 'elev': '0.5'\n}\nnexrad[\"N0U\"] = {\n 'id': 99, \n 'unit':'kts', \n 'name':'0.5 deg Base Velocity', \n 'ctable': ['NWS8bitVel',-100.,1.], \n 'res': 250.,\n 'elev': '0.5'\n}\ngrids = []\nfor code in nexrad:\n request.setProductCode(nexrad[code]['id'])\n request.setPrimaryElevationAngle(nexrad[code]['elev'])\n response = client.sendRequest(request)\n\n if response.getData():\n for record in response.getData():\n # Get record hdf5 data\n idra = record.getHdf5Data()\n rdat,azdat,depVals,threshVals = RadarCommon.get_hdf5_data(idra)\n dim = rdat.getDimension()\n lat,lon = float(record.getLatitude()),float(record.getLongitude())\n radials,rangeGates = rdat.getSizes()\n\n # Convert raw byte to pixel value\n rawValue=np.array(rdat.getByteData())\n array = []\n for rec in rawValue:\n if rec<0:\n rec+=256\n array.append(rec)\n\n if azdat:\n azVals = azdat.getFloatData()\n az = np.array(RadarCommon.encode_radial(azVals))\n dattyp = RadarCommon.get_data_type(azdat)\n az = np.append(az,az[-1])\n\n header = RadarCommon.get_header(record, format, rangeGates, radials, azdat, 'description')\n rng = np.linspace(0, rangeGates, rangeGates + 1)\n\n # Convert az/range to a lat/lon\n from pyproj import Geod\n g = Geod(ellps='clrk66')\n center_lat = np.ones([len(az),len(rng)])*lat \n center_lon = np.ones([len(az),len(rng)])*lon\n az2D = np.ones_like(center_lat)*az[:,None]\n rng2D = np.ones_like(center_lat)*np.transpose(rng[:,None])*nexrad[code]['res']\n lons,lats,back=g.fwd(center_lon,center_lat,az2D,rng2D)\n bbox = [lons.min(), lons.max(), lats.min(), lats.max()]\n\n # Create 2d array\n multiArray = np.reshape(array, (-1, rangeGates))\n data = ma.array(multiArray)\n\n # threshVals[0:2] contains halfwords 31,32,33 (min value, increment, num levels)\n data = ma.array(threshVals[0]/10. + (multiArray)*threshVals[1]/10.)\n\n if nexrad[code]['unit'] == 'kts':\n data[data<-63] = ma.masked\n data *= 1.94384 # Convert to knots\n else:\n data[data<=((threshVals[0]/10.)+threshVals[1]/10.)] = ma.masked\n\n # Save our requested grids so we can render them multiple times\n product = {\n \"code\": code,\n \"bbox\": bbox,\n \"lats\": lats,\n \"lons\": lons,\n \"data\": data\n }\n grids.append(product)\n\nprint(\"Processed \"+str(len(grids))+\" grids.\") Processed 2 grids.",
"title": "Python Script"
},
{
"location": "/python/nexrad-level-3-radar/#plot-n0q-and-n0u-with-cartopy",
"text": "for rec in grids:\n code = rec[\"code\"]\n bbox = rec[\"bbox\"]\n lats = rec[\"lats\"]\n lons = rec[\"lons\"]\n data = rec[\"data\"]\n # Create figure\n %matplotlib inline\n fig, ax = make_map(bbox=bbox)\n # Colortable filename, beginning value, increment\n ctable = nexrad[code]['ctable'][0]\n beg = nexrad[code]['ctable'][1]\n inc = nexrad[code]['ctable'][2]\n\n norm, cmap = ctables.registry.get_with_steps(ctable, beg, inc)\n cs = ax.pcolormesh(lons, lats, data, norm=norm, cmap=cmap)\n ax.set_aspect('equal', 'datalim')\n\n cbar = plt.colorbar(cs, extend='both', shrink=0.75, orientation='horizontal')\n cbar.set_label(site.upper()+\" \"+ str(nexrad[code]['res']/1000.) +\"km \" \\\n +nexrad[code]['name']+\" (\"+code+\") \" \\\n +nexrad[code]['unit']+\" \" \\\n +str(record.getDataTime()))\n\n # Zoom to within +-2 deg of center\n ax.set_xlim(lon-2., lon+2.)\n ax.set_ylim(lat-2., lat+2.)\n\n plt.show() compare with the same product scan rendered in AWIPS CAVE (slightly different projections and still some color mapping differences, most noticeable in ground clutter).",
"title": "Plot N0Q and N0U with Cartopy"
},
{
"location": "/python/nexrad-level-3-radar/#two-panel-plot-zoomed-in",
"text": "fig, axes = plt.subplots(ncols=2,figsize=(12,9),\n subplot_kw=dict(projection=ccrs.PlateCarree()))\ni=0\nfor rec,ax in zip(grids, axes):\n\n code = rec[\"code\"]\n bbox = rec[\"bbox\"]\n lats = rec[\"lats\"]\n lons = rec[\"lons\"]\n data = rec[\"data\"]\n\n # Create figure\n ax.set_extent(bbox)\n ax.coastlines(resolution='50m')\n gl = ax.gridlines(draw_labels=True)\n gl.xlabels_top = gl.ylabels_right = False\n if i>0: gl.ylabels_left = False # hide right-pane left axis label\n gl.xformatter = LONGITUDE_FORMATTER\n gl.yformatter = LATITUDE_FORMATTER\n\n # Colortable filename, beginning value, increment\n colorvals=nexrad[code]['ctable']\n ctable = nexrad[code]['ctable'][0]\n beg = nexrad[code]['ctable'][1]\n inc = nexrad[code]['ctable'][2]\n\n norm, cmap = ctables.registry.get_with_steps(ctable, beg, inc)\n cs = ax.pcolormesh(lons, lats, data, norm=norm, cmap=cmap)\n ax.set_aspect('equal', 'datalim')\n cbar = fig.colorbar(cs, orientation='horizontal', ax=ax)\n cbar.set_label(site.upper()+\" \"+code+\" \"+nexrad[code]['unit']+\" \"+str(record.getDataTime()))\n plt.tight_layout()\n\n # Zoom\n ax.set_xlim(lon-.1, lon+.1)\n ax.set_ylim(lat-.1, lat+.1)\n i+=1 and again compared to CAVE",
"title": "Two-panel plot, zoomed in"
},
{
"location": "/python/upper-air-bufr-soundings/",
"text": "The following script takes you through the steps of retrieving an Upper Air vertical profile from an AWIPS EDEX server and plotting a Skew-T/Log-P chart with Matplotlib and MetPy.\n\n\nThe \nbufrua\n plugin returns separate objects for parameters at \nmandatory levels\n and at \nsignificant temperature levels\n. For the Skew-T/Log-P plot, significant temperature levels are used to plot the pressure, temperature, and dewpoint lines, while mandatory levels are used to plot the wind profile.\n\n\n%matplotlib inline\nfrom awips.dataaccess import DataAccessLayer\nimport matplotlib.tri as mtri\nimport matplotlib.pyplot as plt\nfrom mpl_toolkits.axes_grid1.inset_locator import inset_axes\nimport numpy as np\nimport math\nfrom metpy.calc import get_wind_speed, get_wind_components, lcl, dry_lapse, parcel_profile\nfrom metpy.plots import SkewT, Hodograph\nfrom metpy.units import units, concatenate\n\n# Set host\nDataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\nrequest = DataAccessLayer.newDataRequest()\n\n# Set data type\nrequest.setDatatype(\"bufrua\")\navailableLocs = DataAccessLayer.getAvailableLocationNames(request)\navailableLocs.sort()\n\n# Set Mandatory and Significant Temperature level parameters\nMAN_PARAMS = set(['prMan', 'htMan', 'tpMan', 'tdMan', 'wdMan', 'wsMan'])\nSIGT_PARAMS = set(['prSigT', 'tpSigT', 'tdSigT'])\nrequest.setParameters(\"wmoStaNum\", \"validTime\", \"rptType\", \"staElev\", \"numMand\",\n \"numSigT\", \"numSigW\", \"numTrop\", \"numMwnd\", \"staName\")\nrequest.getParameters().extend(MAN_PARAMS)\nrequest.getParameters().extend(SIGT_PARAMS)\n\n# Set station ID (not name)\nrequest.setLocationNames(\"72562\") #KLBF\n\n# Get all times\ndatatimes = DataAccessLayer.getAvailableTimes(request)\n\n# Get most recent record\nresponse = DataAccessLayer.getGeometryData(request,times=datatimes[-1].validPeriod)\n\n# Initialize data arrays\ntdMan,tpMan,prMan,wdMan,wsMan = np.array([]),np.array([]),np.array([]),np.array([]),np.array([])\nprSig,tpSig,tdSig = np.array([]),np.array([]),np.array([])\nmanGeos = []\nsigtGeos = []\n\n# Build arrays\nfor ob in response:\n if set(ob.getParameters()) & MAN_PARAMS:\n manGeos.append(ob)\n prMan = np.append(prMan,ob.getNumber(\"prMan\"))\n tpMan = np.append(tpMan,ob.getNumber(\"tpMan\"))\n tdMan = np.append(tdMan,ob.getNumber(\"tdMan\"))\n wdMan = np.append(wdMan,ob.getNumber(\"wdMan\"))\n wsMan = np.append(wsMan,ob.getNumber(\"wsMan\"))\n continue\n if set(ob.getParameters()) & SIGT_PARAMS:\n sigtGeos.append(ob)\n prSig = np.append(prSig,ob.getNumber(\"prSigT\"))\n tpSig = np.append(tpSig,ob.getNumber(\"tpSigT\"))\n tdSig = np.append(tdSig,ob.getNumber(\"tdSigT\"))\n continue\n\n# Sort mandatory levels (but not sigT levels) because of the 1000.MB interpolation inclusion\nps = prMan.argsort()[::-1]\nwpres = prMan[ps]\ndirec = wdMan[ps]\nspd = wsMan[ps]\ntman = tpMan[ps]\ndman = tdMan[ps]\n\n# Flag missing data\nprSig[prSig <= -9999] = np.nan\ntpSig[tpSig <= -9999] = np.nan\ntdSig[tdSig <= -9999] = np.nan\nwpres[wpres <= -9999] = np.nan\ntman[tman <= -9999] = np.nan\ndman[dman <= -9999] = np.nan\ndirec[direc <= -9999] = np.nan\nspd[spd <= -9999] = np.nan\n\n# assign units\np = (prSig/100) * units.mbar\nT = (tpSig-273.15) * units.degC\nTd = (tdSig-273.15) * units.degC\nwpres = (wpres/100) * units.mbar\ntman = tman * units.degC\ndman = dman * units.degC\nu,v = get_wind_components(spd, np.deg2rad(direc))\n\n# Create SkewT/LogP\nplt.rcParams['figure.figsize'] = (8, 10)\nskew = SkewT()\nskew.plot(p, T, 'r', linewidth=2)\nskew.plot(p, Td, 'g', linewidth=2)\nskew.plot_barbs(wpres, u, v)\nskew.ax.set_ylim(1000, 100)\nskew.ax.set_xlim(-30, 30)\n\ntitle_string = \" T(F) Td \" \ntitle_string += \" \" + str(ob.getString(\"staName\"))\ntitle_string += \" \" + str(ob.getDataTime().getRefTime())\ntitle_string += \" (\" + str(ob.getNumber(\"staElev\")) + \"m elev)\"\ntitle_string += \"\\n\" + str(round(T[0].to('degF').item(),1))\ntitle_string += \" \" + str(round(Td[0].to('degF').item(),1))\nplt.title(title_string, loc='left')\n\n# Calculate LCL height and plot as black dot\nl = lcl(p[0], T[0], Td[0])\nlcl_temp = dry_lapse(concatenate((p[0], l)), T[0])[-1].to('degC')\nskew.plot(l, lcl_temp, 'ko', markerfacecolor='black')\n\n# Calculate full parcel profile and add to plot as black line\nprof = parcel_profile(p, T[0], Td[0]).to('degC')\nskew.plot(p, prof, 'k', linewidth=2)\n\n# An example of a slanted line at constant T -- in this case the 0 isotherm\nl = skew.ax.axvline(0, color='c', linestyle='--', linewidth=2)\n\n# Draw hodograph\nax_hod = inset_axes(skew.ax, '30%', '30%', loc=3)\nh = Hodograph(ax_hod, component_range=max(wsMan))\nh.add_grid(increment=20)\nh.plot_colormapped(u, v, spd)\n\n# Show the plot\nplt.show()",
"title": "Upper air BUFR Soundings"
},
{
"location": "/python/model-sounding-data/",
"text": "The EDEX modelsounding plugin creates 64-level vertical profiles from GFS and ETA (NAM) BUFR products distirubted over NOAAport. Paramters which are requestable are \npressure\n, \ntemperature\n, \nspecHum\n, \nuComp\n, \nvComp\n, \nomega\n, \ncldCvr\n.\n\n\nfrom awips.dataaccess import DataAccessLayer\nimport matplotlib.tri as mtri\nimport matplotlib.pyplot as plt\nfrom mpl_toolkits.axes_grid1.inset_locator import inset_axes\nfrom math import exp, log\nimport numpy as np\n\nDataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\nrequest = DataAccessLayer.newDataRequest()\nrequest.setDatatype(\"modelsounding\")\nforecastModel = \"GFS\"\nrequest.addIdentifier(\"reportType\", forecastModel)\nrequest.setParameters(\"pressure\",\"temperature\",\"specHum\",\"uComp\",\"vComp\",\"omega\",\"cldCvr\")\nlocations = DataAccessLayer.getAvailableLocationNames(request)\nlocations.sort()\nlist(locations)\n\n\n\n\n['CHE',\n 'CRL',\n 'EAX',\n 'HSI',\n 'KDSM',\n 'KFOE',\n 'KFRM',\n 'KFSD',\n 'KGRI',\n 'KLNK',\n 'KMCI',\n 'KMCW',\n 'KMHE',\n 'KMHK',\n 'KMKC',\n 'KOFK',\n 'KOMA',\n 'KRSL',\n 'KSLN',\n 'KSTJ',\n 'KSUX',\n 'KTOP',\n 'KYKN',\n 'OAX',\n 'P#8',\n 'P#9',\n 'P#A',\n 'P#G',\n 'P#I',\n 'RDD',\n 'WSC']\n\n\n\nrequest.setLocationNames(\"KMCI\")\ncycles = DataAccessLayer.getAvailableTimes(request, True)\ntimes = DataAccessLayer.getAvailableTimes(request)\n\ntry:\n fcstRun = DataAccessLayer.getForecastRun(cycles[-1], times)\n list(fcstRun)\n response = DataAccessLayer.getGeometryData(request,[fcstRun[0]])\nexcept:\n print('No times available')\n exit\n\n\n\n\ntmp,prs,sh = np.array([]),np.array([]),np.array([])\nuc,vc,om,cld = np.array([]),np.array([]),np.array([]),np.array([])\n\nfor ob in response:\n tmp = np.append(tmp,ob.getNumber(\"temperature\"))\n prs = np.append(prs,ob.getNumber(\"pressure\"))\n sh = np.append(sh,ob.getNumber(\"specHum\"))\n uc = np.append(uc,ob.getNumber(\"uComp\"))\n vc = np.append(vc,ob.getNumber(\"vComp\"))\n om = np.append(om,ob.getNumber(\"omega\"))\n cld = np.append(cld,ob.getNumber(\"cldCvr\"))\n\nprint(\"parms = \" + str(ob.getParameters()))\nprint(\"site = \" + str(ob.getLocationName()))\nprint(\"geom = \" + str(ob.getGeometry()))\nprint(\"datetime = \" + str(ob.getDataTime()))\nprint(\"reftime = \" + str(ob.getDataTime().getRefTime()))\nprint(\"fcstHour = \" + str(ob.getDataTime().getFcstTime()))\nprint(\"period = \" + str(ob.getDataTime().getValidPeriod()))\nsounding_title = forecastModel + \" \" + str(ob.getLocationName()) + \"(\"+ str(ob.getGeometry())+\")\" + str(ob.getDataTime())\n\n\n\n\nparms = ['uComp', 'cldCvr', 'temperature', 'vComp', 'pressure', 'omega', 'specHum']\nsite = KMCI\ngeom = POINT (-94.72000122070312 39.31999969482422)\ndatetime = 1970-01-18 04:45:50.400000 (0)\nreftime = Jan 18 70 04:45:50 GMT\nfcstHour = 0\nperiod = (Jan 18 70 04:45:50 , Jan 18 70 04:45:50 )\n\n\n\nCreate data arrays and calculate dewpoint from spec. humidity\n\uf0c1\n\n\nfrom metpy.calc import get_wind_components, lcl, dry_lapse, parcel_profile, dewpoint\nfrom metpy.calc import get_wind_speed,get_wind_dir, thermo, vapor_pressure\nfrom metpy.plots import SkewT, Hodograph\nfrom metpy.units import units, concatenate\n\n# we can use units.* here...\nt = (tmp-273.15) * units.degC\np = prs/100 * units.mbar\n\nu,v = uc*1.94384,vc*1.94384 # m/s to knots\nspd = get_wind_speed(u, v) * units.knots\ndir = get_wind_dir(u, v) * units.deg\n\n\n\n\nDewpoint from Specific Humidity\n\uf0c1\n\n\nBecause the modelsounding plugin does not return dewpoint values, we must calculate the profile ourselves. Here are three examples of dewpoint calculated from specific humidity, including a manual calculation following NCEP AWIPS/NSHARP. \n\n\n1) metpy calculated mixing ratio and vapor pressure\n\uf0c1\n\n\nfrom metpy.calc import get_wind_components, lcl, dry_lapse, parcel_profile, dewpoint\nfrom metpy.calc import get_wind_speed,get_wind_dir, thermo, vapor_pressure\nfrom metpy.plots import SkewT, Hodograph\nfrom metpy.units import units, concatenate\n\n# we can use units.* here...\nt = (tmp-273.15) * units.degC\np = prs/100 * units.mbar\n\nu,v = uc*1.94384,vc*1.94384 # m/s to knots\nspd = get_wind_speed(u, v) * units.knots\ndir = get_wind_dir(u, v) * units.deg\n\n\n\n\nrmix = (sh/(1-sh)) *1000 * units('g/kg')\ne = vapor_pressure(p, rmix)\ntd = dewpoint(e)\n\n\n\n\n/Users/mj/miniconda2/lib/python2.7/site-packages/MetPy-0.3.0+34.gcf954c5-py2.7.egg/metpy/calc/thermo.py:371: RuntimeWarning: divide by zero encountered in log\n val = np.log(e / sat_pressure_0c)\n/Users/mj/miniconda2/lib/python2.7/site-packages/pint/quantity.py:1236: RuntimeWarning: divide by zero encountered in log\n out = uf(*mobjs)\n/Users/mj/miniconda2/lib/python2.7/site-packages/pint/quantity.py:693: RuntimeWarning: invalid value encountered in true_divide\n magnitude = magnitude_op(self._magnitude, other_magnitude)\n\n\n\n2) metpy calculated assuming spec. humidity = mixing ratio\n\uf0c1\n\n\ntd2 = dewpoint(vapor_pressure(p, sh))\n\n\n\n\n3) NCEP AWIPS soundingrequest plugin\n\uf0c1\n\n\nbased on GEMPAK/NSHARP, from https://github.com/Unidata/awips2-ncep/blob/unidata_16.2.2/edex/gov.noaa.nws.ncep.edex.plugin.soundingrequest/src/gov/noaa/nws/ncep/edex/plugin/soundingrequest/handler/MergeSounding.java#L1783\n\n\n# new arrays\nntmp = tmp\n\n# where p=pressure(pa), T=temp(C), T0=reference temp(273.16)\nrh = 0.263*prs*sh / (np.exp(17.67*ntmp/(ntmp+273.15-29.65)))\nvaps = 6.112 * np.exp((17.67 * ntmp) / (ntmp + 243.5))\nvapr = rh * vaps / 100\ndwpc = np.array(243.5 * (np.log(6.112) - np.log(vapr)) / (np.log(vapr) - np.log(6.112) - 17.67)) * units.degC\n\n\n\n\n/Users/mj/miniconda2/lib/python2.7/site-packages/ipykernel/__main__.py:8: RuntimeWarning: divide by zero encountered in log\n/Users/mj/miniconda2/lib/python2.7/site-packages/ipykernel/__main__.py:8: RuntimeWarning: invalid value encountered in divide\n\n\n\nPlot with MetPy\n\uf0c1\n\n\n%matplotlib inline\n\nplt.rcParams['figure.figsize'] = (12, 14)\n\n# Create a skewT plot\nskew = SkewT()\n\n# Plot the data\nskew.plot(p, t, 'r', linewidth=2)\nskew.plot(p, td, 'b', linewidth=2)\nskew.plot(p, td2, 'y')\nskew.plot(p, dwpc, 'g', linewidth=2)\n\nskew.plot_barbs(p, u, v)\nskew.ax.set_ylim(1000, 100)\nskew.ax.set_xlim(-40, 60)\n\nplt.title(sounding_title)\n\n# Calculate LCL height and plot as black dot\nl = lcl(p[0], t[0], td[0])\nlcl_temp = dry_lapse(concatenate((p[0], l)), t[0])[-1].to('degC')\nskew.plot(l, lcl_temp, 'ko', markerfacecolor='black')\n\n\n# An example of a slanted line at constant T -- in this case the 0 isotherm\nl = skew.ax.axvline(0, color='c', linestyle='--', linewidth=2)\n\n# Draw hodograph\nax_hod = inset_axes(skew.ax, '40%', '40%', loc=2)\nh = Hodograph(ax_hod, component_range=get_wind_speed(u, v).max())\nh.add_grid(increment=20)\nh.plot_colormapped(u, v, spd)\n\n# Show the plot\nplt.show()",
"title": "Model Sounding Data"
},
{
"location": "/python/model-sounding-data/#create-data-arrays-and-calculate-dewpoint-from-spec-humidity",
"text": "from metpy.calc import get_wind_components, lcl, dry_lapse, parcel_profile, dewpoint\nfrom metpy.calc import get_wind_speed,get_wind_dir, thermo, vapor_pressure\nfrom metpy.plots import SkewT, Hodograph\nfrom metpy.units import units, concatenate\n\n# we can use units.* here...\nt = (tmp-273.15) * units.degC\np = prs/100 * units.mbar\n\nu,v = uc*1.94384,vc*1.94384 # m/s to knots\nspd = get_wind_speed(u, v) * units.knots\ndir = get_wind_dir(u, v) * units.deg",
"title": "Create data arrays and calculate dewpoint from spec. humidity"
},
{
"location": "/python/model-sounding-data/#dewpoint-from-specific-humidity",
"text": "Because the modelsounding plugin does not return dewpoint values, we must calculate the profile ourselves. Here are three examples of dewpoint calculated from specific humidity, including a manual calculation following NCEP AWIPS/NSHARP.",
"title": "Dewpoint from Specific Humidity"
},
{
"location": "/python/model-sounding-data/#1-metpy-calculated-mixing-ratio-and-vapor-pressure",
"text": "from metpy.calc import get_wind_components, lcl, dry_lapse, parcel_profile, dewpoint\nfrom metpy.calc import get_wind_speed,get_wind_dir, thermo, vapor_pressure\nfrom metpy.plots import SkewT, Hodograph\nfrom metpy.units import units, concatenate\n\n# we can use units.* here...\nt = (tmp-273.15) * units.degC\np = prs/100 * units.mbar\n\nu,v = uc*1.94384,vc*1.94384 # m/s to knots\nspd = get_wind_speed(u, v) * units.knots\ndir = get_wind_dir(u, v) * units.deg rmix = (sh/(1-sh)) *1000 * units('g/kg')\ne = vapor_pressure(p, rmix)\ntd = dewpoint(e) /Users/mj/miniconda2/lib/python2.7/site-packages/MetPy-0.3.0+34.gcf954c5-py2.7.egg/metpy/calc/thermo.py:371: RuntimeWarning: divide by zero encountered in log\n val = np.log(e / sat_pressure_0c)\n/Users/mj/miniconda2/lib/python2.7/site-packages/pint/quantity.py:1236: RuntimeWarning: divide by zero encountered in log\n out = uf(*mobjs)\n/Users/mj/miniconda2/lib/python2.7/site-packages/pint/quantity.py:693: RuntimeWarning: invalid value encountered in true_divide\n magnitude = magnitude_op(self._magnitude, other_magnitude)",
"title": "1) metpy calculated mixing ratio and vapor pressure"
},
{
"location": "/python/model-sounding-data/#2-metpy-calculated-assuming-spec-humidity-mixing-ratio",
"text": "td2 = dewpoint(vapor_pressure(p, sh))",
"title": "2) metpy calculated assuming spec. humidity = mixing ratio"
},
{
"location": "/python/model-sounding-data/#3-ncep-awips-soundingrequest-plugin",
"text": "based on GEMPAK/NSHARP, from https://github.com/Unidata/awips2-ncep/blob/unidata_16.2.2/edex/gov.noaa.nws.ncep.edex.plugin.soundingrequest/src/gov/noaa/nws/ncep/edex/plugin/soundingrequest/handler/MergeSounding.java#L1783 # new arrays\nntmp = tmp\n\n# where p=pressure(pa), T=temp(C), T0=reference temp(273.16)\nrh = 0.263*prs*sh / (np.exp(17.67*ntmp/(ntmp+273.15-29.65)))\nvaps = 6.112 * np.exp((17.67 * ntmp) / (ntmp + 243.5))\nvapr = rh * vaps / 100\ndwpc = np.array(243.5 * (np.log(6.112) - np.log(vapr)) / (np.log(vapr) - np.log(6.112) - 17.67)) * units.degC /Users/mj/miniconda2/lib/python2.7/site-packages/ipykernel/__main__.py:8: RuntimeWarning: divide by zero encountered in log\n/Users/mj/miniconda2/lib/python2.7/site-packages/ipykernel/__main__.py:8: RuntimeWarning: invalid value encountered in divide",
"title": "3) NCEP AWIPS soundingrequest plugin"
},
{
"location": "/python/model-sounding-data/#plot-with-metpy",
"text": "%matplotlib inline\n\nplt.rcParams['figure.figsize'] = (12, 14)\n\n# Create a skewT plot\nskew = SkewT()\n\n# Plot the data\nskew.plot(p, t, 'r', linewidth=2)\nskew.plot(p, td, 'b', linewidth=2)\nskew.plot(p, td2, 'y')\nskew.plot(p, dwpc, 'g', linewidth=2)\n\nskew.plot_barbs(p, u, v)\nskew.ax.set_ylim(1000, 100)\nskew.ax.set_xlim(-40, 60)\n\nplt.title(sounding_title)\n\n# Calculate LCL height and plot as black dot\nl = lcl(p[0], t[0], td[0])\nlcl_temp = dry_lapse(concatenate((p[0], l)), t[0])[-1].to('degC')\nskew.plot(l, lcl_temp, 'ko', markerfacecolor='black')\n\n\n# An example of a slanted line at constant T -- in this case the 0 isotherm\nl = skew.ax.axvline(0, color='c', linestyle='--', linewidth=2)\n\n# Draw hodograph\nax_hod = inset_axes(skew.ax, '40%', '40%', loc=2)\nh = Hodograph(ax_hod, component_range=get_wind_speed(u, v).max())\nh.add_grid(increment=20)\nh.plot_colormapped(u, v, spd)\n\n# Show the plot\nplt.show()",
"title": "Plot with MetPy"
},
{
"location": "/python/map-resources-and-topography/",
"text": "The \npython-awips\n package provides access to the entire AWIPS Maps Database for use in Python GIS applications. Map objects are returned as \nShapely\n geometries (\nPolygon\n, \nPoint\n, \nMultiLineString\n, etc.) and can be plotted by Matplotlib, Cartopy, MetPy, and other packages. \n\n\nEach map database table has a geometry field called \nthe_geom\n, which can be used to spatially select map resources for any column of type geometry. \n\n\n\n\nSee the \nMaps Database Reference Page\n for available database tables, column names, and types. \n\n\n\n\nNotes\n\uf0c1\n\n\n\n\nThis notebook requires: \npython-awips, numpy, matplotplib, cartopy, shapely\n\n\nUse datatype \nmaps\n and \naddIdentifier('table', <postgres maps schema>)\n to define the map table:\n DataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\n request = DataAccessLayer.newDataRequest('maps')\n request.addIdentifier('table', 'mapdata.county')\n\n\nUse \nrequest.setLocationNames()\n and \nrequest.addIdentifier()\n to spatially filter a map resource. In the example below, WFO ID \nBOU\n (Boulder, Colorado) is used to query counties within the BOU county watch area (CWA) \nrequest.addIdentifier('geomField', 'the_geom')\nrequest.addIdentifier('inLocation', 'true')\nrequest.addIdentifier('locationField', 'cwa')\nrequest.setLocationNames('BOU')\nrequest.addIdentifier('cwa', 'BOU')\n\n\n\n\n\n\n\n\n\nNote the geometry definition of \nthe_geom\n for each data type, which can be \nPoint\n, \nMultiPolygon\n, or \nMultiLineString\n.\n\n\n\n\nSetup\n\uf0c1\n\n\nfrom __future__ import print_function\nfrom awips.dataaccess import DataAccessLayer\nimport matplotlib.pyplot as plt\nimport cartopy.crs as ccrs\nimport numpy as np\nfrom cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER\nfrom cartopy.feature import ShapelyFeature,NaturalEarthFeature\nfrom shapely.geometry import Polygon\nfrom shapely.ops import cascaded_union\n\n# Standard map plot\ndef make_map(bbox, projection=ccrs.PlateCarree()):\n fig, ax = plt.subplots(figsize=(12,12),\n subplot_kw=dict(projection=projection))\n ax.set_extent(bbox)\n ax.coastlines(resolution='50m')\n gl = ax.gridlines(draw_labels=True)\n gl.xlabels_top = gl.ylabels_right = False\n gl.xformatter = LONGITUDE_FORMATTER\n gl.yformatter = LATITUDE_FORMATTER\n return fig, ax\n\n# Server, Data Request Type, and Database Table\nDataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\nrequest = DataAccessLayer.newDataRequest('maps')\nrequest.addIdentifier('table', 'mapdata.county')\n\n\n\n\nRequest County Boundaries for a WFO\n\uf0c1\n\n\n\n\nUse \nrequest.setParameters()\n to define fields to be returned by the request.\n\n\n\n\n# Define a WFO ID for location\n# tie this ID to the mapdata.county column \"cwa\" for filtering\nrequest.setLocationNames('BOU')\nrequest.addIdentifier('cwa', 'BOU')\n\n# enable location filtering (inLocation)\n# locationField is tied to the above cwa definition (BOU)\nrequest.addIdentifier('geomField', 'the_geom')\nrequest.addIdentifier('inLocation', 'true')\nrequest.addIdentifier('locationField', 'cwa')\n\n# This is essentially the same as \"'\"select count(*) from mapdata.cwa where cwa='BOU';\" (=1)\n\n# Get response and create dict of county geometries\nresponse = DataAccessLayer.getGeometryData(request, [])\ncounties = np.array([])\nfor ob in response:\n counties = np.append(counties,ob.getGeometry())\nprint(\"Using \" + str(len(counties)) + \" county MultiPolygons\")\n\n\n%matplotlib inline\n# All WFO counties merged to a single Polygon\nmerged_counties = cascaded_union(counties)\nenvelope = merged_counties.buffer(2)\nboundaries=[merged_counties]\n\n# Get bounds of this merged Polygon to use as buffered map extent\nbounds = merged_counties.bounds\nbbox=[bounds[0]-1,bounds[2]+1,bounds[1]-1.5,bounds[3]+1.5]\n\n\nfig, ax = make_map(bbox=bbox)\n# Plot political/state boundaries handled by Cartopy\npolitical_boundaries = NaturalEarthFeature(category='cultural',\n name='admin_0_boundary_lines_land',\n scale='50m', facecolor='none')\nstates = NaturalEarthFeature(category='cultural',\n name='admin_1_states_provinces_lines',\n scale='50m', facecolor='none')\nax.add_feature(political_boundaries, linestyle='-', edgecolor='black')\nax.add_feature(states, linestyle='-', edgecolor='black',linewidth=2)\n\n# Plot CWA counties\nfor i, geom in enumerate(counties):\n cbounds = Polygon(geom)\n intersection = cbounds.intersection\n geoms = (intersection(geom)\n for geom in counties\n if cbounds.intersects(geom))\n shape_feature = ShapelyFeature(geoms,ccrs.PlateCarree(), \n facecolor='none', linestyle=\"-\",edgecolor='#86989B')\n ax.add_feature(shape_feature)\n\n\n\n\nUsing 25 county MultiPolygons\n\n\n\n\n\nCreate a merged CWA with cascaded_union\n\uf0c1\n\n\n# Plot CWA envelope\nfor i, geom in enumerate(boundaries):\n gbounds = Polygon(geom)\n intersection = gbounds.intersection\n geoms = (intersection(geom)\n for geom in boundaries\n if gbounds.intersects(geom))\n shape_feature = ShapelyFeature(geoms,ccrs.PlateCarree(), \n facecolor='none', linestyle=\"-\",linewidth=3.,edgecolor='#cc5000')\n ax.add_feature(shape_feature)\n\nfig\n\n\n\n\n\n\nWFO boundary spatial filter for interstates\n\uf0c1\n\n\nUsing the previously-defined \nenvelope=merged_counties.buffer(2)\n in \nnewDataRequest()\n to request geometries which fall inside the buffered boundary. \n\n\nrequest = DataAccessLayer.newDataRequest('maps', envelope=envelope)\nrequest.addIdentifier('table', 'mapdata.interstate')\nrequest.addIdentifier('geomField', 'the_geom')\nrequest.addIdentifier('locationField', 'hwy_type')\nrequest.addIdentifier('hwy_type', 'I') # I (interstate), U (US highway), or S (state highway)\nrequest.setParameters('name')\ninterstates = DataAccessLayer.getGeometryData(request, [])\nprint(\"Using \" + str(len(interstates)) + \" interstate MultiLineStrings\")\n\n# Plot interstates\nfor ob in interstates:\n shape_feature = ShapelyFeature(ob.getGeometry(),ccrs.PlateCarree(), \n facecolor='none', linestyle=\"-\",edgecolor='orange')\n ax.add_feature(shape_feature)\nfig\n\n\n\n\nUsing 223 interstate MultiLineStrings\n\n\n\n\n\n\n\nRoad type from \nselect distinct(hwy_type) from mapdata.interstate;\n\n\n I - Interstates\n U - US Highways\n S - State Highways\n\n\n\n\n\nNearby cities\n\uf0c1\n\n\nRequest the city table and filter by population and progressive disclosure level:\n\n\nWarning\n: the \nprog_disc\n field is not entirely understood and values appear to change significantly depending on WFO site. \n\n\nrequest = DataAccessLayer.newDataRequest('maps', envelope=envelope)\nrequest.addIdentifier('table', 'mapdata.city')\nrequest.addIdentifier('geomField', 'the_geom')\nrequest.setParameters('name','population','prog_disc')\ncities = DataAccessLayer.getGeometryData(request, [])\nprint(\"Found \" + str(len(cities)) + \" city Points\")\n\n\n\n\nFound 1201 city Points\n\n\n\ncitylist = []\ncityname = []\n# For BOU, progressive disclosure values above 50 and pop above 5000 looks good\nfor ob in cities:\n if ((ob.getNumber(\"prog_disc\")>50) and int(ob.getString(\"population\")) > 5000):\n citylist.append(ob.getGeometry())\n cityname.append(ob.getString(\"name\"))\nprint(\"Using \" + str(len(cityname)) + \" city Points\")\n\n# Plot city markers\nax.scatter([point.x for point in citylist],\n [point.y for point in citylist],\n transform=ccrs.Geodetic(),marker=\"+\",facecolor='black')\n# Plot city names\nfor i, txt in enumerate(cityname):\n ax.annotate(txt, (citylist[i].x,citylist[i].y),\n xytext=(3,3), textcoords=\"offset points\")\n\nfig\n\n\n\n\nUsing 57 city Points\n\n\n\n\n\nLakes\n\uf0c1\n\n\nrequest = DataAccessLayer.newDataRequest('maps', envelope=envelope)\nrequest.addIdentifier('table', 'mapdata.lake')\nrequest.addIdentifier('geomField', 'the_geom')\nrequest.setParameters('name')\n\n# Get lake geometries\nresponse = DataAccessLayer.getGeometryData(request, [])\nlakes = np.array([])\nfor ob in response:\n lakes = np.append(lakes,ob.getGeometry())\nprint(\"Using \" + str(len(lakes)) + \" lake MultiPolygons\")\n\n# Plot lakes\nfor i, geom in enumerate(lakes):\n cbounds = Polygon(geom)\n intersection = cbounds.intersection\n geoms = (intersection(geom)\n for geom in lakes\n if cbounds.intersects(geom))\n shape_feature = ShapelyFeature(geoms,ccrs.PlateCarree(), \n facecolor='blue', linestyle=\"-\",edgecolor='#20B2AA')\n ax.add_feature(shape_feature)\nfig\n\n\n\n\n\nUsing 208 lake MultiPolygons\n\n\n\n\n\nMajor Rivers\n\uf0c1\n\n\nrequest = DataAccessLayer.newDataRequest('maps', envelope=envelope)\nrequest.addIdentifier('table', 'mapdata.majorrivers')\nrequest.addIdentifier('geomField', 'the_geom')\nrequest.setParameters('pname')\nrivers = DataAccessLayer.getGeometryData(request, [])\nprint(\"Using \" + str(len(rivers)) + \" river MultiLineStrings\")\n\n# Plot rivers\nfor ob in rivers:\n shape_feature = ShapelyFeature(ob.getGeometry(),ccrs.PlateCarree(), \n facecolor='none', linestyle=\":\",edgecolor='#20B2AA')\n ax.add_feature(shape_feature)\nfig\n\n\n\n\nUsing 758 river MultiLineStrings\n\n\n\n\n\nTopography\n\uf0c1\n\n\nSpatial envelopes are required for topo requests, which can become slow to download and render for large (CONUS) maps.\n\n\nimport numpy.ma as ma\nrequest = DataAccessLayer.newDataRequest()\nrequest.setDatatype(\"topo\")\nrequest.addIdentifier(\"group\", \"/\")\nrequest.addIdentifier(\"dataset\", \"full\")\nrequest.setEnvelope(envelope)\ngridData = DataAccessLayer.getGridData(request)\nprint(gridData)\nprint(\"Number of grid records: \" + str(len(gridData)))\nprint(\"Sample grid data shape:\\n\" + str(gridData[0].getRawData().shape) + \"\\n\")\nprint(\"Sample grid data:\\n\" + str(gridData[0].getRawData()) + \"\\n\")\n\n\n\n\n[<awips.dataaccess.PyGridData.PyGridData object at 0x1174adf50>]\nNumber of grid records: 1\nSample grid data shape:\n(778, 1058)\n\nSample grid data:\n[[ 1694. 1693. 1688. ..., 757. 761. 762.]\n [ 1701. 1701. 1701. ..., 758. 760. 762.]\n [ 1703. 1703. 1703. ..., 760. 761. 762.]\n ..., \n [ 1767. 1741. 1706. ..., 769. 762. 768.]\n [ 1767. 1746. 1716. ..., 775. 765. 761.]\n [ 1781. 1753. 1730. ..., 766. 762. 759.]]\n\n\n\ngrid=gridData[0]\ntopo=ma.masked_invalid(grid.getRawData()) \nlons, lats = grid.getLatLonCoords()\nprint(topo.min())\nprint(topo.max())\n\n# Plot topography\ncs = ax.contourf(lons, lats, topo, 80, cmap=plt.get_cmap('terrain'),alpha=0.1)\ncbar = fig.colorbar(cs, extend='both', shrink=0.5, orientation='horizontal')\ncbar.set_label(\"topography height in meters\")\n\nfig\n\n\n\n\n623.0\n4328.0",
"title": "Map Resources and Topography"
},
{
"location": "/python/map-resources-and-topography/#notes",
"text": "This notebook requires: python-awips, numpy, matplotplib, cartopy, shapely Use datatype maps and addIdentifier('table', <postgres maps schema>) to define the map table:\n DataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\n request = DataAccessLayer.newDataRequest('maps')\n request.addIdentifier('table', 'mapdata.county') Use request.setLocationNames() and request.addIdentifier() to spatially filter a map resource. In the example below, WFO ID BOU (Boulder, Colorado) is used to query counties within the BOU county watch area (CWA) request.addIdentifier('geomField', 'the_geom')\nrequest.addIdentifier('inLocation', 'true')\nrequest.addIdentifier('locationField', 'cwa')\nrequest.setLocationNames('BOU')\nrequest.addIdentifier('cwa', 'BOU') Note the geometry definition of the_geom for each data type, which can be Point , MultiPolygon , or MultiLineString .",
"title": "Notes"
},
{
"location": "/python/map-resources-and-topography/#setup",
"text": "from __future__ import print_function\nfrom awips.dataaccess import DataAccessLayer\nimport matplotlib.pyplot as plt\nimport cartopy.crs as ccrs\nimport numpy as np\nfrom cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER\nfrom cartopy.feature import ShapelyFeature,NaturalEarthFeature\nfrom shapely.geometry import Polygon\nfrom shapely.ops import cascaded_union\n\n# Standard map plot\ndef make_map(bbox, projection=ccrs.PlateCarree()):\n fig, ax = plt.subplots(figsize=(12,12),\n subplot_kw=dict(projection=projection))\n ax.set_extent(bbox)\n ax.coastlines(resolution='50m')\n gl = ax.gridlines(draw_labels=True)\n gl.xlabels_top = gl.ylabels_right = False\n gl.xformatter = LONGITUDE_FORMATTER\n gl.yformatter = LATITUDE_FORMATTER\n return fig, ax\n\n# Server, Data Request Type, and Database Table\nDataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\nrequest = DataAccessLayer.newDataRequest('maps')\nrequest.addIdentifier('table', 'mapdata.county')",
"title": "Setup"
},
{
"location": "/python/map-resources-and-topography/#request-county-boundaries-for-a-wfo",
"text": "Use request.setParameters() to define fields to be returned by the request. # Define a WFO ID for location\n# tie this ID to the mapdata.county column \"cwa\" for filtering\nrequest.setLocationNames('BOU')\nrequest.addIdentifier('cwa', 'BOU')\n\n# enable location filtering (inLocation)\n# locationField is tied to the above cwa definition (BOU)\nrequest.addIdentifier('geomField', 'the_geom')\nrequest.addIdentifier('inLocation', 'true')\nrequest.addIdentifier('locationField', 'cwa')\n\n# This is essentially the same as \"'\"select count(*) from mapdata.cwa where cwa='BOU';\" (=1)\n\n# Get response and create dict of county geometries\nresponse = DataAccessLayer.getGeometryData(request, [])\ncounties = np.array([])\nfor ob in response:\n counties = np.append(counties,ob.getGeometry())\nprint(\"Using \" + str(len(counties)) + \" county MultiPolygons\")\n\n\n%matplotlib inline\n# All WFO counties merged to a single Polygon\nmerged_counties = cascaded_union(counties)\nenvelope = merged_counties.buffer(2)\nboundaries=[merged_counties]\n\n# Get bounds of this merged Polygon to use as buffered map extent\nbounds = merged_counties.bounds\nbbox=[bounds[0]-1,bounds[2]+1,bounds[1]-1.5,bounds[3]+1.5]\n\n\nfig, ax = make_map(bbox=bbox)\n# Plot political/state boundaries handled by Cartopy\npolitical_boundaries = NaturalEarthFeature(category='cultural',\n name='admin_0_boundary_lines_land',\n scale='50m', facecolor='none')\nstates = NaturalEarthFeature(category='cultural',\n name='admin_1_states_provinces_lines',\n scale='50m', facecolor='none')\nax.add_feature(political_boundaries, linestyle='-', edgecolor='black')\nax.add_feature(states, linestyle='-', edgecolor='black',linewidth=2)\n\n# Plot CWA counties\nfor i, geom in enumerate(counties):\n cbounds = Polygon(geom)\n intersection = cbounds.intersection\n geoms = (intersection(geom)\n for geom in counties\n if cbounds.intersects(geom))\n shape_feature = ShapelyFeature(geoms,ccrs.PlateCarree(), \n facecolor='none', linestyle=\"-\",edgecolor='#86989B')\n ax.add_feature(shape_feature) Using 25 county MultiPolygons",
"title": "Request County Boundaries for a WFO"
},
{
"location": "/python/map-resources-and-topography/#create-a-merged-cwa-with-cascaded_union",
"text": "# Plot CWA envelope\nfor i, geom in enumerate(boundaries):\n gbounds = Polygon(geom)\n intersection = gbounds.intersection\n geoms = (intersection(geom)\n for geom in boundaries\n if gbounds.intersects(geom))\n shape_feature = ShapelyFeature(geoms,ccrs.PlateCarree(), \n facecolor='none', linestyle=\"-\",linewidth=3.,edgecolor='#cc5000')\n ax.add_feature(shape_feature)\n\nfig",
"title": "Create a merged CWA with cascaded_union"
},
{
"location": "/python/map-resources-and-topography/#wfo-boundary-spatial-filter-for-interstates",
"text": "Using the previously-defined envelope=merged_counties.buffer(2) in newDataRequest() to request geometries which fall inside the buffered boundary. request = DataAccessLayer.newDataRequest('maps', envelope=envelope)\nrequest.addIdentifier('table', 'mapdata.interstate')\nrequest.addIdentifier('geomField', 'the_geom')\nrequest.addIdentifier('locationField', 'hwy_type')\nrequest.addIdentifier('hwy_type', 'I') # I (interstate), U (US highway), or S (state highway)\nrequest.setParameters('name')\ninterstates = DataAccessLayer.getGeometryData(request, [])\nprint(\"Using \" + str(len(interstates)) + \" interstate MultiLineStrings\")\n\n# Plot interstates\nfor ob in interstates:\n shape_feature = ShapelyFeature(ob.getGeometry(),ccrs.PlateCarree(), \n facecolor='none', linestyle=\"-\",edgecolor='orange')\n ax.add_feature(shape_feature)\nfig Using 223 interstate MultiLineStrings Road type from select distinct(hwy_type) from mapdata.interstate; I - Interstates\n U - US Highways\n S - State Highways",
"title": "WFO boundary spatial filter for interstates"
},
{
"location": "/python/map-resources-and-topography/#nearby-cities",
"text": "Request the city table and filter by population and progressive disclosure level: Warning : the prog_disc field is not entirely understood and values appear to change significantly depending on WFO site. request = DataAccessLayer.newDataRequest('maps', envelope=envelope)\nrequest.addIdentifier('table', 'mapdata.city')\nrequest.addIdentifier('geomField', 'the_geom')\nrequest.setParameters('name','population','prog_disc')\ncities = DataAccessLayer.getGeometryData(request, [])\nprint(\"Found \" + str(len(cities)) + \" city Points\") Found 1201 city Points citylist = []\ncityname = []\n# For BOU, progressive disclosure values above 50 and pop above 5000 looks good\nfor ob in cities:\n if ((ob.getNumber(\"prog_disc\")>50) and int(ob.getString(\"population\")) > 5000):\n citylist.append(ob.getGeometry())\n cityname.append(ob.getString(\"name\"))\nprint(\"Using \" + str(len(cityname)) + \" city Points\")\n\n# Plot city markers\nax.scatter([point.x for point in citylist],\n [point.y for point in citylist],\n transform=ccrs.Geodetic(),marker=\"+\",facecolor='black')\n# Plot city names\nfor i, txt in enumerate(cityname):\n ax.annotate(txt, (citylist[i].x,citylist[i].y),\n xytext=(3,3), textcoords=\"offset points\")\n\nfig Using 57 city Points",
"title": "Nearby cities"
},
{
"location": "/python/map-resources-and-topography/#lakes",
"text": "request = DataAccessLayer.newDataRequest('maps', envelope=envelope)\nrequest.addIdentifier('table', 'mapdata.lake')\nrequest.addIdentifier('geomField', 'the_geom')\nrequest.setParameters('name')\n\n# Get lake geometries\nresponse = DataAccessLayer.getGeometryData(request, [])\nlakes = np.array([])\nfor ob in response:\n lakes = np.append(lakes,ob.getGeometry())\nprint(\"Using \" + str(len(lakes)) + \" lake MultiPolygons\")\n\n# Plot lakes\nfor i, geom in enumerate(lakes):\n cbounds = Polygon(geom)\n intersection = cbounds.intersection\n geoms = (intersection(geom)\n for geom in lakes\n if cbounds.intersects(geom))\n shape_feature = ShapelyFeature(geoms,ccrs.PlateCarree(), \n facecolor='blue', linestyle=\"-\",edgecolor='#20B2AA')\n ax.add_feature(shape_feature)\nfig Using 208 lake MultiPolygons",
"title": "Lakes"
},
{
"location": "/python/map-resources-and-topography/#major-rivers",
"text": "request = DataAccessLayer.newDataRequest('maps', envelope=envelope)\nrequest.addIdentifier('table', 'mapdata.majorrivers')\nrequest.addIdentifier('geomField', 'the_geom')\nrequest.setParameters('pname')\nrivers = DataAccessLayer.getGeometryData(request, [])\nprint(\"Using \" + str(len(rivers)) + \" river MultiLineStrings\")\n\n# Plot rivers\nfor ob in rivers:\n shape_feature = ShapelyFeature(ob.getGeometry(),ccrs.PlateCarree(), \n facecolor='none', linestyle=\":\",edgecolor='#20B2AA')\n ax.add_feature(shape_feature)\nfig Using 758 river MultiLineStrings",
"title": "Major Rivers"
},
{
"location": "/python/map-resources-and-topography/#topography",
"text": "Spatial envelopes are required for topo requests, which can become slow to download and render for large (CONUS) maps. import numpy.ma as ma\nrequest = DataAccessLayer.newDataRequest()\nrequest.setDatatype(\"topo\")\nrequest.addIdentifier(\"group\", \"/\")\nrequest.addIdentifier(\"dataset\", \"full\")\nrequest.setEnvelope(envelope)\ngridData = DataAccessLayer.getGridData(request)\nprint(gridData)\nprint(\"Number of grid records: \" + str(len(gridData)))\nprint(\"Sample grid data shape:\\n\" + str(gridData[0].getRawData().shape) + \"\\n\")\nprint(\"Sample grid data:\\n\" + str(gridData[0].getRawData()) + \"\\n\") [<awips.dataaccess.PyGridData.PyGridData object at 0x1174adf50>]\nNumber of grid records: 1\nSample grid data shape:\n(778, 1058)\n\nSample grid data:\n[[ 1694. 1693. 1688. ..., 757. 761. 762.]\n [ 1701. 1701. 1701. ..., 758. 760. 762.]\n [ 1703. 1703. 1703. ..., 760. 761. 762.]\n ..., \n [ 1767. 1741. 1706. ..., 769. 762. 768.]\n [ 1767. 1746. 1716. ..., 775. 765. 761.]\n [ 1781. 1753. 1730. ..., 766. 762. 759.]] grid=gridData[0]\ntopo=ma.masked_invalid(grid.getRawData()) \nlons, lats = grid.getLatLonCoords()\nprint(topo.min())\nprint(topo.max())\n\n# Plot topography\ncs = ax.contourf(lons, lats, topo, 80, cmap=plt.get_cmap('terrain'),alpha=0.1)\ncbar = fig.colorbar(cs, extend='both', shrink=0.5, orientation='horizontal')\ncbar.set_label(\"topography height in meters\")\n\nfig 623.0\n4328.0",
"title": "Topography"
},
{
"location": "/python/surface-obs-plot-metpy/",
"text": "Based on the MetPy example \n\"Station Plot with Layout\"\n\n\nimport datetime\nimport pandas\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport pprint\nfrom awips.dataaccess import DataAccessLayer\nfrom metpy.calc import get_wind_components\nfrom metpy.cbook import get_test_data\nfrom metpy.plots.wx_symbols import sky_cover, current_weather\nfrom metpy.plots import StationPlot, StationPlotLayout, simple_layout\nfrom metpy.units import units\n\ndef get_cloud_cover(code):\n if 'OVC' in code:\n return 1.0\n elif 'BKN' in code:\n return 6.0/8.0\n elif 'SCT' in code:\n return 4.0/8.0\n elif 'FEW' in code:\n return 2.0/8.0\n else:\n return 0\n\nstate_capital_wx_stations = {'Washington':'KOLM', 'Oregon':'KSLE', 'California':'KSAC',\n 'Nevada':'KCXP', 'Idaho':'KBOI', 'Montana':'KHLN',\n 'Utah':'KSLC', 'Arizona':'KDVT', 'New Mexico':'KSAF',\n 'Colorado':'KBKF', 'Wyoming':'KCYS', 'North Dakota':'KBIS',\n 'South Dakota':'KPIR', 'Nebraska':'KLNK', 'Kansas':'KTOP',\n 'Oklahoma':'KPWA', 'Texas':'KATT', 'Louisiana':'KBTR',\n 'Arkansas':'KLIT', 'Missouri':'KJEF', 'Iowa':'KDSM',\n 'Minnesota':'KSTP', 'Wisconsin':'KMSN', 'Illinois':'KSPI',\n 'Mississippi':'KHKS', 'Alabama':'KMGM', 'Nashville':'KBNA',\n 'Kentucky':'KFFT', 'Indiana':'KIND', 'Michigan':'KLAN',\n 'Ohio':'KCMH', 'Georgia':'KFTY', 'Florida':'KTLH',\n 'South Carolina':'KCUB', 'North Carolina':'KRDU',\n 'Virginia':'KRIC', 'West Virginia':'KCRW',\n 'Pennsylvania':'KCXY', 'New York':'KALB', 'Vermont':'KMPV',\n 'New Hampshire':'KCON', 'Maine':'KAUG', 'Massachusetts':'KBOS',\n 'Rhode Island':'KPVD', 'Connecticut':'KHFD', 'New Jersey':'KTTN',\n 'Delaware':'KDOV', 'Maryland':'KNAK'}\nsingle_value_params = [\"timeObs\", \"stationName\", \"longitude\", \"latitude\", \n \"temperature\", \"dewpoint\", \"windDir\",\n \"windSpeed\", \"seaLevelPress\"]\nmulti_value_params = [\"presWeather\", \"skyCover\", \"skyLayerBase\"]\nall_params = single_value_params + multi_value_params\nobs_dict = dict({all_params: [] for all_params in all_params})\npres_weather = []\nsky_cov = []\nsky_layer_base = []\n\n\n\n\nfrom dynamicserialize.dstypes.com.raytheon.uf.common.time import TimeRange\nfrom datetime import datetime, timedelta\nlastHourDateTime = datetime.utcnow() - timedelta(hours = 1)\nstart = lastHourDateTime.strftime('%Y-%m-%d %H')\nbeginRange = datetime.strptime( start + \":00:00\", \"%Y-%m-%d %H:%M:%S\")\nendRange = datetime.strptime( start + \":59:59\", \"%Y-%m-%d %H:%M:%S\")\ntimerange = TimeRange(beginRange, endRange)\n\n\n\n\nDataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\nrequest = DataAccessLayer.newDataRequest()\nrequest.setDatatype(\"obs\")\nrequest.setParameters(*(all_params))\nrequest.setLocationNames(*(state_capital_wx_stations.values()))\n\n\n\n\nresponse = DataAccessLayer.getGeometryData(request,timerange)\nfor ob in response:\n avail_params = ob.getParameters()\n if \"presWeather\" in avail_params:\n pres_weather.append(ob.getString(\"presWeather\"))\n elif \"skyCover\" in avail_params and \"skyLayerBase\" in avail_params:\n sky_cov.append(ob.getString(\"skyCover\"))\n sky_layer_base.append(ob.getNumber(\"skyLayerBase\"))\n else:\n for param in single_value_params:\n if param in avail_params:\n if param == 'timeObs':\n obs_dict[param].append(datetime.fromtimestamp(ob.getNumber(param)/1000.0))\n else:\n try:\n obs_dict[param].append(ob.getNumber(param))\n except TypeError:\n obs_dict[param].append(ob.getString(param))\n else:\n obs_dict[param].append(None)\n\n obs_dict['presWeather'].append(pres_weather);\n obs_dict['skyCover'].append(sky_cov);\n obs_dict['skyLayerBase'].append(sky_layer_base);\n pres_weather = []\n sky_cov = []\n sky_layer_base = []\n\n\n\n\nWe can now use pandas to retrieve desired subsets of our observations.\n\n\nIn this case, return the most recent observation for each station.\n\n\ndf = pandas.DataFrame(data=obs_dict, columns=all_params)\n#sort rows with the newest first\ndf = df.sort_values(by='timeObs', ascending=False)\n#group rows by station\ngroups = df.groupby('stationName')\n#create a new DataFrame for the most recent values\ndf_recent = pandas.DataFrame(columns=all_params)\n#retrieve the first entry for each group, which will\n#be the most recent observation\nfor rid, station in groups:\n row = station.head(1)\n df_recent = pandas.concat([df_recent, row])\n\n\n\n\nConvert DataFrame to something metpy-readable by \nattaching units and calculating derived values\n\n\ndata = dict()\ndata['stid'] = np.array(df_recent[\"stationName\"])\ndata['latitude'] = np.array(df_recent['latitude'])\ndata['longitude'] = np.array(df_recent['longitude'])\ndata['air_temperature'] = np.array(df_recent['temperature'], dtype=float)* units.degC\ndata['dew_point'] = np.array(df_recent['dewpoint'], dtype=float)* units.degC\ndata['slp'] = np.array(df_recent['seaLevelPress'])* units('mbar')\nu, v = get_wind_components(np.array(df_recent['windSpeed']) * units('knots'),\n np.array(df_recent['windDir']) * units.degree)\ndata['eastward_wind'], data['northward_wind'] = u, v\ndata['cloud_frac'] = [int(get_cloud_cover(x)*8) for x in df_recent['skyCover']]\n\n\n\n\n%matplotlib inline\nimport cartopy.crs as ccrs\nimport cartopy.feature as feat\nfrom matplotlib import rcParams\nrcParams['savefig.dpi'] = 100\nproj = ccrs.LambertConformal(central_longitude=-95, central_latitude=35,\n standard_parallels=[35])\nstate_boundaries = feat.NaturalEarthFeature(category='cultural',\n name='admin_1_states_provinces_lines',\n scale='110m', facecolor='none')\n# Create the figure\nfig = plt.figure(figsize=(20, 15))\nax = fig.add_subplot(1, 1, 1, projection=proj)\n\n# Add map elements \nax.add_feature(feat.LAND, zorder=-1)\nax.add_feature(feat.OCEAN, zorder=-1)\nax.add_feature(feat.LAKES, zorder=-1)\nax.coastlines(resolution='110m', zorder=2, color='black')\nax.add_feature(state_boundaries)\nax.add_feature(feat.BORDERS, linewidth='2', edgecolor='black')\nax.set_extent((-120, -70, 20, 50))\n\n# Start the station plot by specifying the axes to draw on, as well as the\n# lon/lat of the stations (with transform). We also set the fontsize to 12 pt.\nstationplot = StationPlot(ax, data['longitude'], data['latitude'],\n transform=ccrs.PlateCarree(), fontsize=12)\n\n# The layout knows where everything should go, and things are standardized using\n# the names of variables. So the layout pulls arrays out of `data` and plots them\n# using `stationplot`.\nsimple_layout.plot(stationplot, data)\n\n# Plot the temperature and dew point to the upper and lower left, respectively, of\n# the center point. Each one uses a different color.\nstationplot.plot_parameter('NW', np.array(data['air_temperature']), color='red')\nstationplot.plot_parameter('SW', np.array(data['dew_point']), color='darkgreen')\n\n# A more complex example uses a custom formatter to control how the sea-level pressure\n# values are plotted. This uses the standard trailing 3-digits of the pressure value\n# in tenths of millibars.\nstationplot.plot_parameter('NE', np.array(data['slp']),\n formatter=lambda v: format(10 * v, '.0f')[-3:])\n\n# Plot the cloud cover symbols in the center location. This uses the codes made above and\n# uses the `sky_cover` mapper to convert these values to font codes for the\n# weather symbol font.\nstationplot.plot_symbol('C', data['cloud_frac'], sky_cover)\n\n# Also plot the actual text of the station id. Instead of cardinal directions,\n# plot further out by specifying a location of 2 increments in x and 0 in y.\nstationplot.plot_text((2, 0), np.array(obs_dict[\"stationName\"]))\n\nplt.title(\"Most Recent Observations for State Capitals\")",
"title": "Surface Obs Plot with MetPy"
},
{
"location": "/dev/awips-development-environment/",
"text": "Quick instructions on how to deploy CAVE from Eclipse.\n\n\n\n\n\n\nChange \n/etc/yum.repos.d/awips2.repo\n to \n\n\n[awips2repo]\nname=AWIPS II Repository\nbaseurl=https://www.unidata.ucar.edu/repos/yum/el6-dev/\nenabled=1\nprotect=0\ngpgcheck=0\nproxy=_none_\n\n\n\n\n\n\n\nyum clean all && yum groupinstall awips2-ade\n\n\nThis will install Eclipse (4.5), Java (1.8), Ant, Maven, Python 2.7 and its modules (Numpy, Matplotlib, Shapely, others). \n\n\n\n\n\n\ngit clone https://github.com/Unidata/awips2.git\n\n\nThe full list of repositories required as of release 17.1.1:\n\n\ngit clone https://github.com/Unidata/awips2.git\ngit clone https://github.com/Unidata/awips2-core.git\ngit clone https://github.com/Unidata/awips2-core-foss.git\ngit clone https://github.com/Unidata/awips2-foss.git\ngit clone https://github.com/Unidata/awips2-ncep.git\ngit clone https://github.com/Unidata/awips2-nws.git\ngit clone https://github.com/Unidata/awips2-gsd.git\ngit clone https://github.com/Unidata/awips2-drawing.git\ngit clone https://github.com/Unidata/awips2-cimss.git\n\n\n\n\n\n\n\nRun \n/awips2/eclipse/eclipse.sh\n\n\n\n\n\n\nPreferences > Java \n\n\nSet to \n/awips2/java\n\n\n\n\n\n\nPreferences > PyDev > Python Interpreter\n\n\nSet to \n/awips2/python/bin/python\n (should be resolved by Auto-Config)\n\n\n\n\n\n\nFile > Import > General > Existing Projects Into Workspace\n\n\nImport all of the git cloned project folders \nEXCEPT\n for the main (first) \ngithub.com/Unidata/awips2.git\n directory (which should be \n~/awips2\n).\n\n\nYou'll want to import \n~/awips2\n in two parts to ensure a clean and error-free Eclipse build:\n\n\n\n\nImport \nawips2/cave\n > Select All Projects > Finish\n\n\nImport \nawips2/edexOsgi\n > Select All Projects > Finish\n\n\n\n\nNow import all other repositories fully: \n\n\nSelect \nawips2-core\n, \nawips2-core-foss\n, \nawips2-foss\n, \nawips2-ncep\n, etc. > Select All Projects > Finish \n\n\n\n\n\n\nProject > Clean\n\n\nRun a clean build and ensure no errors are reported. \n\n\n\n\n\n\n\n\n\n\nRun \ncom.raytheon.viz.product.awips/developer.product\n\n\nDouble-click the \ndeveloper.product\n file to open the Product View in Eclipse. Select \nOverview\n > \nSynchronize\n and then right-click the file in the left-side package explorer:\n\n\nSelect \nRun As\n > \nEclipse Application\n to launch CAVE in the development environment. \n\n\nSelect \nDebug\n > \nEclipse Application\n to launch CAVE in in debug mode.",
"title": "AWIPS Development Environment (ADE)"
},
{
"location": "/dev/build-nsharp-macos/",
"text": "A little known fact in the world of AWIPS(II) is just how dependent the system still is on NAWIPS-GEMPAK. The entire National Centers Perspective is dependent on pre-built shared object files for 64-bit Linux, which means that all of the D2D plugins which extend NSHARP (for bufr obs, NPP profiles, forecast models, etc.) also depend on these libraries.\n\n\nThis dependency has prevented use of the NSHARP plugin in the first release (15.1.1) of the \nOS X CAVE client\n. These are the steps taken to build NSHARP and GEMPAK libraries for OS X AWIPS 16.2.2.\n\n\nYou will need the \nhttps://github.com/Unidata/awips2-gemlibs\n repository on your Mac, as well as gcc and gfortran (from XCode). Pay attention to any version-specific include path or linked files, such as \n/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9/\n, always account for the correct versions and locations on your own system.\n\n\nNSHARP pre-built libraries\n\uf0c1\n\n\n\n\nlibbignsharp.dylib\n\n\n\n\nUsing the script below, the NSHARP dynamic library is built from C and FORTRAN source files (and their required include files supplied by the \nawips2-gemlibs\n repository, and as linked against \n$GEMINC\n, meaning that GEMPAK for OS X must be built and installed).\n\n\ngit clone https://github.com/Unidata/awips2-gemlibs.git\ncd awips2-gemlibs/nsharp/\n\n\n\nAn optional step, which can be performed in a separate script or within the build script below, is to create \nld-style\n *.a files in \n$OS_LIB\n which can then be referenced with \n-l\n flags (e.g. \n-lgemlib\n):\n\n\nlibs=(snlist sflist nxmlib gemlib gplt cgemlib rsl device xwp xw ps gn nsharp netcdf textlib)\nfor file in ${libs[@]}\ndo\n if [ ! -f $OS_LIB/lib$file.a ]; then\n echo \"$OS_LIB/lib$file.a does not exist\"\n if [ -f $OS_LIB/$file.a ]; then\n cp $OS_LIB/$file.a $OS_LIB/lib$file.a\n echo \"copied OS_LIB/$file.a to OS_LIB/lib$file.a for linking\"\n fi\n fi\ndone\n\n\n\nBuild libbignsharp.dylib with the following script (Note the GEMPAK includes and links \n-I$NSHARP\n, \n-I$GEMPAK/include\n, \n-L$OS_LIB\n, etc.).\n\n\n#!/bin/bash\ncd ~/awips2-gemlibs/nsharp/\n. $NAWIPS/Gemenviron.profile\nCC=gcc\nFC=gfortran\n\nexport NSHARP=$GEMPAK/source/programs/gui/nsharp\nexport NWX=$GEMPAK/source/programs/gui/nwx\n\nmyLibs=\"$OS_LIB/ginitp_alt.o $OS_LIB/gendp_alt.o\"\n\nmyCflags=\"$CFLAGS -I. -I./Sndglib -I$NSHARP -I$GEMPAK/include -I$OS_INC -I$NWX \\\n-I/opt/X11/include/X11 -I/usr/include/Xm -I/opt/local/include -I/usr/include/malloc -Wcomment -Wno-return-type -Wincompatible-pointer-types -DUNDERSCORE -fPIC -DDEBUG -c\"\n\nmyFflags=\"-I. -I$OS_INC -I$GEMPAK/include -I$NSHARP -fPIC -g -c -fno-second-underscore -fmax-errors=200 -std=f95\"\n\nmyLinkflags=\"-L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9/ -L/opt/local/lib -L$OS_LIB -L. -L./Sndglib -L/usr/X11R6/lib \\\n-shared -Wl -Wcomment -Wincompatible-pointer-types -Wimplicit-function-declaration -Wno-return-type,-install_name,libbignsharp.dylib -o libbignsharp.dylib\"\n\nmyLibsInc=\"$OS_LIB/ginitp_alt.o $OS_LIB/gendp_alt.o $OS_LIB/libnxmlib.a $OS_LIB/libsnlist.a \\\n $OS_LIB/libsflist.a $OS_LIB/libgemlib.a $OS_LIB/libcgemlib.a $OS_LIB/libgplt.a $OS_LIB/libdevice.a \\\n $OS_LIB/libxwp.a $OS_LIB/libxw.a $OS_LIB/libps.a $OS_LIB/libgn.a $OS_LIB/libcgemlib.a $OS_LIB/libgemlib.a \\\n $OS_LIB/libnetcdf.a $OS_LIB/libtextlib.a $OS_LIB/libxml2.a $OS_LIB/libxslt.a \\\n $OS_LIB/libgemlib.a $OS_LIB/libcgemlib.a $OS_LIB/librsl.a $OS_LIB/libbz2.a\"\n\nmyLinktail=\"-I$OS_INC \\\n -I$GEMPAK/include -I$NWX -I$NSHARP -I. -I./Sndglib -I/opt/X11/include/X11 -I/usr/include -I/usr/include/Xm -I/opt/local/include/ -I/opt/local/include -lhdf5 -lgfortran -ljasper -lpng -liconv -lc -lXt -lX11 -lz -lm -lXm\"\n\n$CC $myCflags *.c Sndglib/*.c\n$FC $myFflags *.f\n$CC $myLinkflags *.o $myLibsInc $myLinktail\n\ncp libbignsharp.dylib ~/awips2-ncep/viz/gov.noaa.nws.ncep.ui.nsharp.macosx/\n\n\n\nGEMPAK pre-built libraries\n\uf0c1\n\n\n\n\nlibgempak.dylib\n\n\n\n\nlibgempak.dylib is built in a similar way as libbignsharp.dylib:\n\n\n#!/bin/bash\ncd ~/awips2-gemlibs/gempak/\n. $NAWIPS/Gemenviron.profile\nCC=gcc\nFC=gfortran\n\nmyCflags=\"$CFLAGS -I. -I$GEMPAK/source/diaglib/dg -I$GEMPAK/source/gemlib/er \\\n-I/opt/X11/include/X11 -I/usr/include/Xm -I/opt/local/include -I/usr/include/malloc -fPIC -DDEBUG -c\"\n\nmyFflags=\"-I. -I$OS_INC -I$GEMPAK/include -fPIC -g -c -Wtabs -fno-second-underscore\"\n\nmyLinkflags=\"-L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9/ -L/opt/local/lib -L$OS_LIB -L. \\\n-shared -Wl -Wno-return-type,-install_name,libgempak.dylib -o libgempak.dylib\"\n\nmyLibs=\"$OS_LIB/ginitp_alt.o $OS_LIB/gendp_alt.o $OS_LIB/libcgemlib.a \\\n$OS_LIB/libsflist.a $OS_LIB/gdlist.a $OS_LIB/libcgemlib.a $OS_LIB/libgemlib.a \\\n$OS_LIB/libcgemlib.a $OS_LIB/libgplt.a $OS_LIB/libdevice.a $OS_LIB/libcgemlib.a \\\n$OS_LIB/libgn.a $OS_LIB/libgemlib.a $OS_LIB/libcgemlib.a $OS_LIB/libnetcdf.a \\\n$OS_LIB/libcgemlib.a $OS_LIB/libtextlib.a $OS_LIB/libxml2.a $OS_LIB/libxslt.a \\\n$OS_LIB/libcgemlib.a $OS_LIB/libgemlib.a $OS_LIB/libcgemlib.a $OS_LIB/libcgemlib.a \\\n$OS_LIB/librsl.a $OS_LIB/libcgemlib.a $OS_LIB/libbz2.a\"\n\nmyLinktail=\"-I$OS_INC -I$GEMPAK/include -I. -I/opt/X11/include/X11 -I/usr/include \\\n-I/usr/include/Xm -I/opt/local/include/ -I/opt/local/include \\\n-lhdf5 -lgfortran -ljasper -lpng -liconv -lc -lXt -lX11 -lz -lm -lXm\"\n\n$CC $myCflags *.c\n$FC $myFflags *.f\n$CC $myLinkflags *.o $myLibs $myLinktail\n\ncp libgempak.dylib ~/awips2-ncep/viz/gov.noaa.nws.ncep.viz.gempak.nativelib.macosx/\n\n\n\n\n\nlibcnflib.dylib\n\n\n\n\n#!/bin/bash\ncd ~/awips2-gemlibs/cnflib/\n. $NAWIPS/Gemenviron.profile\nCC=gcc\nFC=gfortran\n\nmyCflags=\"$CFLAGS -I/opt/X11/include/X11 -I/usr/include/Xm -I/opt/local/include \\\n-I/usr/include/malloc -Wno-return-type -DUNDERSCORE -fPIC -DDEBUG -g -c\"\n\nmyLinkflags=\"-L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9/ -L/opt/local/lib \\\n-shared -Wl -Wno-return-type,-install_name,libcnflib.dylib -o libcnflib.dylib\"\n\nmyLinktail=\"-lgfortran -lc\"\n\nmyLibs=\"$OS_LIB/ginitp_alt.o $OS_LIB/gendp_alt.o $OS_LIB/gdlist.a $OS_LIB/gdcfil.a \\\n$OS_LIB/libgemlib.a $OS_LIB/libgplt.a $OS_LIB/libdevice.a $OS_LIB/libgn.a \\\n$OS_LIB/libcgemlib.a $OS_LIB/libgemlib.a $OS_LIB/libnetcdf.a $OS_LIB/libtextlib.a \\\n$OS_LIB/libxslt.a $OS_LIB/libxml2.a -liconv \\\n$OS_LIB/libz.a $OS_LIB/librsl.a -lbz2\"\n\n$CC $myCflags *.c\n$CC $myLinkflags *.o $myLibs $myLinktail\n\ncp libcnflib.dylib ~/awips2-ncep/viz/gov.noaa.nws.ncep.viz.gempak.nativelib.macosx/\n\n\n\n\n\nlibaodtv64.dylib\n\n\n\n\n#!/bin/bash\nCC=gcc\nFC=gfortran\n\ncd ~/awips2-gemlibs/aodt/AODTLIB/\n\ngcc -fPIC -g -c -Wall *.c *.h\ngcc -shared -Wl,-Wno-return-type,-install_name,libaodtv64.dylib -o libaodtv64.dylib *.o -lc\n\ncp libaodtv64.dylib ~/awips2-ncep/viz/gov.noaa.nws.ncep.viz.gempak.nativelib.macosx/\n\n\n\n\n\nlibg2g.dylib\n\n\n\n\n#!/bin/bash\ncd ~/awips2-gemlibs/g2g/\n. $NAWIPS/Gemenviron.profile\nCC=gcc\nFC=gfortran\n\nmyCflags=\"$CFLAGS -I$GEMPAK/include -I. -I$GEMPAK/source/diaglib/dg \\\n-I$GEMPAK/source/gemlib/er -I/opt/X11/include/X11 -I/usr/include/Xm \\\n-I/opt/local/include -I/usr/include/malloc -Wno-return-type -DUNDERSCORE \\\n-fPIC -DDEBUG -c\"\n\nmyFflags=\"-I. -I$OS_INC -I$GEMPAK/include -fPIC -g -c -Wtabs -fno-second-underscore\"\n\nmyLinkflags=\"-L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9/ -L/opt/local/lib \\\n-L/usr/X11R6/lib -shared -Wl -Wno-return-type,-install_name,libg2g.dylib -o libg2g.dylib\"\n\nmyLinktail=\"-lgfortran $OS_LIB/libjasper.a -lpng -lc\"\n\nmyLibs=\"$OS_LIB/ginitp_alt.o $OS_LIB/gendp_alt.o $OS_LIB/gdlist.a \\\n$OS_LIB/gdcfil.a $OS_LIB/libgemlib.a $OS_LIB/libgplt.a $OS_LIB/libdevice.a \\\n$OS_LIB/libgn.a $OS_LIB/libcgemlib.a $OS_LIB/libgemlib.a $OS_LIB/libnetcdf.a \\\n$OS_LIB/libtextlib.a $OS_LIB/libxslt.a $OS_LIB/libxml2.a \\\n-liconv $OS_LIB/libz.a $OS_LIB/librsl.a -lbz2\"\n\n$CC $myCflags *.c\n$FC $myFflags *.f\n$CC $myLinkflags *.o $myLibs $myLinktail\n\ncp libg2g.dylib ~/awips2-ncep/viz/gov.noaa.nws.ncep.viz.gempak.nativelib.macosx/",
"title": "Building NSHARP for macOS"
},
{
"location": "/dev/build-nsharp-macos/#nsharp-pre-built-libraries",
"text": "libbignsharp.dylib Using the script below, the NSHARP dynamic library is built from C and FORTRAN source files (and their required include files supplied by the awips2-gemlibs repository, and as linked against $GEMINC , meaning that GEMPAK for OS X must be built and installed). git clone https://github.com/Unidata/awips2-gemlibs.git\ncd awips2-gemlibs/nsharp/ An optional step, which can be performed in a separate script or within the build script below, is to create ld-style *.a files in $OS_LIB which can then be referenced with -l flags (e.g. -lgemlib ): libs=(snlist sflist nxmlib gemlib gplt cgemlib rsl device xwp xw ps gn nsharp netcdf textlib)\nfor file in ${libs[@]}\ndo\n if [ ! -f $OS_LIB/lib$file.a ]; then\n echo \"$OS_LIB/lib$file.a does not exist\"\n if [ -f $OS_LIB/$file.a ]; then\n cp $OS_LIB/$file.a $OS_LIB/lib$file.a\n echo \"copied OS_LIB/$file.a to OS_LIB/lib$file.a for linking\"\n fi\n fi\ndone Build libbignsharp.dylib with the following script (Note the GEMPAK includes and links -I$NSHARP , -I$GEMPAK/include , -L$OS_LIB , etc.). #!/bin/bash\ncd ~/awips2-gemlibs/nsharp/\n. $NAWIPS/Gemenviron.profile\nCC=gcc\nFC=gfortran\n\nexport NSHARP=$GEMPAK/source/programs/gui/nsharp\nexport NWX=$GEMPAK/source/programs/gui/nwx\n\nmyLibs=\"$OS_LIB/ginitp_alt.o $OS_LIB/gendp_alt.o\"\n\nmyCflags=\"$CFLAGS -I. -I./Sndglib -I$NSHARP -I$GEMPAK/include -I$OS_INC -I$NWX \\\n-I/opt/X11/include/X11 -I/usr/include/Xm -I/opt/local/include -I/usr/include/malloc -Wcomment -Wno-return-type -Wincompatible-pointer-types -DUNDERSCORE -fPIC -DDEBUG -c\"\n\nmyFflags=\"-I. -I$OS_INC -I$GEMPAK/include -I$NSHARP -fPIC -g -c -fno-second-underscore -fmax-errors=200 -std=f95\"\n\nmyLinkflags=\"-L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9/ -L/opt/local/lib -L$OS_LIB -L. -L./Sndglib -L/usr/X11R6/lib \\\n-shared -Wl -Wcomment -Wincompatible-pointer-types -Wimplicit-function-declaration -Wno-return-type,-install_name,libbignsharp.dylib -o libbignsharp.dylib\"\n\nmyLibsInc=\"$OS_LIB/ginitp_alt.o $OS_LIB/gendp_alt.o $OS_LIB/libnxmlib.a $OS_LIB/libsnlist.a \\\n $OS_LIB/libsflist.a $OS_LIB/libgemlib.a $OS_LIB/libcgemlib.a $OS_LIB/libgplt.a $OS_LIB/libdevice.a \\\n $OS_LIB/libxwp.a $OS_LIB/libxw.a $OS_LIB/libps.a $OS_LIB/libgn.a $OS_LIB/libcgemlib.a $OS_LIB/libgemlib.a \\\n $OS_LIB/libnetcdf.a $OS_LIB/libtextlib.a $OS_LIB/libxml2.a $OS_LIB/libxslt.a \\\n $OS_LIB/libgemlib.a $OS_LIB/libcgemlib.a $OS_LIB/librsl.a $OS_LIB/libbz2.a\"\n\nmyLinktail=\"-I$OS_INC \\\n -I$GEMPAK/include -I$NWX -I$NSHARP -I. -I./Sndglib -I/opt/X11/include/X11 -I/usr/include -I/usr/include/Xm -I/opt/local/include/ -I/opt/local/include -lhdf5 -lgfortran -ljasper -lpng -liconv -lc -lXt -lX11 -lz -lm -lXm\"\n\n$CC $myCflags *.c Sndglib/*.c\n$FC $myFflags *.f\n$CC $myLinkflags *.o $myLibsInc $myLinktail\n\ncp libbignsharp.dylib ~/awips2-ncep/viz/gov.noaa.nws.ncep.ui.nsharp.macosx/",
"title": "NSHARP pre-built libraries"
},
{
"location": "/dev/build-nsharp-macos/#gempak-pre-built-libraries",
"text": "libgempak.dylib libgempak.dylib is built in a similar way as libbignsharp.dylib: #!/bin/bash\ncd ~/awips2-gemlibs/gempak/\n. $NAWIPS/Gemenviron.profile\nCC=gcc\nFC=gfortran\n\nmyCflags=\"$CFLAGS -I. -I$GEMPAK/source/diaglib/dg -I$GEMPAK/source/gemlib/er \\\n-I/opt/X11/include/X11 -I/usr/include/Xm -I/opt/local/include -I/usr/include/malloc -fPIC -DDEBUG -c\"\n\nmyFflags=\"-I. -I$OS_INC -I$GEMPAK/include -fPIC -g -c -Wtabs -fno-second-underscore\"\n\nmyLinkflags=\"-L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9/ -L/opt/local/lib -L$OS_LIB -L. \\\n-shared -Wl -Wno-return-type,-install_name,libgempak.dylib -o libgempak.dylib\"\n\nmyLibs=\"$OS_LIB/ginitp_alt.o $OS_LIB/gendp_alt.o $OS_LIB/libcgemlib.a \\\n$OS_LIB/libsflist.a $OS_LIB/gdlist.a $OS_LIB/libcgemlib.a $OS_LIB/libgemlib.a \\\n$OS_LIB/libcgemlib.a $OS_LIB/libgplt.a $OS_LIB/libdevice.a $OS_LIB/libcgemlib.a \\\n$OS_LIB/libgn.a $OS_LIB/libgemlib.a $OS_LIB/libcgemlib.a $OS_LIB/libnetcdf.a \\\n$OS_LIB/libcgemlib.a $OS_LIB/libtextlib.a $OS_LIB/libxml2.a $OS_LIB/libxslt.a \\\n$OS_LIB/libcgemlib.a $OS_LIB/libgemlib.a $OS_LIB/libcgemlib.a $OS_LIB/libcgemlib.a \\\n$OS_LIB/librsl.a $OS_LIB/libcgemlib.a $OS_LIB/libbz2.a\"\n\nmyLinktail=\"-I$OS_INC -I$GEMPAK/include -I. -I/opt/X11/include/X11 -I/usr/include \\\n-I/usr/include/Xm -I/opt/local/include/ -I/opt/local/include \\\n-lhdf5 -lgfortran -ljasper -lpng -liconv -lc -lXt -lX11 -lz -lm -lXm\"\n\n$CC $myCflags *.c\n$FC $myFflags *.f\n$CC $myLinkflags *.o $myLibs $myLinktail\n\ncp libgempak.dylib ~/awips2-ncep/viz/gov.noaa.nws.ncep.viz.gempak.nativelib.macosx/ libcnflib.dylib #!/bin/bash\ncd ~/awips2-gemlibs/cnflib/\n. $NAWIPS/Gemenviron.profile\nCC=gcc\nFC=gfortran\n\nmyCflags=\"$CFLAGS -I/opt/X11/include/X11 -I/usr/include/Xm -I/opt/local/include \\\n-I/usr/include/malloc -Wno-return-type -DUNDERSCORE -fPIC -DDEBUG -g -c\"\n\nmyLinkflags=\"-L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9/ -L/opt/local/lib \\\n-shared -Wl -Wno-return-type,-install_name,libcnflib.dylib -o libcnflib.dylib\"\n\nmyLinktail=\"-lgfortran -lc\"\n\nmyLibs=\"$OS_LIB/ginitp_alt.o $OS_LIB/gendp_alt.o $OS_LIB/gdlist.a $OS_LIB/gdcfil.a \\\n$OS_LIB/libgemlib.a $OS_LIB/libgplt.a $OS_LIB/libdevice.a $OS_LIB/libgn.a \\\n$OS_LIB/libcgemlib.a $OS_LIB/libgemlib.a $OS_LIB/libnetcdf.a $OS_LIB/libtextlib.a \\\n$OS_LIB/libxslt.a $OS_LIB/libxml2.a -liconv \\\n$OS_LIB/libz.a $OS_LIB/librsl.a -lbz2\"\n\n$CC $myCflags *.c\n$CC $myLinkflags *.o $myLibs $myLinktail\n\ncp libcnflib.dylib ~/awips2-ncep/viz/gov.noaa.nws.ncep.viz.gempak.nativelib.macosx/ libaodtv64.dylib #!/bin/bash\nCC=gcc\nFC=gfortran\n\ncd ~/awips2-gemlibs/aodt/AODTLIB/\n\ngcc -fPIC -g -c -Wall *.c *.h\ngcc -shared -Wl,-Wno-return-type,-install_name,libaodtv64.dylib -o libaodtv64.dylib *.o -lc\n\ncp libaodtv64.dylib ~/awips2-ncep/viz/gov.noaa.nws.ncep.viz.gempak.nativelib.macosx/ libg2g.dylib #!/bin/bash\ncd ~/awips2-gemlibs/g2g/\n. $NAWIPS/Gemenviron.profile\nCC=gcc\nFC=gfortran\n\nmyCflags=\"$CFLAGS -I$GEMPAK/include -I. -I$GEMPAK/source/diaglib/dg \\\n-I$GEMPAK/source/gemlib/er -I/opt/X11/include/X11 -I/usr/include/Xm \\\n-I/opt/local/include -I/usr/include/malloc -Wno-return-type -DUNDERSCORE \\\n-fPIC -DDEBUG -c\"\n\nmyFflags=\"-I. -I$OS_INC -I$GEMPAK/include -fPIC -g -c -Wtabs -fno-second-underscore\"\n\nmyLinkflags=\"-L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9/ -L/opt/local/lib \\\n-L/usr/X11R6/lib -shared -Wl -Wno-return-type,-install_name,libg2g.dylib -o libg2g.dylib\"\n\nmyLinktail=\"-lgfortran $OS_LIB/libjasper.a -lpng -lc\"\n\nmyLibs=\"$OS_LIB/ginitp_alt.o $OS_LIB/gendp_alt.o $OS_LIB/gdlist.a \\\n$OS_LIB/gdcfil.a $OS_LIB/libgemlib.a $OS_LIB/libgplt.a $OS_LIB/libdevice.a \\\n$OS_LIB/libgn.a $OS_LIB/libcgemlib.a $OS_LIB/libgemlib.a $OS_LIB/libnetcdf.a \\\n$OS_LIB/libtextlib.a $OS_LIB/libxslt.a $OS_LIB/libxml2.a \\\n-liconv $OS_LIB/libz.a $OS_LIB/librsl.a -lbz2\"\n\n$CC $myCflags *.c\n$FC $myFflags *.f\n$CC $myLinkflags *.o $myLibs $myLinktail\n\ncp libg2g.dylib ~/awips2-ncep/viz/gov.noaa.nws.ncep.viz.gempak.nativelib.macosx/",
"title": "GEMPAK pre-built libraries"
},
{
"location": "/appendix/appendix-grid-parameters/",
"text": "Abbreviation\n\n\nDescription\n\n\nUnits\n\n\n\n\n\n\n\n\n\n\nWSPD\n\n\n10 Metre neutral wind speed over waves\n\n\nm/s\n\n\n\n\n\n\nWDRT\n\n\n10 Metre Wind Direction Over Waves\n\n\nDegree\n\n\n\n\n\n\nARI12H1000YR\n\n\n12H Average Recurrance Interval Accumulation 1000 Year\n\n\nin*1000\n\n\n\n\n\n\nARI12H100YR\n\n\n12H Average Recurrance Interval Accumulation 100 Year\n\n\nin*1000\n\n\n\n\n\n\nARI12H10YR\n\n\n12H Average Recurrance Interval Accumulation 10 Year\n\n\nin*1000\n\n\n\n\n\n\nARI12H1YR\n\n\n12H Average Recurrance Interval Accumulation 1 Year\n\n\nin*1000\n\n\n\n\n\n\nARI12H200YR\n\n\n12H Average Recurrance Interval Accumulation 200 Year\n\n\nin*1000\n\n\n\n\n\n\nARI12H25YR\n\n\n12H Average Recurrance Interval Accumulation 25 Year\n\n\nin*1000\n\n\n\n\n\n\nARI12H2YR\n\n\n12H Average Recurrance Interval Accumulation 2 Year\n\n\nin*1000\n\n\n\n\n\n\nARI12H500YR\n\n\n12H Average Recurrance Interval Accumulation 500 Year\n\n\nin*1000\n\n\n\n\n\n\nARI12H50YR\n\n\n12H Average Recurrance Interval Accumulation 50 Year\n\n\nin*1000\n\n\n\n\n\n\nARI12H5YR\n\n\n12H Average Recurrance Interval Accumulation 5 Year\n\n\nin*1000\n\n\n\n\n\n\nPRP12H\n\n\n12 hour Precipitation Accumulation Return Period\n\n\nyear\n\n\n\n\n\n\nGaugeInfIndex12H\n\n\n12 hour QPE Gauge Influence Index\n\n\n\n\n\n\n\n\nFFG12\n\n\n12-hr flash flood guidance\n\n\nmm\n\n\n\n\n\n\nFFR12\n\n\n12-hr flash flood runoff values\n\n\nmm\n\n\n\n\n\n\nEchoTop18\n\n\n18 dBZ Echo Top\n\n\nkm\n\n\n\n\n\n\nARI1H1000YR\n\n\n1H Average Recurrance Interval Accumulation 1000 Year\n\n\nin*1000\n\n\n\n\n\n\nARI1H100YR\n\n\n1H Average Recurrance Interval Accumulation 100 Year\n\n\nin*1000\n\n\n\n\n\n\nARI1H10YR\n\n\n1H Average Recurrance Interval Accumulation 10 Year\n\n\nin*1000\n\n\n\n\n\n\nARI1H1YR\n\n\n1H Average Recurrance Interval Accumulation 1 Year\n\n\nin*1000\n\n\n\n\n\n\nARI1H200YR\n\n\n1H Average Recurrance Interval Accumulation 200 Year\n\n\nin*1000\n\n\n\n\n\n\nARI1H25YR\n\n\n1H Average Recurrance Interval Accumulation 25 Year\n\n\nin*1000\n\n\n\n\n\n\nARI1H2YR\n\n\n1H Average Recurrance Interval Accumulation 2 Year\n\n\nin*1000\n\n\n\n\n\n\nARI1H500YR\n\n\n1H Average Recurrance Interval Accumulation 500 Year\n\n\nin*1000\n\n\n\n\n\n\nARI1H50YR\n\n\n1H Average Recurrance Interval Accumulation 50 Year\n\n\nin*1000\n\n\n\n\n\n\nARI1H5YR\n\n\n1H Average Recurrance Interval Accumulation 5 Year\n\n\nin*1000\n\n\n\n\n\n\nPRP01H\n\n\n1 hour Precipitation Accumulation Return Period\n\n\nyear\n\n\n\n\n\n\nGaugeInfIndex01H\n\n\n1 hour QPE Gauge Influence Index\n\n\n\n\n\n\n\n\nQPEFFG01H\n\n\n1 hour QPE-to-FFG Ratio\n\n\n%\n\n\n\n\n\n\nFFG01\n\n\n1-hr flash flood guidance\n\n\nmm\n\n\n\n\n\n\nFFR01\n\n\n1-hr flash flood runoff values\n\n\nmm\n\n\n\n\n\n\nQPE01\n\n\n1-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE01_ACR\n\n\n1-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE01_ALR\n\n\n1-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE01_FWR\n\n\n1-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE01_KRF\n\n\n1-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE01_MSR\n\n\n1-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE01_ORN\n\n\n1-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE01_PTR\n\n\n1-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE01_RHA\n\n\n1-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE01_RSA\n\n\n1-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE01_STR\n\n\n1-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE01_TAR\n\n\n1-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE01_TIR\n\n\n1-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE01_TUA\n\n\n1-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nEVEC1\n\n\n1st Vector Component of Electric Field\n\n\nV*m^1\n\n\n\n\n\n\nBVEC1\n\n\n1st Vector Component of Magnetic Field\n\n\nT\n\n\n\n\n\n\nVEL1\n\n\n1st Vector Component of Velocity (Coordinate system dependent)\n\n\nm*s^1\n\n\n\n\n\n\nTCSRG20\n\n\n20% Tropical Cyclone Storm Surge Exceedance\n\n\nm\n\n\n\n\n\n\nARI24H1000YR\n\n\n24H Average Recurrance Interval Accumulation 1000 Year\n\n\nin*1000\n\n\n\n\n\n\nARI24H100YR\n\n\n24H Average Recurrance Interval Accumulation 100 Year\n\n\nin*1000\n\n\n\n\n\n\nARI24H10YR\n\n\n24H Average Recurrance Interval Accumulation 10 Year\n\n\nin*1000\n\n\n\n\n\n\nARI24H1YR\n\n\n24H Average Recurrance Interval Accumulation 1 Year\n\n\nin*1000\n\n\n\n\n\n\nARI24H200YR\n\n\n24H Average Recurrance Interval Accumulation 200 Year\n\n\nin*1000\n\n\n\n\n\n\nARI24H25YR\n\n\n24H Average Recurrance Interval Accumulation 25 Year\n\n\nin*1000\n\n\n\n\n\n\nARI24H2YR\n\n\n24H Average Recurrance Interval Accumulation 2 Year\n\n\nin*1000\n\n\n\n\n\n\nARI24H500YR\n\n\n24H Average Recurrance Interval Accumulation 500 Year\n\n\nin*1000\n\n\n\n\n\n\nARI24H50YR\n\n\n24H Average Recurrance Interval Accumulation 50 Year\n\n\nin*1000\n\n\n\n\n\n\nARI24H5YR\n\n\n24H Average Recurrance Interval Accumulation 5 Year\n\n\nin*1000\n\n\n\n\n\n\nPRP24H\n\n\n24 hour Precipitation Accumulation Return Period\n\n\nyear\n\n\n\n\n\n\nGaugeInfIndex24H\n\n\n24 hour QPE Gauge Influence Index\n\n\n\n\n\n\n\n\nFFG24\n\n\n24-hr flash flood guidance\n\n\nmm\n\n\n\n\n\n\nFFR24\n\n\n24-hr flash flood runoff values\n\n\nmm\n\n\n\n\n\n\nQPE24\n\n\n24-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE24_ACR\n\n\n24-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE24_ALR\n\n\n24-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE24_FWR\n\n\n24-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE24_KRF\n\n\n24-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE24_MSR\n\n\n24-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE24_ORN\n\n\n24-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE24_PTR\n\n\n24-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE24_RHA\n\n\n24-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE24_RSA\n\n\n24-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE24_STR\n\n\n24-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE24_TAR\n\n\n24-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE24_TIR\n\n\n24-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE24_TUA\n\n\n24-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPF24\n\n\n24-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF24_ACR\n\n\n24-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF24_ALR 205\n\n\n24-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF24_FWR\n\n\n24-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF24_KRF\n\n\n24-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF24_MSR\n\n\n24-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF24_ORN\n\n\n24-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF24_PTR\n\n\n24-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF24_RHA\n\n\n24-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF24_RSA\n\n\n24-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF24_STR\n\n\n24-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF24_TAR\n\n\n24-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF24_TIR\n\n\n24-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF24_TUA\n\n\n24-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nARI2H1000YR\n\n\n2H Average Recurrance Interval Accumulation 1000 Year\n\n\nin*1000\n\n\n\n\n\n\nARI2H100YR\n\n\n2H Average Recurrance Interval Accumulation 100 Year\n\n\nin*1000\n\n\n\n\n\n\nARI2H10YR\n\n\n2H Average Recurrance Interval Accumulation 10 Year\n\n\nin*1000\n\n\n\n\n\n\nARI2H1YR\n\n\n2H Average Recurrance Interval Accumulation 1 Year\n\n\nin*1000\n\n\n\n\n\n\nARI2H200YR\n\n\n2H Average Recurrance Interval Accumulation 200 Year\n\n\nin*1000\n\n\n\n\n\n\nARI2H25YR\n\n\n2H Average Recurrance Interval Accumulation 25 Year\n\n\nin*1000\n\n\n\n\n\n\nARI2H2YR\n\n\n2H Average Recurrance Interval Accumulation 2 Year\n\n\nin*1000\n\n\n\n\n\n\nARI2H500YR\n\n\n2H Average Recurrance Interval Accumulation 500 Year\n\n\nin*1000\n\n\n\n\n\n\nARI2H50YR\n\n\n2H Average Recurrance Interval Accumulation 50 Year\n\n\nin*1000\n\n\n\n\n\n\nARI2H5YR\n\n\n2H Average Recurrance Interval Accumulation 5 Year\n\n\nin*1000\n\n\n\n\n\n\nEVEC2\n\n\n2nd Vector Component of Electric Field\n\n\nV*m^1\n\n\n\n\n\n\nBVEC2\n\n\n2nd Vector Component of Magnetic Field\n\n\nT\n\n\n\n\n\n\nVEL2\n\n\n2nd Vector Component of Velocity (Coordinate system dependent)\n\n\nm*s^1\n\n\n\n\n\n\nEchoTop30\n\n\n30 dBZ Echo Top\n\n\nkm\n\n\n\n\n\n\nARI30M1000YR\n\n\n30M Average Recurrance Interval Accumulation 1000 Year\n\n\nin*1000\n\n\n\n\n\n\nARI30M100YR\n\n\n30M Average Recurrance Interval Accumulation 100 Year\n\n\nin*1000\n\n\n\n\n\n\nARI30M10YR\n\n\n30M Average Recurrance Interval Accumulation 10 Year\n\n\nin*1000\n\n\n\n\n\n\nARI30M1YR\n\n\n30M Average Recurrance Interval Accumulation 1 Year\n\n\nin*1000\n\n\n\n\n\n\nARI30M200YR\n\n\n30M Average Recurrance Interval Accumulation 200 Year\n\n\nin*1000\n\n\n\n\n\n\nARI30M25YR\n\n\n30M Average Recurrance Interval Accumulation 25 Year\n\n\nin*1000\n\n\n\n\n\n\nARI30M2YR\n\n\n30M Average Recurrance Interval Accumulation 2 Year\n\n\nin*1000\n\n\n\n\n\n\nARI30M500YR\n\n\n30M Average Recurrance Interval Accumulation 500 Year\n\n\nin*1000\n\n\n\n\n\n\nARI30M50YR\n\n\n30M Average Recurrance Interval Accumulation 50 Year\n\n\nin*1000\n\n\n\n\n\n\nARI30M5YR\n\n\n30M Average Recurrance Interval Accumulation 5 Year\n\n\nin*1000\n\n\n\n\n\n\nPRP30min\n\n\n30 min Precipitation Accumulation Return Period\n\n\nyear\n\n\n\n\n\n\nTCSRG30\n\n\n30% Tropical Cyclone Storm Surge Exceedance\n\n\nm\n\n\n\n\n\n\nSALIN\n\n\n3-D Salinity\n\n\n\n\n\n\n\n\nWTMPC\n\n\n3-D Temperature\n\n\n\u2103\n\n\n\n\n\n\nARI3H1000YR\n\n\n3H Average Recurrance Interval Accumulation 1000 Year\n\n\nin*1000\n\n\n\n\n\n\nARI3H100YR\n\n\n3H Average Recurrance Interval Accumulation 100 Year\n\n\nin*1000\n\n\n\n\n\n\nARI3H10YR\n\n\n3H Average Recurrance Interval Accumulation 10 Year\n\n\nin*1000\n\n\n\n\n\n\nARI3H1YR\n\n\n3H Average Recurrance Interval Accumulation 1 Year\n\n\nin*1000\n\n\n\n\n\n\nARI3H200YR\n\n\n3H Average Recurrance Interval Accumulation 200 Year\n\n\nin*1000\n\n\n\n\n\n\nARI3H25YR\n\n\n3H Average Recurrance Interval Accumulation 25 Year\n\n\nin*1000\n\n\n\n\n\n\nARI3H2YR\n\n\n3H Average Recurrance Interval Accumulation 2 Year\n\n\nin*1000\n\n\n\n\n\n\nARI3H500YR\n\n\n3H Average Recurrance Interval Accumulation 500 Year\n\n\nin*1000\n\n\n\n\n\n\nARI3H50YR\n\n\n3H Average Recurrance Interval Accumulation 50 Year\n\n\nin*1000\n\n\n\n\n\n\nARI3H5YR\n\n\n3H Average Recurrance Interval Accumulation 5 Year\n\n\nin*1000\n\n\n\n\n\n\nPRP03H\n\n\n3 hour Precipitation Accumulation Return Period\n\n\nyear\n\n\n\n\n\n\nGaugeInfIndex03H\n\n\n3 hour QPE Gauge Influence Index\n\n\n\n\n\n\n\n\nQPEFFG03H\n\n\n3 hour QPE-to-FFG Ratio\n\n\n%\n\n\n\n\n\n\nFFG03\n\n\n3-hr flash flood guidance\n\n\nmm\n\n\n\n\n\n\nFFR03\n\n\n3-hr flash flood runoff values\n\n\nmm\n\n\n\n\n\n\nTSLSA\n\n\n3-hr pressure tendency (Std. Atmos. Reduction)\n\n\nPa/s\n\n\n\n\n\n\nEVEC3\n\n\n3rd Vector Component of Electric Field\n\n\nV*m^1\n\n\n\n\n\n\nBVEC3\n\n\n3rd Vector Component of Magnetic Field\n\n\nT\n\n\n\n\n\n\nVEL3\n\n\n3rd Vector Component of Velocity (Coordinate system dependent)\n\n\nm*s^1\n\n\n\n\n\n\nTCSRG40\n\n\n40% Tropical Cyclone Storm Surge Exceedance\n\n\nm\n\n\n\n\n\n\nGaugeInfIndex48H\n\n\n48 hour QPE Gauge Influence Index\n\n\n\n\n\n\n\n\nEchoTop50\n\n\n50 dBZ Echo Top\n\n\nkm\n\n\n\n\n\n\nTCSRG50\n\n\n50% Tropical Cyclone Storm Surge Exceedance\n\n\nm\n\n\n\n\n\n\n5WAVA\n\n\n5-wave geopotential height anomaly\n\n\ngpm\n\n\n\n\n\n\n5WAVA\n\n\n5-Wave Geopotential Height Anomaly\n\n\ngpm\n\n\n\n\n\n\n5WAVH\n\n\n5-wave geopotential height\n\n\ngpm\n\n\n\n\n\n\n5WAVH\n\n\n5-Wave Geopotential Height\n\n\ngpm\n\n\n\n\n\n\nEchoTop60\n\n\n60 dBZ Echo Top\n\n\nkm\n\n\n\n\n\n\nTCSRG60\n\n\n60% Tropical Cyclone Storm Surge Exceedance\n\n\nm\n\n\n\n\n\n\nARI6H1000YR\n\n\n6H Average Recurrance Interval Accumulation 1000 Year\n\n\nin*1000\n\n\n\n\n\n\nARI6H100YR\n\n\n6H Average Recurrance Interval Accumulation 100 Year\n\n\nin*1000\n\n\n\n\n\n\nARI6H10YR\n\n\n6H Average Recurrance Interval Accumulation 10 Year\n\n\nin*1000\n\n\n\n\n\n\nARI6H1YR\n\n\n6H Average Recurrance Interval Accumulation 1 Year\n\n\nin*1000\n\n\n\n\n\n\nARI6H200YR\n\n\n6H Average Recurrance Interval Accumulation 200 Year\n\n\nin*1000\n\n\n\n\n\n\nARI6H25YR\n\n\n6H Average Recurrance Interval Accumulation 25 Year\n\n\nin*1000\n\n\n\n\n\n\nARI6H2YR\n\n\n6H Average Recurrance Interval Accumulation 2 Year\n\n\nin*1000\n\n\n\n\n\n\nARI6H500YR\n\n\n6H Average Recurrance Interval Accumulation 500 Year\n\n\nin*1000\n\n\n\n\n\n\nARI6H50YR\n\n\n6H Average Recurrance Interval Accumulation 50 Year\n\n\nin*1000\n\n\n\n\n\n\nARI6H5YR\n\n\n6H Average Recurrance Interval Accumulation 5 Year\n\n\nin*1000\n\n\n\n\n\n\nPRP06H\n\n\n6 hour Precipitation Accumulation Return Period\n\n\nyear\n\n\n\n\n\n\nGaugeInfIndex06H\n\n\n6 hour QPE Gauge Influence Index\n\n\n\n\n\n\n\n\nQPEFFG06H\n\n\n6 hour QPE-to-FFG Ratio\n\n\n%\n\n\n\n\n\n\nFFG06\n\n\n6-hr flash flood guidance\n\n\nmm\n\n\n\n\n\n\nFFR06\n\n\n6-hr flash flood runoff values\n\n\nmm\n\n\n\n\n\n\nQPE06\n\n\n6-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE06_ACR\n\n\n6-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE06_ALR\n\n\n6-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE06_FWR\n\n\n6-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE06_KRF\n\n\n6-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE06_MSR\n\n\n6-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE06_ORN\n\n\n6-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE06_PTR\n\n\n6-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE06_RHA\n\n\n6-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE06_RSA\n\n\n6-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE06_STR\n\n\n6-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE06_TAR\n\n\n6-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE06_TIR\n\n\n6-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPE06_TUA\n\n\n6-hr Quantitative Precip Estimate\n\n\nmm\n\n\n\n\n\n\nQPF06\n\n\n6-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF06_ACR\n\n\n6-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF06_ALR\n\n\n6-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF06_FWR\n\n\n6-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF06_KRF\n\n\n6-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF06_MSR\n\n\n6-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF06_ORN\n\n\n6-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF06_PTR\n\n\n6-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF06_RHA\n\n\n6-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF06_RSA\n\n\n6-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF06_STR\n\n\n6-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF06_TAR\n\n\n6-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF06_TIR\n\n\n6-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nQPF06_TUA\n\n\n6-hr Quantitative Precip Forecast\n\n\nmm\n\n\n\n\n\n\nTCSRG70\n\n\n70% Tropical Cyclone Storm Surge Exceedance\n\n\nm\n\n\n\n\n\n\nGaugeInfIndex72H\n\n\n72 hour QPE Gauge Influence Index\n\n\n\n\n\n\n\n\nTCSRG80\n\n\n80% Tropical Cyclone Storm Surge Exceedance\n\n\nm\n\n\n\n\n\n\nTCSRG90\n\n\n90% Tropical Cyclone Storm Surge Exceedance\n\n\nm\n\n\n\n\n\n\nABSD\n\n\nAbsolute divergence\n\n\ns^-1\n\n\n\n\n\n\nABSH\n\n\nAbsolute Humidity\n\n\nkg m-3\n\n\n\n\n\n\nAH\n\n\nAbsolute humidity\n\n\nkg/m^3\n\n\n\n\n\n\nABSV\n\n\nAbsolute vorticity\n\n\ns^-1\n\n\n\n\n\n\nASD\n\n\nAccumulated Snow Depth\n\n\nm\n\n\n\n\n\n\nACOND\n\n\nAerodynamic conductance\n\n\nm/s\n\n\n\n\n\n\nAETYP\n\n\nAerosol type\n\n\n(Code table 4.205)\n\n\n\n\n\n\nAC137\n\n\nAir concentration of Caesium 137\n\n\nBq/m^3\n\n\n\n\n\n\nAI131\n\n\nAir concentration of Iodine 131\n\n\nBq/m^3\n\n\n\n\n\n\nARADP\n\n\nAir concentration of radioactive pollutant\n\n\nBq/m^3\n\n\n\n\n\n\nALBDO\n\n\nAlbedo\n\n\n%\n\n\n\n\n\n\nACWVH\n\n\nAltimeter corrected wave height\n\n\nm\n\n\n\n\n\n\nALRRC\n\n\nAltimeter Range Relative Correction\n\n\n\n\n\n\n\n\nASET\n\n\nAltimeter setting\n\n\nPa\n\n\n\n\n\n\nAWVH\n\n\nAltimeter wave height\n\n\nm\n\n\n\n\n\n\nALTMSL\n\n\nAltitude above mean sea level\n\n\nm\n\n\n\n\n\n\nANCConvectiveOutlook\n\n\nANC Convective Outlook\n\n\n\n\n\n\n\n\nANCFinalForecast\n\n\nANC Final Forecast\n\n\ndBZ\n\n\n\n\n\n\nAOSGSO\n\n\nAngle Of Sub-Grid Scale Orography\n\n\nRad\n\n\n\n\n\n\nASGSO\n\n\nAnisotropy Of Sub-Grid Scale Orography\n\n\nNumeric\n\n\n\n\n\n\nAPTMP\n\n\nApparent Temperature\n\n\nK\n\n\n\n\n\n\nARBTXT\n\n\nArbitrary text string\n\n\nCCITTIA5\n\n\n\n\n\n\nASHFL\n\n\nAssimilative Heat Flux\n\n\nW/m^2\n\n\n\n\n\n\nAMIXL\n\n\nAsymptotic mixing length scale\n\n\nm\n\n\n\n\n\n\nATMDIV\n\n\nAtmospheric Divergence\n\n\ns^-1\n\n\n\n\n\n\nAVSFT\n\n\nAverage surface skin temperature\n\n\nK\n\n\n\n\n\n\nBARET\n\n\nBare soil surface skin temperature\n\n\nK\n\n\n\n\n\n\nBKENG\n\n\nBarotropic Kinectic Energy\n\n\nJ/kg\n\n\n\n\n\n\nUBARO\n\n\nBarotropic U velocity\n\n\nm/s\n\n\n\n\n\n\nUBARO\n\n\nBarotropic U Velocity\n\n\nm/s\n\n\n\n\n\n\nVBARO\n\n\nBarotropic V velocity\n\n\nm/s\n\n\n\n\n\n\nVBARO\n\n\nBarotropic V Velocity\n\n\nm/s\n\n\n\n\n\n\nBGRUN\n\n\nBaseflow-groundwater runoff\n\n\nmm\n\n\n\n\n\n\nBASRV\n\n\nBase radial velocity\n\n\nm/s\n\n\n\n\n\n\nBASR\n\n\nBase reflectivity\n\n\ndB\n\n\n\n\n\n\nBASSW\n\n\nBase spectrum width\n\n\nm/s\n\n\n\n\n\n\n4LFTX\n\n\nBest (4-layer) lifted index\n\n\nK\n\n\n\n\n\n\n4LFTX\n\n\nBest (4 layer) Lifted Index\n\n\nK\n\n\n\n\n\n\nBLI\n\n\nBest lifted index (to 500 mb)\n\n\nK\n\n\n\n\n\n\nBMIXL\n\n\nBlackadars mixing length scale\n\n\nm\n\n\n\n\n\n\nBLST\n\n\nBottom layer soil temperature\n\n\nK\n\n\n\n\n\n\nNONE\n\n\nBottom of Ocean Isothermal Layer\n\n\nm\n\n\n\n\n\n\nOBIL\n\n\nBottom of Ocean Isothermal Layer\n\n\nm\n\n\n\n\n\n\nNONE\n\n\nBottom of Ocean Mixed Layer (m)\n\n\nm\n\n\n\n\n\n\nOBML\n\n\nBottom of Ocean Mixed Layer (m)\n\n\nm\n\n\n\n\n\n\nBCBL\n\n\nBoundary layer cloud bottom level\n\n\n\n\n\n\n\n\nBCBL\n\n\nBoundary Layer Cloud Bottom Level\n\n\n\n\n\n\n\n\nBCLY\n\n\nBoundary Layer Cloud Layer\n\n\n\n\n\n\n\n\nBCY\n\n\nBoundary layer cloud layer\n\n\n\n\n\n\n\n\nBCY\n\n\nBoundary Layer Cloud Layer\n\n\n\n\n\n\n\n\nBCTL\n\n\nBoundary layer cloud top level\n\n\n\n\n\n\n\n\nBCTL\n\n\nBoundary Layer Cloud Top Level\n\n\n\n\n\n\n\n\nBLYSP\n\n\nBoundary layer dissipation\n\n\nW/m^2\n\n\n\n\n\n\nBrightBandBottomHeight\n\n\nBright Band Bottom Height\n\n\nm\n\n\n\n\n\n\nBrightBandTopHeight\n\n\nBright Band Top Height\n\n\nm\n\n\n\n\n\n\nBRTMP\n\n\nBrightness temperature\n\n\nK\n\n\n\n\n\n\nCAIIRAD\n\n\nCaII-K Radiance\n\n\nW*s*r^1*m^2\n\n\n\n\n\n\nCCOND\n\n\nCanopy conductance\n\n\nm/s\n\n\n\n\n\n\nEVCW\n\n\nCanopy water evaporation\n\n\nW/m^2\n\n\n\n\n\n\nCONVP\n\n\nCategorical Convection\n\n\ncategorical\n\n\n\n\n\n\nCFRZR\n\n\nCategorical Freezing Rain\n\n\n\n\n\n\n\n\nCFRZR\n\n\nCategorical Freezing Rain\n\n\nCode table 4.222\n\n\n\n\n\n\nCFRZR\n\n\nCategorical Freezing Rain\n\n\nnon-dim\n\n\n\n\n\n\nCFRZR\n\n\nCategorical freezing rain\n\n\n(See Code table 4.222)\n\n\n\n\n\n\nCFRZR\n\n\nCategorical Freezing Rain (yes=1; no=0)\n\n\n\n\n\n\n\n\nCFRZR\n\n\nCategorical Freezing Rain (yes=1; no=0)\n\n\nnon-dim\n\n\n\n\n\n\nCICEP\n\n\nCategorical Ice Pellets\n\n\n\n\n\n\n\n\nCICEP\n\n\nCategorical Ice Pellets\n\n\nCode table 4.222\n\n\n\n\n\n\nCICEP\n\n\nCategorical Ice Pellets\n\n\nnon-dim\n\n\n\n\n\n\nCICEP\n\n\nCategorical ice pellets\n\n\n(See Code table 4.222)\n\n\n\n\n\n\nCICEP\n\n\nCategorical Ice Pellets (yes=1; no=0)\n\n\n\n\n\n\n\n\nCICEP\n\n\nCategorical Ice Pellets (yes=1; no=0)\n\n\nnon-dim\n\n\n\n\n\n\nCLGTN\n\n\nCategorical Lightning\n\n\ncategorical\n\n\n\n\n\n\nOZCAT\n\n\nCategorical Ozone Concentration\n\n\nNon-Dim\n\n\n\n\n\n\nOZCAT\n\n\nCategorical Ozone Concentration\n\n\n\n\n\n\n\n\nCRAIN\n\n\nCategorical Rain\n\n\nCode table 4.222\n\n\n\n\n\n\nCRAIN\n\n\nCategorical Rain\n\n\n\n\n\n\n\n\nCRAIN\n\n\nCategorical Rain\n\n\nnon-dim\n\n\n\n\n\n\nCRAIN\n\n\nCategorical rain\n\n\n(See Code table 4.222)\n\n\n\n\n\n\nCRAIN\n\n\nCategorical Rain (yes=1; no=0)\n\n\n\n\n\n\n\n\nCRAIN\n\n\nCategorical Rain (yes=1; no=0)\n\n\nnon-dim\n\n\n\n\n\n\nSVRTS\n\n\nCategorical Servre Thunderstorm\n\n\n\n\n\n\n\n\nSVRTS\n\n\nCategorical Severe Thunderstorm\n\n\n\n\n\n\n\n\nCSNOW\n\n\nCategorical Snow\n\n\nCode table 4.222\n\n\n\n\n\n\nCSNOW\n\n\nCategorical Snow\n\n\n\n\n\n\n\n\nCSNOW\n\n\nCategorical Snow\n\n\nnon-dim\n\n\n\n\n\n\nCSNOW\n\n\nCategorical snow\n\n\n(See Code table 4.222)\n\n\n\n\n\n\nCSNOW\n\n\nCategorical Snow (yes=1; no=0)\n\n\n\n\n\n\n\n\nCSNOW\n\n\nCategorical Snow (yes=1; no=0)\n\n\nnon-dim\n\n\n\n\n\n\nCTSTM\n\n\nCategorical Thunderstorm (1-yes, 0-no)\n\n\ncategorical\n\n\n\n\n\n\nTSTMC\n\n\nCategorical Thunderstorm (1-yes, 0-no)\n\n\ncategorical\n\n\n\n\n\n\nCCEIL\n\n\nCeiling\n\n\nm\n\n\n\n\n\n\nLightningDensity15min\n\n\nCG Lightning Density (15 min.)\n\n\nFlashes/km^2/min\n\n\n\n\n\n\nLightningDensity1min\n\n\nCG Lightning Density (1 min.)\n\n\nFlashes/km^2/min\n\n\n\n\n\n\nLightningDensity30min\n\n\nCG Lightning Density (30 min.)\n\n\nFlashes/km^2/min\n\n\n\n\n\n\nLightningDensity5min\n\n\nCG Lightning Density (5 min.)\n\n\nFlashes/km^2/min\n\n\n\n\n\n\nLightningProbabilityNext30min\n\n\nCG Lightning Probability (0-30 min.)\n\n\n%\n\n\n\n\n\n\nCAT\n\n\nClear Air Turbulence (CAT)\n\n\n%\n\n\n\n\n\n\nCAT\n\n\nClear Air Turbulence(CAT)\n\n\n%\n\n\n\n\n\n\nCSDLF\n\n\nClear Sky Downward Long Wave Flux\n\n\nW/m^2\n\n\n\n\n\n\nCSDSF\n\n\nClear sky downward solar flux\n\n\nW/m^2\n\n\n\n\n\n\nCSULF\n\n\nClear Sky Upward Long Wave Flux\n\n\nW/m^2\n\n\n\n\n\n\nCSUSF\n\n\nClear Sky Upward Solar Flux\n\n\nW/m^2\n\n\n\n\n\n\nCDUVB\n\n\nClear sky UV-B downward solar flux\n\n\nW/m^2\n\n\n\n\n\n\nCAMT\n\n\nCloud amount\n\n\n%\n\n\n\n\n\n\nCBL\n\n\nCloud Base Level\n\n\n\n\n\n\n\n\nCBASE\n\n\nCloud base\n\n\nm\n\n\n\n\n\n\nCEIL\n\n\nCloud Ceiling\n\n\n\n\n\n\n\n\nCLG\n\n\nCloud ceiling\n\n\n\n\n\n\n\n\nCLG\n\n\nCloud Ceiling\n\n\n\n\n\n\n\n\nCloudCover\n\n\nCloud Cover\n\n\nK\n\n\n\n\n\n\nCFNLF\n\n\nCloud Forcing Net Long Wave Flux\n\n\nW/m^2\n\n\n\n\n\n\nCFNSF\n\n\nCloud Forcing Net Solar Flux\n\n\nW/m^2\n\n\n\n\n\n\nCDCIMR\n\n\nCloud Ice Mixing Ratio\n\n\nkg/kg\n\n\n\n\n\n\nCICE\n\n\nCloud ice\n\n\nmm\n\n\n\n\n\n\nCLOUDM\n\n\nCloud mask\n\n\n(Code table 4.217)\n\n\n\n\n\n\nCLWMR\n\n\nCloud Mixing Ratio\n\n\nkg kg-1\n\n\n\n\n\n\nCLWMR\n\n\nCloud mixing ratio\n\n\nkg/kg\n\n\n\n\n\n\nCTOPHQI\n\n\nCloud top height quality indicator\n\n\n(Code table 4.219)\n\n\n\n\n\n\nCTOP\n\n\nCloud top\n\n\nm\n\n\n\n\n\n\nheightCTHGT\n\n\nCloud top\n\n\nm\n\n\n\n\n\n\nCTYP\n\n\nCloud type\n\n\n(Code table 4.203)\n\n\n\n\n\n\nCWAT\n\n\nCloud water\n\n\nmm\n\n\n\n\n\n\nCWORK\n\n\nCloud work function\n\n\nJ/kg\n\n\n\n\n\n\nCWORK\n\n\nCloud Work Function\n\n\nJ/kg\n\n\n\n\n\n\nCDWW\n\n\nCoefficient of Drag With Waves\n\n\n\n\n\n\n\n\nCISOILW\n\n\nColumn-Integrated Soil Water\n\n\nmm\n\n\n\n\n\n\nREFC\n\n\nComposite reflectivity\n\n\ndB\n\n\n\n\n\n\nMergedReflectivityQCComposite\n\n\nComposite Reflectivity\n\n\ndBZ\n\n\n\n\n\n\nHeightCompositeReflectivity\n\n\nComposite Reflectivity Height\n\n\nm\n\n\n\n\n\n\nMergedReflectivityQComposite\n\n\nComposite Reflectivity Mosaic\n\n\ndBZ\n\n\n\n\n\n\nEF25M\n\n\nCond 25% pcpn smy fractile past 24 hrs\n\n\nmm\n\n\n\n\n\n\nEF50M\n\n\nCond 50% pcpn smy fractile past 24 hrs\n\n\nmm\n\n\n\n\n\n\nTCOND\n\n\nCondensate\n\n\nkg kg-1\n\n\n\n\n\n\nCONDE\n\n\nCondensate\n\n\nkg/kg\n\n\n\n\n\n\nCONDP\n\n\nCondensation Pressure of Parcali Lifted From Indicate Surface\n\n\nPa\n\n\n\n\n\n\nCONDP\n\n\nCondensation Pressure of Parcal Lifted From Indicate Surface\n\n\nPa\n\n\n\n\n\n\nCPPAF\n\n\nConditional percent precipitation amount fractile for an overall period (Encoded as an accumulation)\n\n\nmm\n\n\n\n\n\n\nCICEL\n\n\nConfidence - Ceiling\n\n\n\n\n\n\n\n\nCIFLT\n\n\nConfidence - Flight Category\n\n\n\n\n\n\n\n\nCIVIS\n\n\nConfidence - Visibility\n\n\n\n\n\n\n\n\nCONTB\n\n\nContrail base\n\n\nm\n\n\n\n\n\n\nCONTB\n\n\nContrail Base\n\n\nm\n\n\n\n\n\n\nCONTE\n\n\nContrail engine type\n\n\n(Code table 4.211)\n\n\n\n\n\n\nCONTET\n\n\nContrail Engine Type\n\n\nSee Table 4.211\n\n\n\n\n\n\nCONTI\n\n\nContrail intensity\n\n\n(Code table 4.210)\n\n\n\n\n\n\nCONTI\n\n\nContrail Intensity\n\n\nSee Table 4.210\n\n\n\n\n\n\nCONTT\n\n\nContrail top\n\n\nm\n\n\n\n\n\n\nCONTT\n\n\nContrail Top\n\n\nm\n\n\n\n\n\n\nCONUSMergedReflectivity\n\n\nCONUS Merged Reflectivity\n\n\ndBZ\n\n\n\n\n\n\nCONUSPlusMergedReflectivity\n\n\nCONUS-Plus Merged Reflectivity\n\n\ndBZ\n\n\n\n\n\n\nCONVP\n\n\nConvection Potential\n\n\n\n\n\n\n\n\nCAPE\n\n\nConvective available potential energy\n\n\nJ/kg\n\n\n\n\n\n\nCCBL\n\n\nConvective cloud bottom level\n\n\n\n\n\n\n\n\nCCBL\n\n\nConvective Cloud Bottom Level\n\n\n\n\n\n\n\n\nCCLY\n\n\nConvective Cloud\n\n\n\n\n\n\n\n\nCCY\n\n\nConvective cloud\n\n\n\n\n\n\n\n\nCCY\n\n\nConvective Cloud\n\n\n\n\n\n\n\n\nCDCON\n\n\nConvective cloud cover\n\n\n%\n\n\n\n\n\n\nCUEFI\n\n\nConvective Cloud Efficiency\n\n\n\n\n\n\n\n\nCUEFI\n\n\nConvective Cloud Efficiency\n\n\nnon-dim\n\n\n\n\n\n\nCUEFI\n\n\nConvective cloud efficiency\n\n\nProportion\n\n\n\n\n\n\nMFLUX\n\n\nConvective Cloud Mass Flux\n\n\nPa/s\n\n\n\n\n\n\nCCTL\n\n\nConvective cloud top level\n\n\n\n\n\n\n\n\nCCTL\n\n\nConvective Cloud Top Level\n\n\n\n\n\n\n\n\nCNVDEMF\n\n\nConvective detrainment mass flux\n\n\nmm/s\n\n\n\n\n\n\nCNVDMF\n\n\nConvective downdraft mass flux\n\n\nmm/s\n\n\n\n\n\n\nCNGWDV\n\n\nConvective Gravity wave drag meridional acceleration\n\n\nm/s^2\n\n\n\n\n\n\nCNGWDU\n\n\nConvective Gravity wave drag zonal acceleration\n\n\nm/s^2\n\n\n\n\n\n\nCIN\n\n\nConvective inhibition\n\n\nJ/kg\n\n\n\n\n\n\nCNVV\n\n\nConvective meridional momentum mixing acceleration\n\n\nm/s^2\n\n\n\n\n\n\nACPCP\n\n\nConvective Precipitation\n\n\nkg m-2\n\n\n\n\n\n\nACPCP\n\n\nConvective precipitation\n\n\nmm\n\n\n\n\n\n\nACPCPN\n\n\nConvective precipitation (nearest grid point)\n\n\nkg/m2\n\n\n\n\n\n\nACPCPN\n\n\nConvective precipitation (nearest grid point)\n\n\nmm\n\n\n\n\n\n\nCPRAT\n\n\nConvective Precipitation Rate\n\n\nkg m-2 s-1\n\n\n\n\n\n\nCPRAT\n\n\nConvective Precipitation Rate\n\n\nkg*m^-2*s^-1\n\n\n\n\n\n\nCPRAT\n\n\nConvective precipitation rate\n\n\nmm / s\n\n\n\n\n\n\nCPRAT\n\n\nConvective Precipitation Rate\n\n\nmm / s\n\n\n\n\n\n\nCSRATE\n\n\nConvective Snowfall Rate\n\n\nm s-1\n\n\n\n\n\n\nCSRATE\n\n\nConvective Snowfall Rate\n\n\nm/s\n\n\n\n\n\n\nCSRWE\n\n\nConvective Snowfall Rate Water Equivalent\n\n\nkg m-2s-1\n\n\n\n\n\n\nCSRWE\n\n\nConvective Snowfall Rate Water Equivalent\n\n\nmm/s\n\n\n\n\n\n\nSNOC\n\n\nConvective snow\n\n\nmm\n\n\n\n\n\n\nCNVUMF\n\n\nConvective updraft mass flux\n\n\nmm/s\n\n\n\n\n\n\nCWP\n\n\nConvective Water Precipitation\n\n\nkg m-2\n\n\n\n\n\n\nCWP\n\n\nConvective Water Precipitation\n\n\nmm\n\n\n\n\n\n\nCWDI\n\n\nConvective Weather Detection Index\n\n\n\n\n\n\n\n\nCNVU\n\n\nConvective zonal momentum mixing acceleration\n\n\nm/s^2\n\n\n\n\n\n\nSNO C\n\n\nConvect Snow\n\n\nkg m-2\n\n\n\n\n\n\nNTRNFLUX\n\n\nCosmic Ray Neutron Flux\n\n\nh^1\n\n\n\n\n\n\nCOVTZ\n\n\nCovariance between izonal component of the wind and temperature. Defined as [uT]-[u][T], where \"[]\" indicates the mean over the indicated time span.\n\n\nK*m/s\n\n\n\n\n\n\nCOVMM\n\n\nCovariance between meridional and meridional components of the wind. Defined as [vv]-[v][v], where \"[]\" indicates the mean over the indicated time span.\n\n\nm^2/s^2\n\n\n\n\n\n\nCOVMZ\n\n\nCovariance between Meridional and Zonal Components of the wind.\n\n\nm^2/s^2\n\n\n\n\n\n\nCOVTM\n\n\nCovariance between meridional component of the wind and temperature. Defined as [vT]-[v][T], where \"[]\" indicates the mean over the indicated time span.\n\n\nK*m/s\n\n\n\n\n\n\nCOVQM\n\n\nCovariance between specific humidity and meridional components of the wind. Defined as [vq]-[v][q], where \"[]\" indicates the mean over the indicated time span.\n\n\nkg/kg*m/s\n\n\n\n\n\n\nCOVQQ\n\n\nCovariance between specific humidity and specific humidy. Defined as [qq]-[q][q], where \"[]\" indicates the mean over the indicated time span.\n\n\nkg/kg*kg/kg\n\n\n\n\n\n\nCOVQVV\n\n\nCovariance between specific humidity and vertical components of the wind. Defined as [\u03a9q]-[\u03a9][q], where \"[]\" indicates the mean over the indicated time span.\n\n\nkg/kg*Pa/s\n\n\n\n\n\n\nCOVQZ\n\n\nCovariance between specific humidity and zonal components of the wind. Defined as [uq]-[u][q], where \"[]\" indicates the mean over the indicated time span.\n\n\nkg/kg*m/s\n\n\n\n\n\n\nCOVPSPS\n\n\nCovariance between surface pressure and surface pressure. Defined as [Psfc]-[Psfc][Psfc], where \"[]\" indicates the mean over the indicated time span.\n\n\nPa*Pa\n\n\n\n\n\n\nCOVTM\n\n\nCovariance between Temperature and Meridional Components of the wind.\n\n\nK*m/s\n\n\n\n\n\n\nCOVTT\n\n\nCovariance between temperature and temperature. Defined as [TT]-[T][T], where \"[]\" indicates the mean over the indicated time span.\n\n\nK*K\n\n\n\n\n\n\nCOVTW\n\n\nCovariance between temperature and vertical component of the wind. Defined as [wT]-[w][T], where \"[]\" indicates the mean over the indicated time span.\n\n\nK*m/s\n\n\n\n\n\n\nCOVTVV\n\n\nCovariance between temperature and vertical components of the wind. Defined as [\u03a9T]-[\u03a9][T], where \"[]\" indicates the mean over the indicated time span.\n\n\nK*Pa/s\n\n\n\n\n\n\nCOVTZ\n\n\nCovariance between Temperature and Zonal Components of the wind.\n\n\nK*m/s\n\n\n\n\n\n\nCOVVVVV\n\n\nCovariance between vertical and vertical components of the wind. Defined as [\u03a9\u03a9]-[\u03a9][\u03a9], where \"[]\" indicates the mean over the indicated time span.\n\n\nPa^2/s^2\n\n\n\n\n\n\nCOVMZ\n\n\nCovariance between zonal and meridional components of the wind. Defined as [uv]-[u][v], where \"[]\" indicates the mean over the indicated time span.\n\n\nm^2/s^2\n\n\n\n\n\n\nCOVZZ\n\n\nCovariance between zonal and zonal components of the wind. Defined as [uu]-[u][u], where \"[]\" indicates the mean over the indicated time span.\n\n\nm^2/s^2\n\n\n\n\n\n\nCrestMaxStreamflow\n\n\nCREST Maximum Streamflow\n\n\n(m^3)*(s^-1)\n\n\n\n\n\n\nCrestMaxUStreamflow\n\n\nCREST Maximum Unit Streamflow\n\n\n(m^3)*(s^-1)*(km^-2)\n\n\n\n\n\n\nCrestSoilMoisture\n\n\nCREST Soil Moisture\n\n\n%\n\n\n\n\n\n\nCRTFRQ\n\n\nCritical Frequency\n\n\nHz\n\n\n\n\n\n\nCB\n\n\nCumulonimbus Base\n\n\nm\n\n\n\n\n\n\nCBHE\n\n\nCumulonimbus Horizontal Exten\n\n\n%\n\n\n\n\n\n\nCT\n\n\nCumulonimbus Top\n\n\nm\n\n\n\n\n\n\nDIRC\n\n\nCurrent direction\n\n\nDegree true\n\n\n\n\n\n\nSPC\n\n\nCurrent speed\n\n\nm/s\n\n\n\n\n\n\nDCBL\n\n\nDeep convective cloud bottom level\n\n\n\n\n\n\n\n\nDCBL\n\n\nDeep Convective Cloud Bottom Level\n\n\n\n\n\n\n\n\nDCCBL\n\n\nDeep Convective Cloud Bottom Level\n\n\n\n\n\n\n\n\nDCCTL\n\n\nDeep Convective Cloud Top Level\n\n\n\n\n\n\n\n\nDCTL\n\n\nDeep convective cloud top level\n\n\n\n\n\n\n\n\nDCTL\n\n\nDeep Convective Cloud Top Level\n\n\n\n\n\n\n\n\nCNVHR\n\n\nDeep Convective Heating rate\n\n\nK/s\n\n\n\n\n\n\nCNVMR\n\n\nDeep Convective Moistening Rate\n\n\nkg kg-1 s-1\n\n\n\n\n\n\nCNVMR\n\n\nDeep Convective Moistening Rate\n\n\nkg/kg*s\n\n\n\n\n\n\nDALT\n\n\nDensity altitude\n\n\nm\n\n\n\n\n\n\nDEN\n\n\nDensity\n\n\nkg/m^3\n\n\n\n\n\n\nDBLL\n\n\nDepth Below Land surface\n\n\nm\n\n\n\n\n\n\nDPBLW\n\n\nDepth below land surface\n\n\nm\n\n\n\n\n\n\nDBSL\n\n\nDepth Below Sea Level\n\n\nm\n\n\n\n\n\n\nDPMSL\n\n\nDepth below sea level\n\n\nm\n\n\n\n\n\n\nREFZI\n\n\nDerived radar reflectivity backscatter from ice\n\n\nmm^6/m^3\n\n\n\n\n\n\nREFZI\n\n\nDerived radar reflectivity backscatter from ice\n\n\nmm^6*m^-3\n\n\n\n\n\n\nREFZC\n\n\nDerived radar reflectivity backscatter from parameterized convection\n\n\nmm^6/m^3\n\n\n\n\n\n\nREFZC\n\n\nDerived radar reflectivity backscatter from parameterized convection\n\n\nmm^6*m^-3\n\n\n\n\n\n\nREFZR\n\n\nDerived radar reflectivity backscatter from rain\n\n\nmm^6/m^3\n\n\n\n\n\n\nREFZR\n\n\nDerived radar reflectivity backscatter from rain\n\n\nmm^6*m^-3\n\n\n\n\n\n\nREFD\n\n\nDerived radar reflectivity\n\n\ndB\n\n\n\n\n\n\nDEVMSL\n\n\nDeviation of sea level from mean\n\n\nm\n\n\n\n\n\n\nDEPR\n\n\nDew point depression or deficit\n\n\nK\n\n\n\n\n\n\nDPT\n\n\nDew point temperature\n\n\nK\n\n\n\n\n\n\nDIREC\n\n\nDirect Evaporation Cease(Soil Moisture)\n\n\nkg/m^3\n\n\n\n\n\n\nSMDRY\n\n\nDirect evaporation cease (soil moisture)\n\n\nProportion\n\n\n\n\n\n\nEVBS\n\n\nDirect evaporation from bare soil\n\n\nW/m^2\n\n\n\n\n\n\nDIRWWW\n\n\nDirectional Width of The Wind Waves\n\n\n\n\n\n\n\n\nDegree true\n\n\nDirection Degrees true\n\n\nDIRDEGTRU\n\n\n\n\n\n\nWWSDIR\n\n\nDirection of combined wind waves and swell\n\n\nDegree\n\n\n\n\n\n\nDICED\n\n\nDirection of ice drift\n\n\nDegree true\n\n\n\n\n\n\nSWDIR\n\n\nDirection of swell waves\n\n\nDegree\n\n\n\n\n\n\nWVDIR\n\n\nDirection of wind waves\n\n\nDegree\n\n\n\n\n\n\nDSKDAY\n\n\nDisk Intensity Day\n\n\nJ*m^2*s^1\n\n\n\n\n\n\nDSKINT\n\n\nDisk Intensity\n\n\nj*m^2*s^1\n\n\n\n\n\n\nDSKNGT\n\n\nDisk Intensity Night\n\n\nJ*m^2*s^1\n\n\n\n\n\n\nDLWRF\n\n\nDownward Long-Wave Rad. Flux\n\n\nW/m^2\n\n\n\n\n\n\nDLWRF\n\n\nDownward long-wave radiation flux\n\n\nW/m^2\n\n\n\n\n\n\n\n\nDownward Long-W/m^2\n\n\nDLWRF\n\n\n\n\n\n\nDSWRF\n\n\nDownward Short-Wave Rad. Flux\n\n\nW/m^2\n\n\n\n\n\n\nDSWRF\n\n\nDownward short-wave radiation flux\n\n\nW/m^2\n\n\n\n\n\n\n\n\nDownward Short-W/m^2\n\n\nDSWRF\n\n\n\n\n\n\nDTRF\n\n\nDownward Total radiation Flux\n\n\nW/m^2\n\n\n\n\n\n\nDWUVR\n\n\nDownward UV Radiation\n\n\nW/m^2\n\n\n\n\n\n\nCD\n\n\nDrag Coefficient\n\n\n\n\n\n\n\n\nCD\n\n\nDrag coefficient\n\n\nNumeric\n\n\n\n\n\n\nELON\n\n\nEast Longitude (0 - 360)\n\n\ndeg\n\n\n\n\n\n\nELON\n\n\nEast Longitude (0 - 360)\n\n\ndegrees\n\n\n\n\n\n\nELONN\n\n\nEast Longitude (nearest neighbor) (0 - 360)\n\n\ndegrees\n\n\n\n\n\n\nRETOP\n\n\nEcho Top\n\n\nm\n\n\n\n\n\n\nRADT\n\n\nEffective radiative skin temperature\n\n\nK\n\n\n\n\n\n\nETOT\n\n\nElectric Field Magnitude\n\n\nV*m^1\n\n\n\n\n\n\nELCDEN\n\n\nElectron Density\n\n\nm^3\n\n\n\n\n\n\nDIFEFLUX\n\n\nElectron Flux (Differential)\n\n\n(m^2*s*sr*eV)^1\n\n\n\n\n\n\nINTEFLUX\n\n\nElectron Flux (Integral)\n\n\n(m^2*s*sr)^1\n\n\n\n\n\n\nELECTMP\n\n\nElectron Temperature\n\n\nK\n\n\n\n\n\n\nELSCT\n\n\nElevation of snow covered terrain\n\n\n(Code table 4.216)\n\n\n\n\n\n\nEHELX\n\n\nEnergy helicity index\n\n\nNumeric\n\n\n\n\n\n\nEATM\n\n\nEntire atmosphere (considered as a single layer)\n\n\n\n\n\n\n\n\nEA\n\n\nEntire Atmosphere\n\n\n\n\n\n\n\n\nEATM\n\n\nEntire Atmosphere\n\n\n\n\n\n\n\n\nNONE\n\n\nEntire Atmosphere\n\n\n\n\n\n\n\n\nEOCN\n\n\nEntire ocean (considered as a single layer)\n\n\n\n\n\n\n\n\nEOCN\n\n\nEntire Ocean\n\n\n\n\n\n\n\n\nNONE\n\n\nEntire Ocean\n\n\n\n\n\n\n\n\nEHLT\n\n\nEquilibrium level\n\n\n\n\n\n\n\n\nEHLT\n\n\nEquilibrium Level\n\n\n\n\n\n\n\n\nREFZC\n\n\nEquivalent radar reflectivity factor for parameterized convection\n\n\nm m6 m-3\n\n\n\n\n\n\nREFZR\n\n\nEquivalent radar reflectivity factor for rain\n\n\nm m6 m-3\n\n\n\n\n\n\nREFZI\n\n\nEquivalent radar reflectivity factor for snow\n\n\nm m6 m-3\n\n\n\n\n\n\nESTPC\n\n\nEstimated precipitation\n\n\nmm\n\n\n\n\n\n\nESTUWIND\n\n\nEstimated u component of wind\n\n\nm/s\n\n\n\n\n\n\nESTVWIND\n\n\nEstimated v component of wind\n\n\nm/s\n\n\n\n\n\n\nELYR\n\n\nEta Level\n\n\nEta value\n\n\n\n\n\n\nETAL\n\n\nEta Level\n\n\nEta value\n\n\n\n\n\n\nEUVRAD\n\n\nEUV Radiance\n\n\nW*s*r^1*m^2\n\n\n\n\n\n\nEVP\n\n\nEvaporation\n\n\nkg m-2\n\n\n\n\n\n\nEVP\n\n\nEvaporation\n\n\nmm\n\n\n\n\n\n\n\n\nEvaporation - Precipitation\n\n\ncm/day EMNP\n\n\n\n\n\n\nEMNP\n\n\nEvaporation - Precipitation\n\n\ncm/day\n\n\n\n\n\n\nEMNP\n\n\nEvaporation - Precipitation\n\n\ncm per day\n\n\n\n\n\n\nEVAPT\n\n\nEvapotranspiration\n\n\nkg^-2*s^-1\n\n\n\n\n\n\nSFEXC\n\n\nExchange coefficient\n\n\nkg*m^-2*s^-1\n\n\n\n\n\n\nSFEXC\n\n\nExchange coefficient\n\n\nmm * s\n\n\n\n\n\n\nETCWL\n\n\nExtra Tropical Storm Surge Combined Surge and Tide\n\n\nm\n\n\n\n\n\n\nETSRG\n\n\nExtra Tropical Storm Surge\n\n\nm\n\n\n\n\n\n\nF107\n\n\nF10.7\n\n\nW*m^2*H*z^1\n\n\n\n\n\n\nFLDCP\n\n\nField Capacity\n\n\nfraction\n\n\n\n\n\n\nFIREDI\n\n\nFire Detection Indicator\n\n\n(Code Table 4.223)\n\n\n\n\n\n\nFIREODT\n\n\nFire Outlook Due to Dry Thunderstorm\n\n\nindex(see GRIB 2 code table 4.224)\n\n\n\n\n\n\nFIREOLK\n\n\nFire Outlook\n\n\nindex (see GRIB 2 code table 4.224)\n\n\n\n\n\n\nFFG\n\n\nFlash flood guidance (Encoded as an accumulation over a floating subinterval of time between the reference time and valid time)\n\n\nmm\n\n\n\n\n\n\nFFRUN\n\n\nFlash flood runoff (Encoded as an accumulation over a floating subinterval of time)\n\n\nmm\n\n\n\n\n\n\nFLGHT\n\n\nFlight Category\n\n\n\n\n\n\n\n\nQREC\n\n\nFlood plain recharge\n\n\nmm\n\n\n\n\n\n\nModelHeight0C\n\n\nFreezing Level Height\n\n\nm\n\n\n\n\n\n\nFRZR\n\n\nFreezing Rain\n\n\nkg/m2\n\n\n\n\n\n\nFRZR\n\n\nFreezing Rain\n\n\nmm\n\n\n\n\n\n\nFPRATE\n\n\nFreezing Rain Precipitation Rate\n\n\nkg m-2s-1\n\n\n\n\n\n\nFPRATE\n\n\nFreezing Rain Precipitation Rate\n\n\nmm/s\n\n\n\n\n\n\nFREQ\n\n\nFrequency\n\n\ns^-1\n\n\n\n\n\n\nFRICV\n\n\nFrictional velocity\n\n\nm/s\n\n\n\n\n\n\nFRICV\n\n\nFrictional Velocity\n\n\nm/s\n\n\n\n\n\n\nFRICV\n\n\nFriction Velocity\n\n\nm/s\n\n\n\n\n\n\nFROZR\n\n\nFrozen Rain\n\n\nkg/m2\n\n\n\n\n\n\nFROZR\n\n\nFrozen Rain\n\n\nmm\n\n\n\n\n\n\nGHT\n\n\nGeometrical height\n\n\nm\n\n\n\n\n\n\nDBSS\n\n\nGeometric Depth Below Sea Surface\n\n\nm\n\n\n\n\n\n\nDIST\n\n\nGeometric height\n\n\nm\n\n\n\n\n\n\nGPA\n\n\nGeopotential height anomaly\n\n\ngpm\n\n\n\n\n\n\nGH\n\n\nGeopotential height\n\n\ngpm\n\n\n\n\n\n\nHGT\n\n\nGeopotential height\n\n\ngpm\n\n\n\n\n\n\nHGTN\n\n\nGeopotential Height (nearest grid point)\n\n\ngpm\n\n\n\n\n\n\nGP\n\n\nGeopotential\n\n\nm^2/s^2\n\n\n\n\n\n\nGRAD\n\n\nGlobal radiation flux\n\n\nW/m^2\n\n\n\n\n\n\nGRAUP\n\n\nGraupel (snow pellets)\n\n\nkg/kg\n\n\n\n\n\n\nGRLE\n\n\nGrauple\n\n\nkg kg-1\n\n\n\n\n\n\nGSGSO\n\n\nGravity Of Sub-Grid Scale Orography\n\n\nW/m^2\n\n\n\n\n\n\nGWDV\n\n\nGravity wave drag meridional acceleration\n\n\nm/s^2\n\n\n\n\n\n\nGWDU\n\n\nGravity wave drag zonal acceleration\n\n\nm/s^2\n\n\n\n\n\n\nGCBL\n\n\nGrid scale cloud bottom level\n\n\n\n\n\n\n\n\nGCBL\n\n\nGrid Scale Cloud Bottom Level\n\n\n\n\n\n\n\n\nGSCBL\n\n\nGrid Scale Cloud Bottom Level\n\n\n\n\n\n\n\n\nGCTL\n\n\nGrid scale cloud top level\n\n\n\n\n\n\n\n\nGCTL\n\n\nGrid Scale Cloud Top Level\n\n\n\n\n\n\n\n\nGSCTL\n\n\nGrid Scale Cloud Top Level\n\n\n\n\n\n\n\n\nGC137\n\n\nGround deposition of Caesium 137\n\n\nBq/m^2\n\n\n\n\n\n\nGI131\n\n\nGround deposition of Iodine 131\n\n\nBq/m^2\n\n\n\n\n\n\nGRADP\n\n\nGround deposition of radioactive\n\n\nBq/m^2\n\n\n\n\n\n\nGFLUX\n\n\nGround heat flux\n\n\nW/m^2\n\n\n\n\n\n\nSFC\n\n\nGround or Water Surface\n\n\n\n\n\n\n\n\nGWREC\n\n\nGroundwater recharge\n\n\nmm\n\n\n\n\n\n\nHAIL\n\n\nHail\n\n\nm\n\n\n\n\n\n\nHAILPROB\n\n\nHail probability\n\n\n%\n\n\n\n\n\n\nHINDEX\n\n\nHaines Index\n\n\nNumeric\n\n\n\n\n\n\nSIGHAL\n\n\nHall Conductivity\n\n\nS*m^1\n\n\n\n\n\n\nHARAD\n\n\nH-Alpha Radiance\n\n\nW*s*r^1*m^2\n\n\n\n\n\n\nHFLUX\n\n\nHeat Flux\n\n\nW/m^2\n\n\n\n\n\n\nHTX\n\n\nHeat index\n\n\nK\n\n\n\n\n\n\nDIFIFLUX\n\n\nHeavy Ion Flux (Differential)\n\n\n((m^2*s*sr*eV)/nuc)^1\n\n\n\n\n\n\nINTIFLUX\n\n\nHeavy Ion Flux (iIntegral)\n\n\n(m^2*s*sr)^1\n\n\n\n\n\n\nHGTAG\n\n\nHeight above ground (see Note 1)\n\n\nm\n\n\n\n\n\n\nH50Above0C\n\n\nHeight of 50 dBZ Echo Above 0C\n\n\nkm\n\n\n\n\n\n\nH50AboveM20C\n\n\nHeight of 50 dBZ Echo Above -20C\n\n\nkm\n\n\n\n\n\n\nH60Above0C\n\n\nHeight of 60 dBZ Echo Above 0C\n\n\nkm\n\n\n\n\n\n\nH60AboveM20C\n\n\nHeight of 60 dBZ Echo Above -20C\n\n\nkm\n\n\n\n\n\n\nHELCOR\n\n\nHeliospheric Radiance\n\n\nW*s*r^1*m^2\n\n\n\n\n\n\nABSRB\n\n\nHF Absorption\n\n\ndB\n\n\n\n\n\n\nABSFRQ\n\n\nHF Absorption Frequency\n\n\nHz\n\n\n\n\n\n\nHPRIMF\n\n\nh'F\n\n\nm\n\n\n\n\n\n\nHCBL\n\n\nHigh cloud bottom level\n\n\n\n\n\n\n\n\nHCBL\n\n\nHigh Cloud Bottom Level\n\n\n\n\n\n\n\n\nHCDC\n\n\nHigh cloud cover\n\n\n%\n\n\n\n\n\n\nHCL\n\n\nHigh cloud layer\n\n\n\n\n\n\n\n\nHCL\n\n\nHigh Cloud Layer\n\n\n\n\n\n\n\n\nHCLY\n\n\nHigh Cloud Layer\n\n\n\n\n\n\n\n\nHCTL\n\n\nHigh cloud top level\n\n\n\n\n\n\n\n\nHCTL\n\n\nHigh Cloud Top Level\n\n\n\n\n\n\n\n\nHSCLW\n\n\nHighest top level of supercooled liquid water layer\n\n\n\n\n\n\n\n\nHSCLW\n\n\nHighest Top Level of Supercooled Liquid Water Layer\n\n\n\n\n\n\n\n\nHTSLW\n\n\nHighest Top Level of Supercooled Liquid Water Layer\n\n\n\n\n\n\n\n\nHTFL\n\n\nHighest tropospheric freezing level\n\n\n\n\n\n\n\n\nHTFL\n\n\nHighest Tropospheric Freezing Level\n\n\n\n\n\n\n\n\nHighLayerCompositeReflectivity\n\n\nHigh Layer Composite Reflectivity (24-60 kft)\n\n\ndBZ\n\n\n\n\n\n\nHAVNI\n\n\nHigh-Level aviation interest\n\n\n\n\n\n\n\n\nHRCONO\n\n\nHigh risk convective outlook\n\n\ncategorical\n\n\n\n\n\n\nMCONV\n\n\nHorizontal Moisture Convergence\n\n\nkg kg-1 s-1\n\n\n\n\n\n\nHMC\n\n\nHorizontal moisture convergence\n\n\nkg/kg*s\n\n\n\n\n\n\nMCONV\n\n\nHorizontal Moisture Divergence\n\n\nkg kg-1 s-1\n\n\n\n\n\n\nMCONV\n\n\nHorizontal Moisture Divergence\n\n\nkg*kg^-1*s^-1\n\n\n\n\n\n\nMCONV\n\n\nHorizontal moisture divergence\n\n\nkg/kg*s\n\n\n\n\n\n\nMCONV\n\n\nHorizontal Moisture Divergence\n\n\nkg/kg*s\n\n\n\n\n\n\nMFLX\n\n\nHorizontal momentum flux\n\n\nN/m^2\n\n\n\n\n\n\nMFLX\n\n\nHorizontal Momentum Flux\n\n\nN * m-2\n\n\n\n\n\n\nMFLX\n\n\nHorizontal Momentum Flux\n\n\nN/m^2\n\n\n\n\n\n\nCompositeReflectivityMaxHourly\n\n\nHourly Composite Reflectivity Maximum\n\n\ndBZ\n\n\n\n\n\n\nMAXDVV\n\n\nHourly Maximum of Downward Vertical Vorticity in the lowest 400hPa\n\n\nm/s\n\n\n\n\n\n\nMAXREF\n\n\nHourly Maximum of Simulated Reflectivity at 1 km AGL\n\n\ndB\n\n\n\n\n\n\nMXUPHL\n\n\nHourly Maximum of Updraft Helicity over Layer 2-5 km AGL\n\n\nm^2/s^2\n\n\n\n\n\n\nMXUPHL\n\n\nHourly Maximum of Updraft Helicity over Layer 2km to 5 km AGL\n\n\nm^2/s^2\n\n\n\n\n\n\nMAXUVV\n\n\nHourly Maximum of Upward Vertical Vorticity in the lowest 400hPa\n\n\nm/s\n\n\n\n\n\n\nMIXR\n\n\nHumidity Mixing Ratio\n\n\nkg kg-1\n\n\n\n\n\n\nMIXR\n\n\nHumidity mixing ratio\n\n\nkg/kg\n\n\n\n\n\n\nRCQ\n\n\nHumidity parameterin canopy conductance\n\n\nFraction\n\n\n\n\n\n\nRCQ\n\n\nHumidity parameter in canopy conductance\n\n\nProportion\n\n\n\n\n\n\nHYBL\n\n\nHybrid Level\n\n\n\n\n\n\n\n\nHCBB\n\n\nICAO Height at Cumulonimbus Bas\n\n\nm\n\n\n\n\n\n\nHCBT\n\n\nICAO Height at Cumulonimbus To\n\n\nm\n\n\n\n\n\n\nHECBB\n\n\nICAO Height at Embedded Cumulonimbus Bas\n\n\nm\n\n\n\n\n\n\nHECBT\n\n\nICAO Height at Embedded Cumulonimbus To\n\n\nm\n\n\n\n\n\n\nICAHT\n\n\nICAO Standard Atmosphere Reference Height\n\n\nm\n\n\n\n\n\n\nICEC\n\n\nIce cover\n\n\nProportion\n\n\n\n\n\n\nICED\n\n\nIce divergence\n\n\ns^-1\n\n\n\n\n\n\nFICE\n\n\nIce fraction of total condensate\n\n\n\n\n\n\n\n\nFICE\n\n\nIce fraction of total condensate\n\n\nnon-dim\n\n\n\n\n\n\nFICE\n\n\nIce fraction of total condensate\n\n\nProportion\n\n\n\n\n\n\nsurface\n\n\nIce-free water\n\n\nICWAT\n\n\n\n\n\n\nICWAT\n\n\nIce-free water surface\n\n\n%\n\n\n\n\n\n\nICEG\n\n\nIce growth rate\n\n\nm/s\n\n\n\n\n\n\nIPRATE\n\n\nIce Pellets Precipitation Rate\n\n\nkg m-2s-1\n\n\n\n\n\n\nIPRATE\n\n\nIce Pellets Precipitation Rate\n\n\nmm/s\n\n\n\n\n\n\nICE T\n\n\nIce Temperature\n\n\nK\n\n\n\n\n\n\nICETK\n\n\nIce thickness\n\n\nm\n\n\n\n\n\n\nICMR\n\n\nIce Water Mixing Ratio\n\n\nkg kg-1\n\n\n\n\n\n\nICMR\n\n\nIce water mixing ratio\n\n\nkg/kg\n\n\n\n\n\n\nICIB\n\n\nIcing base\n\n\nm\n\n\n\n\n\n\nICIB\n\n\nIcing Base\n\n\nm\n\n\n\n\n\n\nICIP\n\n\nIcing\n\n\n%\n\n\n\n\n\n\nICIP\n\n\nIcing Potential\n\n\n%\n\n\n\n\n\n\nTIPD\n\n\nIcing Potential\n\n\nnon-dim\n\n\n\n\n\n\nICPRB\n\n\nIcing probability\n\n\nnon-dim\n\n\n\n\n\n\nICI\n\n\nIcing\n\n\nSee Table 4.207\n\n\n\n\n\n\n\n\nIcing Severity\n\n\nICI\n\n\n\n\n\n\nICSEV\n\n\nIcing severity\n\n\nnon-dim\n\n\n\n\n\n\nICIT\n\n\nIcing top\n\n\nm\n\n\n\n\n\n\nICIT\n\n\nIcing Top\n\n\nm\n\n\n\n\n\n\nCTP\n\n\nIn-Cloud Turbulence\n\n\n%\n\n\n\n\n\n\nIRBand4\n\n\nInfrared Imagery\n\n\nK\n\n\n\n\n\n\nINSTRR\n\n\nInstantaneous rain rate\n\n\nmm / s\n\n\n\n\n\n\nLIPMF\n\n\nIntegrated column particulate matter (fine)\n\n\nlog10(mg * m^-3)\n\n\n\n\n\n\nLIPMF\n\n\nIntegrated column particulate matter (fine)\n\n\nlog10(mm*g/m^3)\n\n\n\n\n\n\nILIQW\n\n\nIntegrated Liquid Water\n\n\nkg m-2\n\n\n\n\n\n\nILW\n\n\nIntegrated liquid water\n\n\nmm\n\n\n\n\n\n\nTSI\n\n\nIntegrated Solar Irradiance\n\n\nW*m^2\n\n\n\n\n\n\nINTFD\n\n\nInterface Depths\n\n\nm\n\n\n\n\n\n\nIMFTSW\n\n\nInverse Mean Frequency of The Total Swell\n\n\ns\n\n\n\n\n\n\nIMFWW\n\n\nInverse Mean Frequency of The Wind Waves\n\n\ns\n\n\n\n\n\n\nIMWF\n\n\nInverse Mean Wave Frequency\n\n\ns\n\n\n\n\n\n\nIONDEN\n\n\nIon Density\n\n\nm^3\n\n\n\n\n\n\nIDRL\n\n\nIonospheric D-region level\n\n\n\n\n\n\n\n\nIERL\n\n\nIonospheric E-region level\n\n\n\n\n\n\n\n\nIF1RL\n\n\nIonospheric F1-region level\n\n\n\n\n\n\n\n\nIF2RL\n\n\nIonospheric F2-region level\n\n\n\n\n\n\n\n\nIONTMP\n\n\nIon Temperature\n\n\nK\n\n\n\n\n\n\nTHEL\n\n\nIsentropic (theta) level\n\n\nK\n\n\n\n\n\n\nISBL\n\n\nIsobaric Surface\n\n\nPa\n\n\n\n\n\n\nTMPL\n\n\nIsothermal Level\n\n\nK\n\n\n\n\n\n\nKX\n\n\nK index\n\n\nK\n\n\n\n\n\n\nKENG\n\n\nKinetic Energy\n\n\nJ/kg\n\n\n\n\n\n\nMELBRNE\n\n\nKNES1\n\n\n1\n\n\n\n\n\n\nKOX\n\n\nKO index\n\n\nK\n\n\n\n\n\n\nBENINX\n\n\nKurtosis of The Sea Surface Elevation Due to Waves\n\n\n\n\n\n\n\n\nLAND\n\n\nLand cover (0=sea, 1=land)\n\n\nProportion\n\n\n\n\n\n\nLANDN\n\n\nLand-sea coverage (nearest neighbor)\n\n\n[land=1,sea=0]\n\n\n\n\n\n\nLSPA\n\n\nLand Surface Precipitation Accumulation\n\n\nmm\n\n\n\n\n\n\nLANDU\n\n\nLand use\n\n\n(Code table 4.212)\n\n\n\n\n\n\nLAPR\n\n\nLapse rate\n\n\nK/m\n\n\n\n\n\n\nLRGHR\n\n\nLarge Scale Condensate Heating rate\n\n\nK/s\n\n\n\n\n\n\nLRGMR\n\n\nLarge scale moistening rate\n\n\nkg/kg/s\n\n\n\n\n\n\nNCPCP\n\n\nLarge-Scale Precipitation (non-convective)\n\n\nkg m-2\n\n\n\n\n\n\nNCPCP\n\n\nLarge scale precipitation (non-convective)\n\n\nmm\n\n\n\n\n\n\nLSPRATE\n\n\nLarge Scale Precipitation Rate\n\n\nkg m-2s-1\n\n\n\n\n\n\nLSPRATE\n\n\nLarge Scale Precipitation Rate\n\n\nmm/s\n\n\n\n\n\n\nLSSRATE\n\n\nLarge Scale Snowfall Rate\n\n\nm s-1\n\n\n\n\n\n\nLSSRATE\n\n\nLarge Scale Snowfall Rate\n\n\nm/s\n\n\n\n\n\n\nLSSRWE\n\n\nLarge Scale Snowfall Rate Water Equivalent\n\n\nkg m-2s-1\n\n\n\n\n\n\nLSSRWE\n\n\nLarge Scale Snowfall Rate Water Equivalent\n\n\nmm/s\n\n\n\n\n\n\nSNO L\n\n\nLarge-Scale Snow\n\n\nkg m-2\n\n\n\n\n\n\nSNOL\n\n\nLarge scale snow\n\n\nmm\n\n\n\n\n\n\nLSWP\n\n\nLarge Scale Water Precipitation (Non-Convective)\n\n\nkg m-2\n\n\n\n\n\n\nLSWP\n\n\nLarge Scale Water Precipitation (Non-Convective)\n\n\nmm\n\n\n\n\n\n\nLHTFL\n\n\nLatent heat net flux\n\n\nW/m^2\n\n\n\n\n\n\nNLAT\n\n\nLatitude (-90 to +90)\n\n\ndeg\n\n\n\n\n\n\nNLAT\n\n\nLatitude (-90 to +90)\n\n\ndegrees\n\n\n\n\n\n\nNLATN\n\n\nLatitude (nearest neighbor) (-90 to +90)\n\n\ndegrees\n\n\n\n\n\n\nLAPP\n\n\nLatitude of Presure Point\n\n\ndegrees\n\n\n\n\n\n\nLAUV\n\n\nLatitude of U Wind Component of Velocity\n\n\ndegrees\n\n\n\n\n\n\nLAVV\n\n\nLatitude of V Wind Component of Velocity\n\n\ndegrees\n\n\n\n\n\n\nNONE\n\n\nLayer Between Two Depths Below Ocean Surface\n\n\n\n\n\n\n\n\nOLYR\n\n\nLayer between two depths below ocean surface\n\n\n\n\n\n\n\n\nOLYR\n\n\nLayer Between Two Depths Below Ocean Surface\n\n\n\n\n\n\n\n\nLBTHL\n\n\nLayer Between Two Hybrid Levels\n\n\n\n\n\n\n\n\nNONE\n\n\nLayer Between Two Hybrid Levels\n\n\n\n\n\n\n\n\nLMBSR\n\n\nLayer-maximum base reflectivity\n\n\ndB\n\n\n\n\n\n\nLOS\n\n\nLayer Ocean Surface and 26C Ocean Isothermal Level\n\n\n\n\n\n\n\n\nNONE\n\n\nLayer Ocean Surface and 26C Ocean Isothermal Level\n\n\n\n\n\n\n\n\nLAYTH\n\n\nLayer Thickness\n\n\nm\n\n\n\n\n\n\nLAI\n\n\nLeaf Area Index\n\n\n\n\n\n\n\n\nPDLY\n\n\nLevel at Specified Pressure Difference from Ground to Level\n\n\nPa\n\n\n\n\n\n\nSPDL\n\n\nLevel at Specified Pressure Difference from Ground to Level\n\n\nPa\n\n\n\n\n\n\n0DEG\n\n\nlevel of 0C Isotherm\n\n\n\n\n\n\n\n\nADCL\n\n\nLevel of Adiabatic Condensation Lifted from the Surface\n\n\n\n\n\n\n\n\nCTL\n\n\nLevel of Cloud Tops\n\n\n\n\n\n\n\n\nLTNG\n\n\nLightning\n\n\n\n\n\n\n\n\nLTNG\n\n\nLightning\n\n\nnon-dim\n\n\n\n\n\n\nLMBINT\n\n\nLimb Intensity\n\n\nJ*m^2*s^1\n\n\n\n\n\n\nARAIN\n\n\nLiquid precipitation (rainfall)\n\n\nkg/m2\n\n\n\n\n\n\nARAIN\n\n\nLiquid precipitation (rainfall)\n\n\nmm\n\n\n\n\n\n\nLSOIL\n\n\nLiquid soil moisture content (non-frozen)\n\n\nmm\n\n\n\n\n\n\nLIQVSM\n\n\nLiquid Volumetric Soil Moisture (Non-Frozen)\n\n\nm^3/m^3\n\n\n\n\n\n\nSOILL\n\n\nLiquid volumetric soil moisture (non-frozen)\n\n\nProportion\n\n\n\n\n\n\nLOPP\n\n\nLongitude of Presure Point\n\n\ndegrees\n\n\n\n\n\n\nLOUV\n\n\nLongitude of U Wind Component of Velocity\n\n\ndegrees\n\n\n\n\n\n\nLOVV\n\n\nLongitude of V Wind Component of Velocity\n\n\ndegrees\n\n\n\n\n\n\nLWAVR\n\n\nLong wave radiation flux\n\n\nW/m^2\n\n\n\n\n\n\nLWHR\n\n\nLong-Wave Radiative Heating Rate\n\n\nK/s\n\n\n\n\n\n\nLCBL\n\n\nLow cloud bottom level\n\n\n\n\n\n\n\n\nLCBL\n\n\nLow Cloud Bottom Level\n\n\n\n\n\n\n\n\nLCDC\n\n\nLow cloud cover\n\n\n%\n\n\n\n\n\n\nLCLY\n\n\nLow Cloud Layer\n\n\n\n\n\n\n\n\nLCY\n\n\nLow cloud layer\n\n\n\n\n\n\n\n\nLCY\n\n\nLow Cloud Layer\n\n\n\n\n\n\n\n\nLCTL\n\n\nLow cloud top level\n\n\n\n\n\n\n\n\nLCTL\n\n\nLow Cloud Top Level\n\n\n\n\n\n\n\n\nLLSM\n\n\nLower layer soil moisture\n\n\nkg/m^3\n\n\n\n\n\n\nLBSLW\n\n\nLowest Bottom Level of Supercooled Liquid Water Layer\n\n\n\n\n\n\n\n\nLSCLW\n\n\nLowest bottom level of supercooled liquid water layer\n\n\n\n\n\n\n\n\nLSCLW\n\n\nLowest Bottom Level of Supercooled Liquid Water Layer\n\n\n\n\n\n\n\n\nLLTW\n\n\nLowest level of the wet bulb zero\n\n\n\n\n\n\n\n\nLLTW\n\n\nLowest Level of the Wet Bulb Zero\n\n\n\n\n\n\n\n\nLWBZ\n\n\nLowest Level of the Wet Bulb Zero\n\n\n\n\n\n\n\n\nWBZ\n\n\nLowest Level of the Wet Bulb Zero\n\n\n\n\n\n\n\n\nLowLayerCompositeReflectivity\n\n\nLow Layer Composite Reflectivity (0-24 kft)\n\n\ndBZ\n\n\n\n\n\n\nLAVNI\n\n\nLow-Level aviation interest\n\n\n\n\n\n\n\n\nMergedAzShear02kmAGL\n\n\nLow-Level Azimuthal Shear (0-2km AGL)\n\n\n1/s\n\n\n\n\n\n\nLLCompositeReflectivity\n\n\nLow-Level Composite Reflectivity\n\n\ndBZ\n\n\n\n\n\n\nHeightLLCompositeReflectivity\n\n\nLow-Level Composite Reflectivity Height\n\n\nm\n\n\n\n\n\n\nRotationTrackLL120min\n\n\nLow-Level Rotation Tracks 0-2km AGL (120 min. accum.)\n\n\n1/s\n\n\n\n\n\n\nRotationTrackLL1440min\n\n\nLow-Level Rotation Tracks 0-2km AGL (1440 min. accum.)\n\n\n1/s\n\n\n\n\n\n\nRotationTrackLL240min\n\n\nLow-Level Rotation Tracks 0-2km AGL (240 min. accum.)\n\n\n1/s\n\n\n\n\n\n\nRotationTrackLL30min\n\n\nLow-Level Rotation Tracks 0-2km AGL (30 min. accum.)\n\n\n1/s\n\n\n\n\n\n\nRotationTrackLL360min\n\n\nLow-Level Rotation Tracks 0-2km AGL (360 min. accum.)\n\n\n1/s\n\n\n\n\n\n\nRotationTrackLL60min\n\n\nLow-Level Rotation Tracks 0-2km AGL (60 min. accum.)\n\n\n1/s\n\n\n\n\n\n\nBTOT\n\n\nMagnetic Field Magnitude\n\n\nT\n\n\n\n\n\n\nMTHA\n\n\nMain thermocline anomaly\n\n\nm\n\n\n\n\n\n\nMTHD\n\n\nMain thermocline depth\n\n\nm\n\n\n\n\n\n\nLMH\n\n\nMass Point Model Surface\n\n\n\n\n\n\n\n\nMAXAH\n\n\nMaximum absolute humidity\n\n\nkg/m^3\n\n\n\n\n\n\nMAXAH\n\n\nMaximum Absolute Humidity\n\n\nkg m-3\n\n\n\n\n\n\nMACAT\n\n\nMaximum Cloud Air Turbulence Potential\n\n\nmm\n\n\n\n\n\n\nREFC\n\n\nMaximum/Composite radar reflectivity\n\n\ndB\n\n\n\n\n\n\nMTHE\n\n\nMaximum equivalent potential temperature level\n\n\n\n\n\n\n\n\nMTHE\n\n\nMaximum Equivalent Potential Temperature level\n\n\n\n\n\n\n\n\nMESH\n\n\nMaximum Estimated Size of Hail (MESH)\n\n\nmm\n\n\n\n\n\n\nMAIP\n\n\nMaximum Icing Potential\n\n\nmm\n\n\n\n\n\n\nMAXWH\n\n\nMaximum Individual Wave Height\n\n\nm\n\n\n\n\n\n\nPRPMax\n\n\nMaximum Precipitation Return Period\n\n\nyear\n\n\n\n\n\n\nQPEFFGMax\n\n\nMaximum QPE-to-FFG Ratio\n\n\n%\n\n\n\n\n\n\nMAXRH\n\n\nMaximum relative humidity\n\n\n%\n\n\n\n\n\n\nMAXRH\n\n\nMaximum Relative Humidity\n\n\n%\n\n\n\n\n\n\nMXSALB\n\n\nMaximum snow albedo\n\n\n%\n\n\n\n\n\n\nMXSALB\n\n\nMaximum Snow Albedo\n\n\n%\n\n\n\n\n\n\nMXSALB\n\n\nMaximum Snow Albedo*\n\n\n%\n\n\n\n\n\n\nQMAX\n\n\nMaximum specific humidity at 2m\n\n\nkg/kg\n\n\n\n\n\n\nTMAX\n\n\nMaximum temperature\n\n\nK\n\n\n\n\n\n\nMWSL\n\n\nMaximum Wind Level\n\n\n\n\n\n\n\n\nMAXWS\n\n\nMaximum wind speed\n\n\nm/s\n\n\n\n\n\n\nMACTP\n\n\nMax in-Cloud Turbulence Potential\n\n\nmm\n\n\n\n\n\n\nMECAT\n\n\nMean Cloud Air Turbulence Potential\n\n\nmm\n\n\n\n\n\n\nMEI\n\n\nMean Icing Potential\n\n\nmm\n\n\n\n\n\n\nMECTP\n\n\nMean in-Cloud Turbulence Potential\n\n\nmm\n\n\n\n\n\n\nMWSPER\n\n\nMean period of combined wind waves and swell\n\n\ns\n\n\n\n\n\n\nSWPER\n\n\nMean period of swell waves\n\n\ns\n\n\n\n\n\n\nWVPER\n\n\nMean period of wind waves\n\n\ns\n\n\n\n\n\n\nMSL\n\n\nMean Sea Level\n\n\nPa\n\n\n\n\n\n\nM2SPW\n\n\nMean square slope of waves\n\n\n\n\n\n\n\n\nMZPTSW\n\n\nMean Zero-Crossing Period of The Total Swell\n\n\ns\n\n\n\n\n\n\nMZPWW\n\n\nMean Zero-Crossing Period of The Wind Waves\n\n\ns\n\n\n\n\n\n\nMZWPER\n\n\nMean Zero-Crossing Wave Period\n\n\ns\n\n\n\n\n\n\nMCDC\n\n\nMedium cloud cover\n\n\n%\n\n\n\n\n\n\nMergedBaseReflectivityQC\n\n\nMerged Base Reflectivity\n\n\ndBZ\n\n\n\n\n\n\nMergedReflectivityAtLowestAltitude\n\n\nMerged Reflectivity At Lowest Altitude (RALA)\n\n\ndBZ\n\n\n\n\n\n\nVGWD\n\n\nMeridional flux of gravity wave stress\n\n\nN/m^2\n\n\n\n\n\n\nV-GWD\n\n\nMeridional Flux of Gravity Wave Stress\n\n\nN/m^2\n\n\n\n\n\n\nMESHTrack120min\n\n\nMESH Tracks (120 min. accum.)\n\n\nmm\n\n\n\n\n\n\nMESHTrack1440min\n\n\nMESH Tracks (1440 min. accum.)\n\n\nmm\n\n\n\n\n\n\nMESHTrack240min\n\n\nMESH Tracks (240 min. accum.)\n\n\nmm\n\n\n\n\n\n\nMESHTrack30min\n\n\nMESH Tracks (30 min. accum.)\n\n\nmm\n\n\n\n\n\n\nMESHTrack360min\n\n\nMESH Tracks (360 min. accum.)\n\n\nmm\n\n\n\n\n\n\nMESHTrack60min\n\n\nMESH Tracks (60 min. accum.)\n\n\nmm\n\n\n\n\n\n\nMCBL\n\n\nMiddle cloud bottom level\n\n\n\n\n\n\n\n\nMCBL\n\n\nMiddle Cloud Bottom Level\n\n\n\n\n\n\n\n\nMCLY\n\n\nMiddle Cloud Layer\n\n\n\n\n\n\n\n\nMCY\n\n\nMiddle cloud layer\n\n\n\n\n\n\n\n\nMCY\n\n\nMiddle Cloud Layer\n\n\n\n\n\n\n\n\nMCTL\n\n\nMiddle cloud top level\n\n\n\n\n\n\n\n\nMCTL\n\n\nMiddle Cloud Top Level\n\n\n\n\n\n\n\n\nMergedAzShear36kmAGL\n\n\nMid-Level Azimuthal Shear (3-6km AGL)\n\n\n1/s\n\n\n\n\n\n\nRotationTrackML120min\n\n\nMid-Level Rotation Tracks 3-6km AGL (120 min. accum.)\n\n\n1/s\n\n\n\n\n\n\nRotationTrackML1440min\n\n\nMid-Level Rotation Tracks 3-6km AGL (1440 min. accum.)\n\n\n1/s\n\n\n\n\n\n\nRotationTrackML240min\n\n\nMid-Level Rotation Tracks 3-6km AGL (240 min. accum.)\n\n\n1/s\n\n\n\n\n\n\nRotationTrackML30min\n\n\nMid-Level Rotation Tracks 3-6km AGL (30 min. accum.)\n\n\n1/s\n\n\n\n\n\n\nRotationTrackML360min\n\n\nMid-Level Rotation Tracks 3-6km AGL (360 min. accum.)\n\n\n1/s\n\n\n\n\n\n\nRotationTrackML60min\n\n\nMid-Level Rotation Tracks 3-6km AGL (60 min. accum.)\n\n\n1/s\n\n\n\n\n\n\nRSMIN\n\n\nMinimal stomatal resistance\n\n\ns/m\n\n\n\n\n\n\nDEPMN\n\n\nMinimum dew point depression\n\n\nK\n\n\n\n\n\n\nMINRH\n\n\nMinimum Relative Humidity\n\n\n%\n\n\n\n\n\n\nQMIN\n\n\nMinimum specific humidity at 2m\n\n\nkg/kg\n\n\n\n\n\n\nTMIN\n\n\nMinimum temperature\n\n\nK\n\n\n\n\n\n\nEntire Atmosphere\n\n\nMissing200\n\n\n200\n\n\n\n\n\n\nMIXHT\n\n\nmixed layer depth\n\n\nm\n\n\n\n\n\n\nMIXHT\n\n\nMixed Layer Depth\n\n\nm\n\n\n\n\n\n\nMIXL\n\n\nMixed Layer Depth\n\n\nm\n\n\n\n\n\n\nMLYNO\n\n\nModel Layer number (From bottom up)\n\n\n\n\n\n\n\n\nMTHT\n\n\nModel terrain height\n\n\nm\n\n\n\n\n\n\nMRCONO\n\n\nModerate risk convective outlook\n\n\ncategorical\n\n\n\n\n\n\nMSTAV\n\n\nMoisture availability\n\n\n%\n\n\n\n\n\n\nUFLX\n\n\nMomentum flux, u component\n\n\nN/m^2\n\n\n\n\n\n\nVFLX\n\n\nMomentum flux, v component\n\n\nN/m^2\n\n\n\n\n\n\nMNTSF\n\n\nMontgomery stream function\n\n\nm^2/s^2\n\n\n\n\n\n\nMSLET\n\n\nMSLP (Eta model reduction)\n\n\nPa\n\n\n\n\n\n\nMSLPM\n\n\nMSLP (MAPS System Reduction)\n\n\nPa\n\n\n\n\n\n\nNLGSP\n\n\nNatural Log of Surface Pressure\n\n\nln(kPa)\n\n\n\n\n\n\nNBDSF\n\n\nNear IR Beam Downward Solar Flux\n\n\nW/m^2\n\n\n\n\n\n\nNBSALB\n\n\nNear IR, Black Sky Albedo\n\n\n%\n\n\n\n\n\n\nNDDSF\n\n\nNear IR Diffuse Downward Solar Flux\n\n\nW/m^2\n\n\n\n\n\n\nNWSALB\n\n\nNear IR, White Sky Albedo\n\n\n%\n\n\n\n\n\n\nAOHFLX\n\n\nNet Air-Ocean Heat Flux\n\n\nW/m^2\n\n\n\n\n\n\nNLWRCS\n\n\nNet Long-Wave Radiation Flux, Clear Sky\n\n\nW/m^2\n\n\n\n\n\n\nNLWRS\n\n\nNet long wave radiation flux (surface)\n\n\nW/m^2\n\n\n\n\n\n\nNLWRT\n\n\nNet long wave radiation flux (top of atmosphere)\n\n\nW/m^2\n\n\n\n\n\n\nNLWRF\n\n\nNet Long-Wave Radiation Flux\n\n\nW/m^2\n\n\n\n\n\n\nNSWRFCS\n\n\nNet Short-Wave Radiation Flux, Clear Sky\n\n\nW/m^2\n\n\n\n\n\n\nNSWRS\n\n\nNet short-wave radiation flux (surface)\n\n\nW/m^2\n\n\n\n\n\n\nNSWRT\n\n\nNet short-wave radiation flux (top of atmosphere)\n\n\nW/m^2\n\n\n\n\n\n\nNSWRF\n\n\nNet Short Wave Radiation Flux\n\n\nW/m^2\n\n\n\n\n\n\nNTAT\n\n\nNominal Top of the Atmosphere\n\n\n\n\n\n\n\n\nCDLYR\n\n\nNon-convective cloud cover\n\n\n%\n\n\n\n\n\n\nCDLYR\n\n\nNon-Convective Cloud Cover\n\n\n%\n\n\n\n\n\n\n\n\nnon-dim\n\n\nCD\n\n\n\n\n\n\nNWSTR\n\n\nNormalised Waves Stress\n\n\n\n\n\n\n\n\nNDVI\n\n\nNormalized Difference Vegetation Index\n\n\n\n\n\n\n\n\nNCIP\n\n\nNumber concentration for ice particles\n\n\n\n\n\n\n\n\nNCIP\n\n\nNumber concentration for ice particles\n\n\nnon-dim\n\n\n\n\n\n\nMIXLY\n\n\nNumber of mixed layers next to surface\n\n\ninteger\n\n\n\n\n\n\nNPIXU\n\n\nNumber Of Pixels Used\n\n\nNumeric\n\n\n\n\n\n\nRLYRS\n\n\nNumber of soil layers in root zone\n\n\nnon-dim\n\n\n\n\n\n\nRLYRS\n\n\nNumber of soil layers in root zone\n\n\nNumeric\n\n\n\n\n\n\nRLYRS\n\n\nNumber of soil layers in root zone\n\n\n\n\n\n\n\n\nOHC\n\n\nOcean Heat Content\n\n\nJ/m^2\n\n\n\n\n\n\nOITL\n\n\nOcean Isotherm Level (1/10 deg C)\n\n\nC\n\n\n\n\n\n\nNONE\n\n\nOcean Isotherm Level\n\n\n1/10 \u2103\n\n\n\n\n\n\nOITL\n\n\nOcean Isotherm Level\n\n\n1/10 \u2103\n\n\n\n\n\n\nNONE\n\n\nOcean Mixed Layer\n\n\n\n\n\n\n\n\nOML\n\n\nOcean Mixed Layer\n\n\n\n\n\n\n\n\nP2OMLT\n\n\nOcean Mixed Layer Potential Density (Reference 2000m)\n\n\nkg/m^3\n\n\n\n\n\n\nOMLU\n\n\nOcean Mixed Layer U Velocity\n\n\nm/s\n\n\n\n\n\n\nOMLV\n\n\nOcean Mixed Layer V Velocity\n\n\nm/s\n\n\n\n\n\n\nELEV\n\n\nOcean Surface Elevation Relative to Geoid\n\n\nm\n\n\n\n\n\n\nOMGALF\n\n\nOmega (Dp/Dt) divide by density\n\n\nK\n\n\n\n\n\n\nEWATR\n\n\nOpen water evaporation (standing water)\n\n\nW/m^2\n\n\n\n\n\n\nOSD\n\n\nOrdered Sequence of Data\n\n\n\n\n\n\n\n\nOSEQ\n\n\nOrdered Sequence of Data\n\n\n\n\n\n\n\n\nOZCON\n\n\nOzone Concentration (PPB)\n\n\nPPB\n\n\n\n\n\n\nOZMAX1\n\n\nOzone Daily Max from 1-hour Average\n\n\nppbV\n\n\n\n\n\n\nOZMAX8\n\n\nOzone Daily Max from 8-hour Average\n\n\nppbV\n\n\n\n\n\n\nO3MR\n\n\nOzone Mixing Ratio\n\n\nkg * kg^-1\n\n\n\n\n\n\nO3MR\n\n\nOzone mixing ratio\n\n\nkg/kg\n\n\n\n\n\n\nO3MR\n\n\nOzone Mixing Ratio\n\n\nkg/kg\n\n\n\n\n\n\nPOZO\n\n\nOzone production from col ozone term\n\n\nkg/kg/s\n\n\n\n\n\n\nPOZT\n\n\nOzone production from temperature term\n\n\nkg/kg/s\n\n\n\n\n\n\nPOZ\n\n\nOzone production\n\n\nkg/kg/s\n\n\n\n\n\n\nTOZ\n\n\nOzone tendency\n\n\nkg/kg/s\n\n\n\n\n\n\nVDFOZ\n\n\nOzone vertical diffusion\n\n\nkg/kg/s\n\n\n\n\n\n\nSIGPAR\n\n\nParallel Conductivity\n\n\nS*m^1\n\n\n\n\n\n\nPRATMP\n\n\nParallel Temperature\n\n\nK\n\n\n\n\n\n\nPLI\n\n\nParcel lifted index (to 500 mb)\n\n\nK\n\n\n\n\n\n\nPLSMDEN\n\n\nParticle Number Density\n\n\nm^3\n\n\n\n\n\n\nPMTC\n\n\nParticulate matter (coarse)\n\n\nmg * m^-3\n\n\n\n\n\n\nPMTC\n\n\nParticulate matter (coarse)\n\n\nmm*g/m^3\n\n\n\n\n\n\nLPMTF\n\n\nParticulate matter (fine)\n\n\nlog10(mg * m^-3)\n\n\n\n\n\n\nLPMTF\n\n\nParticulate matter (fine)\n\n\nlog10(mm*g/m^3)\n\n\n\n\n\n\nPMTF\n\n\nParticulate matter (fine)\n\n\nmg * m^-3\n\n\n\n\n\n\nPMTF\n\n\nParticulate matter (fine)\n\n\nmm*g/m^3\n\n\n\n\n\n\nPPERTS\n\n\nPeak Period of The Total Swell\n\n\ns\n\n\n\n\n\n\nPPERWW\n\n\nPeak Period of The Wind Waves\n\n\ns\n\n\n\n\n\n\nPWPER\n\n\nPeak Wave Period\n\n\ns\n\n\n\n\n\n\nSIGPED\n\n\nPedersen Conductivity\n\n\nS*m^1\n\n\n\n\n\n\nCPOFP\n\n\nPercent frozen precipitation\n\n\n%\n\n\n\n\n\n\nPCTP1\n\n\nPercent pcpn in 1st 6-h sub-period of 24 hr period\n\n\n%\n\n\n\n\n\n\nPCTP2\n\n\nPercent pcpn in 2nd 6-h sub-period of 24 hr period\n\n\n%\n\n\n\n\n\n\nPCTP3\n\n\nPercent pcpn in 3rd 6-h sub-period of 24 hr period\n\n\n%\n\n\n\n\n\n\nPCTP4\n\n\nPercent pcpn in 4th 6-h sub-period of 24 hr period\n\n\n%\n\n\n\n\n\n\nPPSUB\n\n\nPercent precipitation in a sub-period of an overall period (Encoded as per cent accumulation over the sub-period)\n\n\n%\n\n\n\n\n\n\nPMAXWH\n\n\nPeriod of Maximum Individual Wave Height\n\n\ns\n\n\n\n\n\n\nPRPTMP\n\n\nPerpendicular Temperature\n\n\nK\n\n\n\n\n\n\nPHOTAR\n\n\nPhotosynthetically Active Radiation\n\n\nW/m^2\n\n\n\n\n\n\nPIXST\n\n\nPixel scene type\n\n\n(Code table 4.218)\n\n\n\n\n\n\nBLD\n\n\nPlanetary Boundary Layer\n\n\n\n\n\n\n\n\nHPBL\n\n\nPlanetary boundary layer height\n\n\nm\n\n\n\n\n\n\nHPBL\n\n\nPlanetary Boundary Layer Height\n\n\nm\n\n\n\n\n\n\nPLBL\n\n\nPlanetary Boundary Layer\n\n\n\n\n\n\n\n\nPBLR\n\n\nPlanetary boundary layer regime\n\n\n(Code table 4.209)\n\n\n\n\n\n\nPBLREG\n\n\nPlanetary Boundary Layer Regime\n\n\nSee Table 4.209\n\n\n\n\n\n\nCNWAT\n\n\nPlant canopy surface water\n\n\nmm\n\n\n\n\n\n\nPDMAX1\n\n\nPM 2.5 Daily Max from 1-hour Average\n\n\nug/m^3\n\n\n\n\n\n\nPDMAX24\n\n\nPM 2.5 Daily Max from 24-hour Average\n\n\nug/m^3\n\n\n\n\n\n\nPEVAP\n\n\nPotential Evaporation\n\n\nkg m-2\n\n\n\n\n\n\nPEVAP\n\n\nPotential evaporation\n\n\nmm\n\n\n\n\n\n\nPEVAP\n\n\nPotential Evaporation\n\n\nmm\n\n\n\n\n\n\nPEVPR\n\n\nPotential Evaporation Rage\n\n\nW/m^2\n\n\n\n\n\n\nPEVPR\n\n\nPotential evaporation rate\n\n\nW/m^2\n\n\n\n\n\n\nPEVPR\n\n\nPotential Evaporation Rate\n\n\nW m-2\n\n\n\n\n\n\nTHZ0\n\n\nPotential temperature at top of viscous sublayer\n\n\nK\n\n\n\n\n\n\nPOT\n\n\nPotential temperature\n\n\nK\n\n\n\n\n\n\nPOT\n\n\nPotential temperature (theta)\n\n\nK\n\n\n\n\n\n\nPV\n\n\nPotential vorticity\n\n\nK *m^-2 *kg^-1 *s^-1\n\n\n\n\n\n\nPV\n\n\nPotential vorticity\n\n\nK *m^-2* kg^-1 *s^-1\n\n\n\n\n\n\nPVL\n\n\nPotential Vorticity\n\n\nK * m^2/kg^1*s^1\n\n\n\n\n\n\nPVORT\n\n\nPotential vorticity\n\n\nK * m^2 * kg^-1* s^-1\n\n\n\n\n\n\nPVMWW\n\n\nPotential Vorticity (Mass-Weighted)\n\n\nm/s\n\n\n\n\n\n\nPWC\n\n\nPrecipitable water category\n\n\n(Code table 4.202)\n\n\n\n\n\n\nPWCAT\n\n\nPrecipitable Water Category\n\n\nSee Table 4.202\n\n\n\n\n\n\nP WAT\n\n\nPrecipitable Water\n\n\nkg m-2\n\n\n\n\n\n\nPWAT\n\n\nPrecipitable water\n\n\nmm\n\n\n\n\n\n\nPRCP\n\n\nPrecipitation\n\n\nmm\n\n\n\n\n\n\nPRATE\n\n\nPrecipitation Rate\n\n\nkg m-2 s-1\n\n\n\n\n\n\nPRATE\n\n\nPrecipitation rate\n\n\nmm / s\n\n\n\n\n\n\nPTYPE\n\n\nPrecipitation type\n\n\n(Code table 4.201)\n\n\n\n\n\n\nPTYPE\n\n\nPrecipitation Type\n\n\nSee Table 4.201\n\n\n\n\n\n\nPR\n\n\nPrecip rate\n\n\nmm/hr\n\n\n\n\n\n\n(See note 3)\n\n\nPredominant Weather\n\n\nNumeric\n\n\n\n\n\n\nPWTHER\n\n\nPredominant Weather\n\n\nNumeric (See note 3)\n\n\n\n\n\n\nPALT\n\n\nPressure altitude\n\n\nm\n\n\n\n\n\n\nPRESA\n\n\nPressure anomaly\n\n\nPa\n\n\n\n\n\n\nPCBB\n\n\nPressure at Cumulonimbus Bas\n\n\nPa\n\n\n\n\n\n\nPCBT\n\n\nPressure at Cumulonimbus To\n\n\nPa\n\n\n\n\n\n\nPECBB\n\n\nPressure at Embedded Cumulonimbus Bas\n\n\nPa\n\n\n\n\n\n\nPECBT\n\n\nPressure at Embedded Cumulonimbus To\n\n\nPa\n\n\n\n\n\n\nPRESDEV\n\n\nPressure deviation from ground to level\n\n\nPa\n\n\n\n\n\n\nPRESD\n\n\nPressure deviation from mean sea level\n\n\nPa\n\n\n\n\n\n\nPRESN\n\n\nPressure (nearest grid point)\n\n\nPa\n\n\n\n\n\n\nPLPL\n\n\nPressure of level from which parcel was lifted\n\n\nPa\n\n\n\n\n\n\nPLPL\n\n\nPressure of most parcel with highest theta-e in lowest 300 mb\n\n\nPa\n\n\n\n\n\n\nP\n\n\nPressure\n\n\nPa\n\n\n\n\n\n\nPRES\n\n\nPressure\n\n\nPa\n\n\n\n\n\n\nPRES\n\n\nPressure\n\n\nPa\n\n\n\n\n\n\nPRMSL\n\n\nPressure reduced to MSL\n\n\nPa\n\n\n\n\n\n\nPTEND\n\n\nPressure tendency\n\n\nPa/s\n\n\n\n\n\n\nDIRPW\n\n\nPrimary wave direction\n\n\nDegree\n\n\n\n\n\n\nPERPW\n\n\nPrimary wave mean period\n\n\ns\n\n\n\n\n\n\nPOP\n\n\nProbability of 0.01 inches of precipitation\n\n\n%\n\n\n\n\n\n\nPOP\n\n\nProbability of 0.01 inch of precipitation (POP)\n\n\n%\n\n\n\n\n\n\nPROCON\n\n\nProbability of Convection\n\n\n%\n\n\n\n\n\n\nCPOZP\n\n\nProbability of Freezing Precipitation\n\n\n%\n\n\n\n\n\n\nPFREZPREC\n\n\nProbability of Freezing Precipitation\n\n\n%\n\n\n\n\n\n\nCPOFP\n\n\nProbability of Frozen Precipitation\n\n\n%\n\n\n\n\n\n\nPFROZPREC\n\n\nProbability of Frozen Precipitation\n\n\n%\n\n\n\n\n\n\nPPFFG\n\n\nProbability of precip exceeding FFG values\n\n\n%\n\n\n\n\n\n\nPOSH\n\n\nProbability of Severe Hail (POSH)\n\n\n%\n\n\n\n\n\n\nWarmRainProbability\n\n\nProbability of Warm Rain\n\n\n%\n\n\n\n\n\n\nCWR\n\n\nProbability of Wetting Rain, exceeding in 0.10\" in a given time period\n\n\n%\n\n\n\n\n\n\nPTAN\n\n\nProb of Temperature above normal\n\n\n%\n\n\n\n\n\n\nPTBN\n\n\nProb of Temperature below normal\n\n\n%\n\n\n\n\n\n\nPTNN\n\n\nProb of Temperature near normal\n\n\n%\n\n\n\n\n\n\nPPAN\n\n\nProb of Total Precipitation above normal\n\n\n%\n\n\n\n\n\n\nPPBN\n\n\nProb of Total Precipitation below normal\n\n\n%\n\n\n\n\n\n\nPPNN\n\n\nProb of Total Precipitation near normal\n\n\n%\n\n\n\n\n\n\nPROTDEN\n\n\nProton Density\n\n\nm^3\n\n\n\n\n\n\nDIFPFLUX\n\n\nProton Flux (Differential)\n\n\n(m^2*s*sr*eV)^1\n\n\n\n\n\n\nINTPFLUX\n\n\nProton Flux (Integral)\n\n\n(m^2*s*sr)^1\n\n\n\n\n\n\nPROTTMP\n\n\nProton Temperature\n\n\nK\n\n\n\n\n\n\nEPOT\n\n\nPseudo-adiabatic potential temperature or equivalent potential temperature\n\n\nK\n\n\n\n\n\n\nMountainMapperQPE12H\n\n\nQPE - Mountain Mapper (12 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nMountainMapperQPE01H\n\n\nQPE - Mountain Mapper (1 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nMountainMapperQPE24H\n\n\nQPE - Mountain Mapper (24 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nMountainMapperQPE03H\n\n\nQPE - Mountain Mapper (3 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nMountainMapperQPE48H\n\n\nQPE - Mountain Mapper (48 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nMountainMapperQPE06H\n\n\nQPE - Mountain Mapper (6 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nMountainMapperQPE72H\n\n\nQPE - Mountain Mapper (72 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nGaugeOnlyQPE12H\n\n\nQPE - Radar Gauge Only (12 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nGaugeOnlyQPE01H\n\n\nQPE - Radar Gauge Only (1 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nGaugeOnlyQPE24H\n\n\nQPE - Radar Gauge Only (24 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nGaugeOnlyQPE03H\n\n\nQPE - Radar Gauge Only (3 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nGaugeOnlyQPE48H\n\n\nQPE - Radar Gauge Only (48 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nGaugeOnlyQPE06H\n\n\nQPE - Radar Gauge Only (6 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nGaugeOnlyQPE72H\n\n\nQPE - Radar Gauge Only (72 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nRadarOnlyQPE12H\n\n\nQPE - Radar Only (12 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nRadarOnlyQPE01H\n\n\nQPE - Radar Only (1 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nRadarOnlyQPE24H\n\n\nQPE - Radar Only (24 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nRadarOnlyQPE03H\n\n\nQPE - Radar Only (3 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nRadarOnlyQPE48H\n\n\nQPE - Radar Only (48 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nRadarOnlyQPE06H\n\n\nQPE - Radar Only (6 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nRadarOnlyQPE72H\n\n\nQPE - Radar Only (72 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nGaugeCorrQPE12H\n\n\nQPE - Radar with Gauge Bias Correction (12 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nGaugeCorrQPE01H\n\n\nQPE - Radar with Gauge Bias Correction (1 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nGaugeCorrQPE24H\n\n\nQPE - Radar with Gauge Bias Correction (24 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nGaugeCorrQPE03H\n\n\nQPE - Radar with Gauge Bias Correction (3 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nGaugeCorrQPE48H\n\n\nQPE - Radar with Gauge Bias Correction (48 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nGaugeCorrQPE06H\n\n\nQPE - Radar with Gauge Bias Correction (6 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nGaugeCorrQPE72H\n\n\nQPE - Radar with Gauge Bias Correction (72 hr. accum.)\n\n\nmm\n\n\n\n\n\n\nPrecipRate\n\n\nRadar Precipitation Rate (SPR)\n\n\nmm/hr\n\n\n\n\n\n\nRadarQualityIndex\n\n\nRadar Quality Index (RQI)\n\n\n\n\n\n\n\n\nRDSP1\n\n\nRadar spectra (1)\n\n\n\n\n\n\n\n\nRDSP2\n\n\nRadar spectra (2)\n\n\n\n\n\n\n\n\nRDSP3\n\n\nRadar spectra (3)\n\n\n\n\n\n\n\n\nRDLNUM\n\n\nRadial number (2pi/lambda)\n\n\nm-1\n\n\n\n\n\n\nSWRAD\n\n\nRadiance (with respect to wave length)\n\n\nW * m^-3 *sr^-1\n\n\n\n\n\n\nLWRAD\n\n\nRadiance (with respect to wave number)\n\n\nW * m^-1 *sr^-1\n\n\n\n\n\n\nEPSR\n\n\nRadiative emissivity\n\n\n\n\n\n\n\n\nEPSR\n\n\nRadiative emissivity\n\n\nmm\n\n\n\n\n\n\nFRAIN\n\n\nRain fraction of total cloud water\n\n\nProportion\n\n\n\n\n\n\nFRAIN\n\n\nRain Fraction of Total Liquid Water\n\n\n\n\n\n\n\n\nFRAIN\n\n\nRain Fraction of Total Liquid Water\n\n\nnon-dim\n\n\n\n\n\n\nFRAIN\n\n\nRain Fraction of Total Liquid Water\n\n\nProportion\n\n\n\n\n\n\nRWMR\n\n\nRain Mixing Ratio\n\n\nkg kg-1\n\n\n\n\n\n\nRWMR\n\n\nRain mixing ratio\n\n\nkg/kg\n\n\n\n\n\n\nRPRATE\n\n\nRain Precipitation Rate\n\n\nkg m-2s-1\n\n\n\n\n\n\nRPRATE\n\n\nRain Precipitation Rate\n\n\nmm/s\n\n\n\n\n\n\nRDRIP\n\n\nRate of water dropping from canopy to ground\n\n\nunknown\n\n\n\n\n\n\nground\n\n\nRate of water dropping from canopy to\n\n\nRDRIP\n\n\n\n\n\n\nMergedReflectivityComposite\n\n\nRaw Composite Reflectivity Mosaic\n\n\ndBZ\n\n\n\n\n\n\nMergedBaseReflectivity\n\n\nRaw Merged Base Reflectivity\n\n\ndBZ\n\n\n\n\n\n\nRFL06\n\n\nReflectance in 0.6 Micron Channel\n\n\n%\n\n\n\n\n\n\nRFL08\n\n\nReflectance in 0.8 Micron Channel\n\n\n%\n\n\n\n\n\n\nRFL16\n\n\nReflectance in 1.6 Micron Channel\n\n\n%\n\n\n\n\n\n\nRFL39\n\n\nReflectance in 3.9 Micron Channel\n\n\n%\n\n\n\n\n\n\nReflectivity0C\n\n\nReflectivity at 0C\n\n\ndBZ\n\n\n\n\n\n\nReflectivityM10C\n\n\nReflectivity at -10C\n\n\ndBZ\n\n\n\n\n\n\nReflectivityM15C\n\n\nReflectivity at -15C\n\n\ndBZ\n\n\n\n\n\n\nREFD\n\n\nReflectivity at 1 km AGL\n\n\ndB\n\n\n\n\n\n\nReflectivityM20C\n\n\nReflectivity at -20C\n\n\ndBZ\n\n\n\n\n\n\nReflectivityM5C\n\n\nReflectivity at -5C\n\n\ndBZ\n\n\n\n\n\n\nReflectivityAtLowestAltitude\n\n\nReflectivity At Lowest Altitude (RALA)\n\n\ndBZ\n\n\n\n\n\n\nREFD\n\n\nReflectivity\n\n\ndB\n\n\n\n\n\n\nRAZA\n\n\nRelative Azimuth Angle\n\n\nDegree\n\n\n\n\n\n\nRELD\n\n\nRelative divergence\n\n\ns^-1\n\n\n\n\n\n\nREV\n\n\nRelative Error Variance\n\n\n\n\n\n\n\n\nRH\n\n\nRelative humidity\n\n\n%\n\n\n\n\n\n\nR H\n\n\nRelative Humidity\n\n\n%\n\n\n\n\n\n\nRHPW\n\n\nRelative Humidity with Respect to Precipitable Water\n\n\n%\n\n\n\n\n\n\nRELV\n\n\nRelative vorticity\n\n\ns^-1\n\n\n\n\n\n\nRSSC\n\n\nRemotely sensed snow cover\n\n\n(Code table 4.215)\n\n\n\n\n\n\nRI\n\n\nRichardson number\n\n\nNumeric\n\n\n\n\n\n\nRI\n\n\nRichardson Number\n\n\nNumeric\n\n\n\n\n\n\nFRIME\n\n\nRime Factor\n\n\n\n\n\n\n\n\nRIME\n\n\nRime Factor\n\n\nnon-dim\n\n\n\n\n\n\nRIME\n\n\nRime factor\n\n\nNumeric\n\n\n\n\n\n\nRIME\n\n\nRime Factor\n\n\nNumeric\n\n\n\n\n\n\nRIME\n\n\nRime Factor\n\n\n\n\n\n\n\n\nSFCRH\n\n\nRoughness length for heat\n\n\nm\n\n\n\n\n\n\nSALTY\n\n\nSalinity\n\n\nkg/kg\n\n\n\n\n\n\nSLTFL\n\n\nSalt Flux\n\n\nmm*s\n\n\n\n\n\n\nSATD\n\n\nSaturation deficit\n\n\nPa\n\n\n\n\n\n\nSAT D\n\n\nSaturation Deficit\n\n\nPa\n\n\n\n\n\n\nSATOSM\n\n\nSaturation Of Soil Moisture\n\n\nkg/m^3\n\n\n\n\n\n\nSCALB\n\n\nScaled albedo\n\n\nNumeric\n\n\n\n\n\n\nSCBT\n\n\nScaled brightness temperature\n\n\nNumeric\n\n\n\n\n\n\nSCCTP\n\n\nScaled cloud top pressure\n\n\nNumeric\n\n\n\n\n\n\nSCLI\n\n\nScaled lifted index\n\n\nNumeric\n\n\n\n\n\n\nSCPW\n\n\nScaled precipitable water\n\n\nNumeric\n\n\n\n\n\n\nSCRAD\n\n\nScaled radiance\n\n\nNumeric\n\n\n\n\n\n\nSCST\n\n\nScaled skin temperature\n\n\nNumeric\n\n\n\n\n\n\nSCESTUWIND\n\n\nScatterometer Estimated U Wind Component\n\n\nm/s\n\n\n\n\n\n\nSCESTVWIND\n\n\nScatterometer Estimated V Wind Component\n\n\nm/s\n\n\n\n\n\n\nSCINT\n\n\nScintillation\n\n\nNumeric\n\n\n\n\n\n\nSEAB\n\n\nSea Bottom\n\n\n\n\n\n\n\n\nSeamlessHSR\n\n\nSeamless Hybrid Scan Reflectivity (SHSR)\n\n\ndBZ\n\n\n\n\n\n\nSeamlessHSRHeight\n\n\nSeamless Hybrid Scan Reflectivity (SHSR) Height\n\n\nkm\n\n\n\n\n\n\nSSHG\n\n\nSea Surface Height Relative to Geoid\n\n\nm\n\n\n\n\n\n\nDIRSW\n\n\nSecondary wave direction\n\n\nDegree\n\n\n\n\n\n\nPERSW\n\n\nSecondary wave mean periods\n\n\ns\n\n\n\n\n\n\ns\n\n\nSeconds prior to initial reference time (defined in Section 1)\n\n\nTSEC\n\n\n\n\n\n\nTSEC\n\n\nSeconds prior to initial reference time\n\n\ns\n\n\n\n\n\n\nTSEC\n\n\nSeconds Prior To Initial Reference Time\n\n\ns\n\n\n\n\n\n\nSHTFL\n\n\nSensible heat net flux\n\n\nW/m^2\n\n\n\n\n\n\nSHI\n\n\nSevere Hail Index (SHI)\n\n\n\n\n\n\n\n\nSCBL\n\n\nShallow convective cloud bottom level\n\n\n\n\n\n\n\n\nSCBL\n\n\nShallow Convective Cloud Bottom Level\n\n\n\n\n\n\n\n\nSCCBT\n\n\nShallow Convective Cloud Bottom Level\n\n\n\n\n\n\n\n\nSCCTL\n\n\nShallow Convective Cloud Top Level\n\n\n\n\n\n\n\n\nSCTL\n\n\nShallow convective cloud top level\n\n\n\n\n\n\n\n\nSCTL\n\n\nShallow Convective Cloud Top Level\n\n\n\n\n\n\n\n\nSHAHR\n\n\nShallow Convective Heating rate\n\n\nK/s\n\n\n\n\n\n\nSHAMR\n\n\nShallow Convective Moistening Rate\n\n\nkg kg-1 s-1\n\n\n\n\n\n\nSHAMR\n\n\nShallow Convective Moistening Rate\n\n\nkg/kg*s\n\n\n\n\n\n\nSWAVR\n\n\nShort wave radiation flux\n\n\nW/m^2\n\n\n\n\n\n\nSGCVV\n\n\nSigma coordinate vertical velocity\n\n\ns^-1\n\n\n\n\n\n\nSIGL\n\n\nSigma Level\n\n\n\n\n\n\n\n\nSHAILPRO\n\n\nSignificant Hail probability\n\n\n%\n\n\n\n\n\n\nSIGHAILPROB\n\n\nSignificant Hail probability\n\n\n%\n\n\n\n\n\n\nHTSGW\n\n\nSignificant height of combined wind waves and swell\n\n\nm\n\n\n\n\n\n\nSWELL\n\n\nSignificant height of swell waves\n\n\nm\n\n\n\n\n\n\nWVHGT\n\n\nSignificant height of wind waves (m)\n\n\nm\n\n\n\n\n\n\nSIGTRNDPROB\n\n\nSignificant Tornado probability\n\n\n%\n\n\n\n\n\n\nSTORPROB\n\n\nSignificant Tornado probability\n\n\n%\n\n\n\n\n\n\nSIGWINDPROB\n\n\nSignificant Wind probability\n\n\n%\n\n\n\n\n\n\nSWINDPRO\n\n\nSignificant Wind probability\n\n\n%\n\n\n\n\n\n\n\n\nSilt loam\n\n\n\n\n\n\n\n\nSBC123\n\n\nSimulated Brightness Counts for GOES 12, Channel 3\n\n\nByte\n\n\n\n\n\n\nSBC124\n\n\nSimulated Brightness Counts for GOES 12, Channel 4\n\n\nByte\n\n\n\n\n\n\nSBTA1610\n\n\nSimulated Brightness Temperature for ABI GOES-16, Band-10\n\n\nK\n\n\n\n\n\n\nSBTA1611\n\n\nSimulated Brightness Temperature for ABI GOES-16, Band-11\n\n\nK\n\n\n\n\n\n\nSBTA1612\n\n\nSimulated Brightness Temperature for ABI GOES-16, Band-12\n\n\nK\n\n\n\n\n\n\nSBTA1613\n\n\nSimulated Brightness Temperature for ABI GOES-16, Band-13\n\n\nK\n\n\n\n\n\n\nSBTA1614\n\n\nSimulated Brightness Temperature for ABI GOES-16, Band-14\n\n\nK\n\n\n\n\n\n\nSBTA1615\n\n\nSimulated Brightness Temperature for ABI GOES-16, Band-15\n\n\nK\n\n\n\n\n\n\nSBTA1616\n\n\nSimulated Brightness Temperature for ABI GOES-16, Band-16\n\n\nK\n\n\n\n\n\n\nSBTA167\n\n\nSimulated Brightness Temperature for ABI GOES-16, Band-7\n\n\nK\n\n\n\n\n\n\nSBTA168\n\n\nSimulated Brightness Temperature for ABI GOES-16, Band-8\n\n\nK\n\n\n\n\n\n\nSBTA169\n\n\nSimulated Brightness Temperature for ABI GOES-16, Band-9\n\n\nK\n\n\n\n\n\n\nSBTA1710\n\n\nSimulated Brightness Temperature for ABI GOES-17, Band-10\n\n\nK\n\n\n\n\n\n\nSBTA1711\n\n\nSimulated Brightness Temperature for ABI GOES-17, Band-11\n\n\nK\n\n\n\n\n\n\nSBTA1712\n\n\nSimulated Brightness Temperature for ABI GOES-17, Band-12\n\n\nK\n\n\n\n\n\n\nSBTA1713\n\n\nSimulated Brightness Temperature for ABI GOES-17, Band-13\n\n\nK\n\n\n\n\n\n\nSBTA1714\n\n\nSimulated Brightness Temperature for ABI GOES-17, Band-14\n\n\nK\n\n\n\n\n\n\nSBTA1715\n\n\nSimulated Brightness Temperature for ABI GOES-17, Band-15\n\n\nK\n\n\n\n\n\n\nSBTA1716\n\n\nSimulated Brightness Temperature for ABI GOES-17, Band-16\n\n\nK\n\n\n\n\n\n\nSBTA177\n\n\nSimulated Brightness Temperature for ABI GOES-17, Band-7\n\n\nK\n\n\n\n\n\n\nSBTA178\n\n\nSimulated Brightness Temperature for ABI GOES-17, Band-8\n\n\nK\n\n\n\n\n\n\nSBTA179\n\n\nSimulated Brightness Temperature for ABI GOES-17, Band-9\n\n\nK\n\n\n\n\n\n\nAMSRE10\n\n\nSimulated Brightness Temperature for AMSRE on Aqua, Channel 10\n\n\nK\n\n\n\n\n\n\nAMSRE11\n\n\nSimulated Brightness Temperature for AMSRE on Aqua, Channel 11\n\n\nK\n\n\n\n\n\n\nAMSRE12\n\n\nSimulated Brightness Temperature for AMSRE on Aqua, Channel 12\n\n\nK\n\n\n\n\n\n\nAMSRE9\n\n\nSimulated Brightness Temperature for AMSRE on Aqua, Channel 9\n\n\nK\n\n\n\n\n\n\nSBT112\n\n\nSimulated Brightness Temperature for GOES 11, Channel 2\n\n\nK\n\n\n\n\n\n\nSBT113\n\n\nSimulated Brightness Temperature for GOES 11, Channel 3\n\n\nK\n\n\n\n\n\n\nSBT114\n\n\nSimulated Brightness Temperature for GOES 11, Channel 4\n\n\nK\n\n\n\n\n\n\nSBT115\n\n\nSimulated Brightness Temperature for GOES 11, Channel 5\n\n\nK\n\n\n\n\n\n\nSBT122\n\n\nSimulated Brightness Temperature for GOES 12, Channel 2\n\n\nK\n\n\n\n\n\n\nSBT123\n\n\nSimulated Brightness Temperature for GOES 12, Channel 3\n\n\nK\n\n\n\n\n\n\nSBT124\n\n\nSimulated Brightness Temperature for GOES 12, Channel 4\n\n\nK\n\n\n\n\n\n\nSBT125\n\n\nSimulated Brightness Temperature for GOES 12, Channel 5\n\n\nK\n\n\n\n\n\n\nSBT124\n\n\nSimulated Brightness Temperature for GOES E Infrared\n\n\nK\n\n\n\n\n\n\nSBT123\n\n\nSimulated Brightness Temperature for GOES E Water Vapor\n\n\nK\n\n\n\n\n\n\nSBT114\n\n\nSimulated Brightness Temperature for GOES W Infrared\n\n\nK\n\n\n\n\n\n\nSBT113\n\n\nSimulated Brightness Temperature for GOES W Water Vapor\n\n\nK\n\n\n\n\n\n\nSRFA161\n\n\nSimulated Reflectance Factor for ABI GOES-16, Band-1\n\n\n\n\n\n\n\n\nSRFA162\n\n\nSimulated Reflectance Factor for ABI GOES-16, Band-2\n\n\n\n\n\n\n\n\nSRFA163\n\n\nSimulated Reflectance Factor for ABI GOES-16, Band-3\n\n\n\n\n\n\n\n\nSRFA164\n\n\nSimulated Reflectance Factor for ABI GOES-16, Band-4\n\n\n\n\n\n\n\n\nSRFA165\n\n\nSimulated Reflectance Factor for ABI GOES-16, Band-5\n\n\n\n\n\n\n\n\nSRFA166\n\n\nSimulated Reflectance Factor for ABI GOES-16, Band-6\n\n\n\n\n\n\n\n\nSRFA171\n\n\nSimulated Reflectance Factor for ABI GOES-17, Band-1\n\n\n\n\n\n\n\n\nSRFA172\n\n\nSimulated Reflectance Factor for ABI GOES-17, Band-2\n\n\n\n\n\n\n\n\nSRFA173\n\n\nSimulated Reflectance Factor for ABI GOES-17, Band-3\n\n\n\n\n\n\n\n\nSRFA174\n\n\nSimulated Reflectance Factor for ABI GOES-17, Band-4\n\n\n\n\n\n\n\n\nSRFA175\n\n\nSimulated Reflectance Factor for ABI GOES-17, Band-5\n\n\n\n\n\n\n\n\nSRFA176\n\n\nSimulated Reflectance Factor for ABI GOES-17, Band-6\n\n\n\n\n\n\n\n\nSKTMP\n\n\nSkin Temperature\n\n\nK\n\n\n\n\n\n\nSRCONO\n\n\nSlight risk convective outlook\n\n\ncategorical\n\n\n\n\n\n\nSSGSO\n\n\nSlope Of Sub-Grid Scale Orography\n\n\nNumeric\n\n\n\n\n\n\nSNOAG\n\n\nSnow age\n\n\nday\n\n\n\n\n\n\nSNOAG\n\n\nSnow Age\n\n\nday\n\n\n\n\n\n\nSALBD\n\n\nSnow Albedo\n\n\n%\n\n\n\n\n\n\nSCE\n\n\nSnow Cover by elevation (snow=0-252,neither=253,clouds=254)\n\n\ndm\n\n\n\n\n\n\nSCP\n\n\nSnow Cover\n\n\n%\n\n\n\n\n\n\nSC\n\n\nSnow Cover (snow=250,clouds=100,neither=50)\n\n\n\n\n\n\n\n\nSNOWC\n\n\nSnow cover\n\n\n%\n\n\n\n\n\n\nSNOWC\n\n\nSnow Cover\n\n\n%\n\n\n\n\n\n\nSDEN\n\n\nSnow Density\n\n\nkg m-3\n\n\n\n\n\n\nSDEN\n\n\nSnow Density\n\n\nkg/m^3\n\n\n\n\n\n\nSNOD\n\n\nSnow depth\n\n\nm\n\n\n\n\n\n\nSNO D\n\n\nSnow Depth\n\n\nm\n\n\n\n\n\n\nSDWE\n\n\nSnow Depth Water Equivalent\n\n\nkg m-2\n\n\n\n\n\n\nSDWE\n\n\nSnow Depth Water Equivalent\n\n\nmm\n\n\n\n\n\n\nSEVAP\n\n\nSnow Evaporation\n\n\nkg m-2\n\n\n\n\n\n\nSEVAP\n\n\nSnow Evaporation\n\n\nmm\n\n\n\n\n\n\nSRWEQ\n\n\nSnowfall Rate Water Equivalent\n\n\nkg m-2 s-1\n\n\n\n\n\n\nSRWEQ\n\n\nSnowfall rate water equivalent\n\n\nmm / s\n\n\n\n\n\n\nSNFALB\n\n\nSnow free albedo\n\n\n%\n\n\n\n\n\n\nSNFALB\n\n\nSnow-Free Albedo\n\n\n%\n\n\n\n\n\n\nSNO M\n\n\nSnow Melt\n\n\nkg m-2\n\n\n\n\n\n\nSNOM\n\n\nSnow melt\n\n\nmm\n\n\n\n\n\n\nSNMR\n\n\nSnow Mixing Ratio\n\n\nkg kg-1\n\n\n\n\n\n\nSNMR\n\n\nSnow mixing ratio\n\n\nkg/kg\n\n\n\n\n\n\nSNOHF\n\n\nSnow phase change heat flux\n\n\nW/m^2\n\n\n\n\n\n\nSNOHF\n\n\nSnow Phase Change Heat Flux\n\n\nW/m^2\n\n\n\n\n\n\nSPRATE\n\n\nSnow Precipitation Rate\n\n\nkg m-2s-1\n\n\n\n\n\n\nSPRATE\n\n\nSnow Precipitation Rate\n\n\nmm/s\n\n\n\n\n\n\nSNOWT\n\n\nSnow temperature, depth-avg\n\n\nK\n\n\n\n\n\n\nSNOT\n\n\nSnow temperature\n\n\nK\n\n\n\n\n\n\nSNO T\n\n\nSnow temperature\n\n\nK\n\n\n\n\n\n\nSNOT\n\n\nSnow Temperature\n\n\nK\n\n\n\n\n\n\nSCE\n\n\nSnow water equivalent\n\n\ncm\n\n\n\n\n\n\nSWEPN\n\n\nSnow water equivalent percent of normal\n\n\n%\n\n\n\n\n\n\nSOILM\n\n\nSoil moisture content\n\n\nmm\n\n\n\n\n\n\nSOILM\n\n\nSoil Moisture\n\n\nkg/m^3\n\n\n\n\n\n\nRCSOL\n\n\nSoil moisture parameter in canopy conductance\n\n\nFraction\n\n\n\n\n\n\nRCSOL\n\n\nSoil moisture parameter in canopy conductance\n\n\nProportion\n\n\n\n\n\n\nSOILP\n\n\nSoil Porosity\n\n\nm^3/m^3\n\n\n\n\n\n\nPOROS\n\n\nSoil porosity\n\n\nProportion\n\n\n\n\n\n\nTSOIL\n\n\nSoil temperature\n\n\nK\n\n\n\n\n\n\nSOTYP\n\n\nSoil type\n\n\nindex\n\n\n\n\n\n\nEUVIRR\n\n\nSolar EUV Irradiance\n\n\nW*m^2\n\n\n\n\n\n\nRCS\n\n\nSolar parameter in canopy conductance\n\n\nFraction\n\n\n\n\n\n\nRCS\n\n\nSolar parameter in canopy conductance\n\n\nProportion\n\n\n\n\n\n\nSP\n\n\nSolar photosphere\n\n\n\n\n\n\n\n\nSWHR\n\n\nSolar Radiative Heating Rate\n\n\nK/s\n\n\n\n\n\n\nSOLRF\n\n\nSolar Radio Emissions\n\n\nW*m^2*Hz^1\n\n\n\n\n\n\nSPECIRR\n\n\nSolar Spectral Irradiance\n\n\nW*m^2*n*m^1\n\n\n\n\n\n\nXLONG\n\n\nSolar X-ray Flux (XRS Long)\n\n\nW*m^2\n\n\n\n\n\n\nXSHRT\n\n\nSolar X-ray Flux (XRS Short)\n\n\nW*m^2\n\n\n\n\n\n\nSOLZA\n\n\nSolar Zenith Angle\n\n\nDegree\n\n\n\n\n\n\nAMSL\n\n\nSpecific Altitude Above Mean Sea Level\n\n\nm\n\n\n\n\n\n\nQZ0\n\n\nSpecific humidity at top of viscous sublayer\n\n\nkg/kg\n\n\n\n\n\n\nSPF H\n\n\nSpecific Humidity\n\n\nkg kg-1\n\n\n\n\n\n\nSPFH\n\n\nSpecific humidity\n\n\nkg/kg\n\n\n\n\n\n\nHTGL\n\n\nSpecified Height Level Above Ground\n\n\nm\n\n\n\n\n\n\nSRCS\n\n\nSpecified radius from the center of the Sun\n\n\nm\n\n\n\n\n\n\nDWWW\n\n\nSpectal directional width of the wind waves\n\n\n\n\n\n\n\n\nSPFTR\n\n\nSpectral Peakedness Factor\n\n\ns^-1\n\n\n\n\n\n\nSICED\n\n\nSpeed of ice drift\n\n\nm/s\n\n\n\n\n\n\nSPRDF\n\n\nSpread F\n\n\nm\n\n\n\n\n\n\nHSTDV\n\n\nStandard deviation of height\n\n\nm\n\n\n\n\n\n\nSDSGSO\n\n\nStandard Deviation Of Sub-Grid Scale Orography\n\n\nm\n\n\n\n\n\n\nTSD1D\n\n\nStandard Dev. of IR Temp. over 1x1 deg. area\n\n\nK\n\n\n\n\n\n\nHLCY\n\n\nStorm relative helicity\n\n\nJ/kg\n\n\n\n\n\n\nSSRUN\n\n\nStorm surface runoff\n\n\nmm\n\n\n\n\n\n\nSURGE\n\n\nStorm Surge\n\n\nm\n\n\n\n\n\n\nSTPA\n\n\nStorm total precip accum\n\n\nmm\n\n\n\n\n\n\nSTRM\n\n\nStream function\n\n\nm^2/s\n\n\n\n\n\n\nSBSNO\n\n\nSublimation (evaporation from snow)\n\n\nW m-2\n\n\n\n\n\n\nSBSNO\n\n\nSublimation (evaporation from snow)\n\n\nW/m^2\n\n\n\n\n\n\nSUN\n\n\nSunshine duration (ECMWF proposal, not WMO approved)\n\n\ns\n\n\n\n\n\n\nSUNSD\n\n\nSunshine Duration\n\n\ns\n\n\n\n\n\n\nSUNS\n\n\nSunShine\n\n\nNumeric\n\n\n\n\n\n\nSIPD\n\n\nSupercooled Large Droplet Icing\n\n\nmm\n\n\n\n\n\n\nSIPD\n\n\nSupercooled Large Droplet (SLD) Icing\n\n\nSee Table 4.207See Note (1)\n\n\n\n\n\n\nSLDP\n\n\nSupercooled Large Droplet (SLD) Probabilitysee note 1\n\n\n%\n\n\n\n\n\n\nSLDP\n\n\nSupercooled Large Droplet (SLD) Probability\n\n\n%\n\n\n\n\n\n\nSuperLayerCompositeReflectivity\n\n\nSuper Layer Composite Reflectivity (33-60 kft)\n\n\ndBZ\n\n\n\n\n\n\nAKHS\n\n\nSurface exchange coefficients for T and Q divided by delta z\n\n\nm/s\n\n\n\n\n\n\nAKMS\n\n\nSurface exchange coefficients for U and V divided by delta z\n\n\nm/s\n\n\n\n\n\n\nLFTX\n\n\nSurface Lifted Index\n\n\nK\n\n\n\n\n\n\nSLI\n\n\nSurface lifted index\n\n\nK\n\n\n\n\n\n\nPrecipType\n\n\nSurface Precipitation Type (SPT)\n\n\n\n\n\n\n\n\nSFCR\n\n\nSurface roughness\n\n\nm\n\n\n\n\n\n\nSSST\n\n\nSurface Salinity Trend\n\n\npsu per day\n\n\n\n\n\n\nSLTYP\n\n\nSurface Slope Type\n\n\nIndex\n\n\n\n\n\n\nModelSurfaceTemperature\n\n\nSurface Temperature\n\n\nC\n\n\n\n\n\n\nSSTT\n\n\nSurface Temperature Trend\n\n\ndegree per day\n\n\n\n\n\n\nSSTOR\n\n\nSurface water storage\n\n\nmm\n\n\n\n\n\n\nSurge\n\n\nSurge Height\n\n\nm\n\n\n\n\n\n\nSX\n\n\nSweat index\n\n\nNumeric\n\n\n\n\n\n\nTMPA\n\n\nTemperature anomaly\n\n\nK\n\n\n\n\n\n\nT\n\n\nTemperature\n\n\nK\n\n\n\n\n\n\nTMP\n\n\nTemperature\n\n\nK\n\n\n\n\n\n\nTMPSWP\n\n\nTemperature\n\n\nK\n\n\n\n\n\n\nRCT\n\n\nTemperature parameter in canopy conductance\n\n\nFraction\n\n\n\n\n\n\nRCT\n\n\nTemperature parameter in canopy conductance\n\n\nProportion\n\n\n\n\n\n\nTTDIA\n\n\nTemperature Tendency By All Physics\n\n\nK/s\n\n\n\n\n\n\nTTRAD\n\n\nTemperature tendency by all radiation\n\n\nK*s^-1\n\n\n\n\n\n\nTTRAD\n\n\nTemperature tendency by all radiation\n\n\nK/s\n\n\n\n\n\n\nTTPHY\n\n\nTemperature Tendency By Non-radiation Physics\n\n\nK/s\n\n\n\n\n\n\nWTEND\n\n\nTendency of vertical velocity\n\n\nm/s^2\n\n\n\n\n\n\n\n\nThe Associated Legendre Functions of the first kind are defined by\n\n\n\n\n\n\n\n\nMASK\n\n\nThematic Mask\n\n\nNumeric\n\n\n\n\n\n\nTHICK\n\n\nThickness\n\n\nm\n\n\n\n\n\n\nTSC\n\n\nThunderstorm coverage\n\n\n(Code table 4.204)\n\n\n\n\n\n\nTSMT\n\n\nThunderstorm maximum tops\n\n\nm\n\n\n\n\n\n\nTSTM\n\n\nThunderstorm probability\n\n\n%\n\n\n\n\n\n\nTSTM\n\n\nThunderstorm Probability\n\n\n%\n\n\n\n\n\n\nTACONCP\n\n\nTime-integrated air concentration of caesium pollutant\n\n\nBq*s/m^3\n\n\n\n\n\n\nTACONIP\n\n\nTime-integrated air concentration of iodine pollutant\n\n\nBq*s/m^3\n\n\n\n\n\n\nTACONRDP\n\n\nTime-integrated air concentration of radioactive pollutant\n\n\nBq*s/m^3\n\n\n\n\n\n\nPTOR\n\n\nTornado probability\n\n\n%\n\n\n\n\n\n\nTORPROB\n\n\nTornado probability\n\n\n%\n\n\n\n\n\n\nTRNDPROB\n\n\nTornado probability\n\n\n%\n\n\n\n\n\n\nTCDC\n\n\nTotal cloud cover\n\n\n%\n\n\n\n\n\n\nTCOLI\n\n\nTotal column-integrated cloud ice\n\n\nmm\n\n\n\n\n\n\nTCOLI\n\n\nTotal Column-Integrated Cloud Ice\n\n\nmm\n\n\n\n\n\n\nTCOLW\n\n\nTotal column-integrated cloud water\n\n\nmm\n\n\n\n\n\n\nTCOLW\n\n\nTotal Column-Integrated Cloud Water\n\n\nmm\n\n\n\n\n\n\nTCOLC\n\n\nTotal column-integrated condensate\n\n\nmm\n\n\n\n\n\n\nTCOLC\n\n\nTotal Column-Integrated Condensate\n\n\nmm\n\n\n\n\n\n\nTCOLM\n\n\nTotal column-integrated melting ice\n\n\nkg m-2\n\n\n\n\n\n\nTCOLM\n\n\nTotal column-integrated melting ice\n\n\nmm\n\n\n\n\n\n\nTCIOZ\n\n\nTotal Column Integrated Ozone\n\n\nDobson\n\n\n\n\n\n\nTCOLR\n\n\nTotal Column Integrated Rain\n\n\nkg m-2\n\n\n\n\n\n\nTCOLR\n\n\nTotal column integrated rain\n\n\nmm\n\n\n\n\n\n\nTCOLR\n\n\nTotal Column Integrated Rain\n\n\nmm\n\n\n\n\n\n\nTCOLS\n\n\nTotal Column Integrated Snow\n\n\nkg m-2\n\n\n\n\n\n\nTCOLS\n\n\nTotal column integrated snow\n\n\nmm\n\n\n\n\n\n\nTCOLS\n\n\nTotal Column Integrated Snow\n\n\nmm\n\n\n\n\n\n\nTCLSW\n\n\nTotal column-integrated supercooled liquid water\n\n\nkg m-2\n\n\n\n\n\n\nTCLSW\n\n\nTotal column-integrated supercooled liquid water\n\n\nmm\n\n\n\n\n\n\nTCIWV\n\n\nTotal Column Integrated Water Vapour\n\n\nkg m-2\n\n\n\n\n\n\nTCIWV\n\n\nTotal Column Integrated Water Vapour\n\n\nmm\n\n\n\n\n\n\nTCOLG\n\n\nTotal Column Integrate Graupel\n\n\nkg/m^2\n\n\n\n\n\n\nTCWAT\n\n\nTotal Column Water (Vertically integrated total water (vapour+cloud water/ice)\n\n\nkg m-2\n\n\n\n\n\n\nTCWAT\n\n\nTotal Column Water(Vertically integrated total water (vapour+cloud water/ice)\n\n\nmm\n\n\n\n\n\n\nTCOND\n\n\nTotal Condensate\n\n\nkg * kg^-1\n\n\n\n\n\n\nTCOND\n\n\nTotal condensate\n\n\nkg/kg\n\n\n\n\n\n\nTCOND\n\n\nTotal Condensate\n\n\nkg/kg\n\n\n\n\n\n\nTHFLX\n\n\nTotal Downward Heat Flux at Surface\n\n\nW/m^2\n\n\n\n\n\n\nTIPD\n\n\nTotal Icing Potential Diagnostic\n\n\nnon-dim\n\n\n\n\n\n\nTIPD\n\n\nTotal Icing Potential Diagnostic\n\n\n\n\n\n\n\n\nTOZNE\n\n\nTotal ozone\n\n\nDobson\n\n\n\n\n\n\nA PCP\n\n\nTotal Precipitation\n\n\nkg m-2\n\n\n\n\n\n\nAPCP\n\n\nTotal precipitation\n\n\nmm\n\n\n\n\n\n\nAPCPN\n\n\nTotal precipitation (nearest grid point)\n\n\nkg/m2\n\n\n\n\n\n\nAPCPN\n\n\nTotal precipitation (nearest grid point)\n\n\nmm\n\n\n\n\n\n\nTPRATE\n\n\nTotal Precipitation Rate\n\n\nkg m-2s-1\n\n\n\n\n\n\nTPRATE\n\n\nTotal Precipitation Rate\n\n\nmm/s\n\n\n\n\n\n\nPRSIGSV\n\n\nTotal Probability of Extreme Severe Thunderstorms (Days 2,3)\n\n\n%\n\n\n\n\n\n\nPRSIGSVR\n\n\nTotal Probability of Extreme Severe Thunderstorms (Days 2,3)\n\n\n%\n\n\n\n\n\n\nPRSVR\n\n\nTotal Probability of Severe Thunderstorms (Days 2,3)\n\n\n%\n\n\n\n\n\n\nASNOW\n\n\nTotal Snowfall\n\n\nm\n\n\n\n\n\n\nTOTSN\n\n\nTotal snowfall\n\n\nm\n\n\n\n\n\n\nTSRATE\n\n\nTotal Snowfall Rate\n\n\nm s-1\n\n\n\n\n\n\nTSRATE\n\n\nTotal Snowfall Rate\n\n\nm/s\n\n\n\n\n\n\nTSRWE\n\n\nTotal Snowfall Rate Water Equivalent\n\n\nkg m-2s-1\n\n\n\n\n\n\nTSRWE\n\n\nTotal Snowfall Rate Water Equivalent\n\n\nmm/s\n\n\n\n\n\n\nTSNOW\n\n\nTotal Snow\n\n\nkg/m2\n\n\n\n\n\n\nTSNOW\n\n\nTotal Snow\n\n\nmm\n\n\n\n\n\n\nTSNOWP\n\n\nTotal Snow Precipitation\n\n\nkg m-2\n\n\n\n\n\n\nTSNOWP\n\n\nTotal Snow Precipitation\n\n\nmm\n\n\n\n\n\n\nTTX\n\n\nTotal totals index\n\n\nK\n\n\n\n\n\n\nTWATP\n\n\nTotal Water Precipitation\n\n\nkg m-2\n\n\n\n\n\n\nTWATP\n\n\nTotal Water Precipitation\n\n\nmm\n\n\n\n\n\n\nTTHDP\n\n\nTransient thermocline depth\n\n\nm\n\n\n\n\n\n\nTRANSO\n\n\nTranspiration Stree-Onset(Soil Moisture)\n\n\nkg/m^3\n\n\n\n\n\n\nSMREF\n\n\nTranspiration stress-onset (soil moisture)\n\n\nProportion\n\n\n\n\n\n\nTRANS\n\n\nTranspiration\n\n\nW/m^2\n\n\n\n\n\n\nTCHP\n\n\nTropical Cyclone Heat Potential\n\n\nJ/m^2*K\n\n\n\n\n\n\nTRO\n\n\nTropopause\n\n\n\n\n\n\n\n\nTRBBS\n\n\nTurbulence base\n\n\nm\n\n\n\n\n\n\nTURBB\n\n\nTurbulence Base\n\n\nm\n\n\n\n\n\n\nTURB\n\n\nTurbulence\n\n\n(Code table 4.208)\n\n\n\n\n\n\nTPFI\n\n\nTurbulence Potential Forecast Index\n\n\n\n\n\n\n\n\nTURB\n\n\nTurbulence\n\n\nSee Table 4.208\n\n\n\n\n\n\nTRBTP\n\n\nTurbulence top\n\n\nm\n\n\n\n\n\n\nTURBT\n\n\nTurbulence Top\n\n\nm\n\n\n\n\n\n\nTKE\n\n\nTurbulent Kinetic Energy\n\n\nJ kg-1\n\n\n\n\n\n\nTKE\n\n\nTurbulent kinetic energy\n\n\nJ/kg\n\n\n\n\n\n\nUOGRD\n\n\nu-component of current\n\n\ncm/s\n\n\n\n\n\n\nUOGRD\n\n\nu-component of current\n\n\nm/s\n\n\n\n\n\n\nMAXUW\n\n\nU Component of Hourly Maximum 10m Wind Speed\n\n\nm/s\n\n\n\n\n\n\nUICE\n\n\nu-component of ice drift\n\n\nm/s\n\n\n\n\n\n\nUGUST\n\n\nu-component of wind gust\n\n\nm/s\n\n\n\n\n\n\nUGRD\n\n\nu-component of wind\n\n\nm/s\n\n\n\n\n\n\nUSTM\n\n\nU-component storm motion\n\n\nm/s\n\n\n\n\n\n\nUSTM\n\n\nU-Component Storm Motion\n\n\nm/s\n\n\n\n\n\n\nUSSD\n\n\nU-component Surface Stokes Drift\n\n\nm/s\n\n\n\n\n\n\nUVI\n\n\nUltra Violet Index\n\n\nJ/m^2\n\n\n\n\n\n\nUPHL\n\n\nUpdraft Helicity in Layer 2-5 km AGL\n\n\nm^2/s^2\n\n\n\n\n\n\nUPHL\n\n\nUpdraft Helicity\n\n\nm^2/s^2\n\n\n\n\n\n\nULSM\n\n\nUpper layer soil moisture\n\n\nkg/m^3\n\n\n\n\n\n\nULST\n\n\nUpper layer soil temperature\n\n\nK\n\n\n\n\n\n\nULWRF\n\n\nUpward Long-Wave Rad. Flux\n\n\nW/m^2\n\n\n\n\n\n\nULWRF\n\n\nUpward long-wave radiation flux\n\n\nW/m^2\n\n\n\n\n\n\n\n\nUpward Long-W/m^2\n\n\nULWRF\n\n\n\n\n\n\nUSWRF\n\n\nUpward Short-Wave Rad. Flux\n\n\nW/m^2\n\n\n\n\n\n\nUSWRF\n\n\nUpward short-wave radiation flux\n\n\nW/m^2\n\n\n\n\n\n\n\n\nUpward Short-W/m^2\n\n\nUSWRF\n\n\n\n\n\n\nUTRF\n\n\nUpward Total radiation Flux\n\n\nW/m^2\n\n\n\n\n\n\nDUVB\n\n\nUV-B downward solar flux\n\n\nW/m^2\n\n\n\n\n\n\nUVI\n\n\nUV Index\n\n\nJ/m^2\n\n\n\n\n\n\nUVIUCS\n\n\nUV Index (Under Clear Sky)\n\n\nNumeric\n\n\n\n\n\n\nVAPP\n\n\nVapor pressure\n\n\nPa\n\n\n\n\n\n\nVAPP\n\n\nVapor Pressure\n\n\nPa\n\n\n\n\n\n\nVOGRD\n\n\nv-component of current\n\n\ncm/s\n\n\n\n\n\n\nVOGRD\n\n\nv-component of current\n\n\nm/s\n\n\n\n\n\n\nMAXVW\n\n\nV Component of Hourly Maximum 10m Wind Speed\n\n\nm/s\n\n\n\n\n\n\nVICE\n\n\nv-component of ice drift\n\n\nm/s\n\n\n\n\n\n\nUGUST\n\n\nv-component of wind gust\n\n\nm/s\n\n\n\n\n\n\nVGRD\n\n\nv-component of wind\n\n\nm/s\n\n\n\n\n\n\nVSTM\n\n\nV-component storm motion\n\n\nm/s\n\n\n\n\n\n\nVSTM\n\n\nV-Component Storm Motion\n\n\nm/s\n\n\n\n\n\n\nVSSD\n\n\nV-component Surface Stokes Drift\n\n\nm/s\n\n\n\n\n\n\nVEGT\n\n\nVegetation canopy temperature\n\n\nK\n\n\n\n\n\n\nVGTYP\n\n\nVegetation Type\n\n\nInteger 0-13\n\n\n\n\n\n\nVEG\n\n\nVegetation\n\n\n%\n\n\n\n\n\n\nSPEED\n\n\nVelocity Magnitude (Speed)\n\n\nm*s^1\n\n\n\n\n\n\nLMV\n\n\nVelocity Point Model Surface\n\n\n\n\n\n\n\n\nVPOT\n\n\nVelocity potential\n\n\nm^2/s\n\n\n\n\n\n\nVRATE\n\n\nVentilation Rate\n\n\nm^2/s\n\n\n\n\n\n\nVDFHR\n\n\nVertical Diffusion Heating rate\n\n\nK/s\n\n\n\n\n\n\nVDFVA\n\n\nVertical Diffusion Meridional Acceleration\n\n\nm/s^2\n\n\n\n\n\n\nVDFMR\n\n\nVertical Diffusion Moistening Rate\n\n\nkg/kg*s\n\n\n\n\n\n\nVDFUA\n\n\nVertical Diffusion Zonal Acceleration\n\n\nm/s^2\n\n\n\n\n\n\nVEDH\n\n\nVertical Eddy Diffusivity Heat exchange\n\n\nm^2/s\n\n\n\n\n\n\nVTEC\n\n\nVertical Electron Content\n\n\nm^2\n\n\n\n\n\n\nVII\n\n\nVertically Integrated Ice (VII)\n\n\nkg/m^2\n\n\n\n\n\n\nVILIQ\n\n\nVertically-integrated liquid\n\n\nkg/m^2\n\n\n\n\n\n\nMRMSVILDensity\n\n\nVertically Integrated Liquid (VIL) Density\n\n\ng/m^3\n\n\n\n\n\n\nMRMSVIL\n\n\nVertically Integrated Liquid (VIL)\n\n\nkg/m^2\n\n\n\n\n\n\nVIL\n\n\nVertically Integrated Liquid (VIL)\n\n\nkg/m^2\n\n\n\n\n\n\nVWSH\n\n\nVertical speed shear\n\n\ns^-1\n\n\n\n\n\n\nVWSH\n\n\nVertical speed sheer\n\n\ns^-1\n\n\n\n\n\n\nVUCSH\n\n\nVertical u-component shear\n\n\ns^-1\n\n\n\n\n\n\nVVCSH\n\n\nVertical v-component shear\n\n\ns^-1\n\n\n\n\n\n\nDZDT\n\n\nVertical velocity geometric\n\n\nm/s\n\n\n\n\n\n\nVVEL\n\n\nVertical velocity pressure\n\n\nPa/s\n\n\n\n\n\n\nVPTMP\n\n\nVirtual potential temperature\n\n\nK\n\n\n\n\n\n\nVTMP\n\n\nVirtual temperature\n\n\nK\n\n\n\n\n\n\nVIS\n\n\nVisibility\n\n\nm\n\n\n\n\n\n\nVBDSF\n\n\nVisible Beam Downward Solar Flux\n\n\nW/m^2\n\n\n\n\n\n\nSBSALB\n\n\nVisible, Black Sky Albedo\n\n\n%\n\n\n\n\n\n\nVDDSF\n\n\nVisible Diffuse Downward Solar Flux\n\n\nW/m^2\n\n\n\n\n\n\nVisible\n\n\nVisible Imagery\n\n\n\n\n\n\n\n\nSWSALB\n\n\nVisible, White Sky Albedo\n\n\n%\n\n\n\n\n\n\nVASH\n\n\nVolcanic ash\n\n\n(Code table 4.206)\n\n\n\n\n\n\nVAFTD\n\n\nVolcanic Ash Forecast Transport and Dispersion\n\n\nlog10(kg/m^3)\n\n\n\n\n\n\nVOLASH\n\n\nVolcanic Ash\n\n\nSee Table 4.206\n\n\n\n\n\n\nVOLDEC\n\n\nVolumetric Direct Evaporation Cease(Soil Moisture)\n\n\nm^3/m^3\n\n\n\n\n\n\nVSOSM\n\n\nVolumetric Saturation Of Soil Moisture\n\n\nm^3/m^3\n\n\n\n\n\n\nSOILW\n\n\nVolumetric soil moisture content\n\n\nProportion\n\n\n\n\n\n\nVSOILM\n\n\nVolumetric Soil Moisture\n\n\nm^3/m^3\n\n\n\n\n\n\nVOLTSO\n\n\nVolumetric Transpiration Stree-Onset(Soil Moisture)\n\n\nm^3/m^3\n\n\n\n\n\n\nVWILTM\n\n\nVolumetric Wilting Moisture\n\n\nm^3/m^3\n\n\n\n\n\n\nWCINC\n\n\nWater condensate added by precip assimilation\n\n\nmm\n\n\n\n\n\n\nWCCONV\n\n\nWater Condensate Flux Convergance (Vertical Int)\n\n\nmm\n\n\n\n\n\n\nWCVFLX\n\n\nWater Condensate Meridional Flux (Vertical Int)\n\n\nmm\n\n\n\n\n\n\nWCUFLX\n\n\nWater Condensate Zonal Flux (Vertical Int)\n\n\nmm\n\n\n\n\n\n\nWEASD\n\n\nWater Equivalent of Accumulated Snow Depth\n\n\nkg m-2\n\n\n\n\n\n\nWEASD\n\n\nWater equivalent of accumulated snow depth\n\n\nmm\n\n\n\n\n\n\nWATR\n\n\nWater runoff\n\n\nmm\n\n\n\n\n\n\nTEMPWTR\n\n\nWater temperature\n\n\nK\n\n\n\n\n\n\nWVINC\n\n\nWater vapor added by precip assimilation\n\n\nmm\n\n\n\n\n\n\nWVCONV\n\n\nWater Vapor Flux Convergance (Vertical Int)\n\n\nmm\n\n\n\n\n\n\nWaterVapor\n\n\nWater Vapor Imagery\n\n\nK\n\n\n\n\n\n\nWVVFLX\n\n\nWater Vapor Meridional Flux (Vertical Int)\n\n\nmm\n\n\n\n\n\n\nWVUFLX\n\n\nWater Vapor Zonal Flux (Vertical Int)\n\n\nmm\n\n\n\n\n\n\nWDIRW\n\n\nWave Directional Width\n\n\n\n\n\n\n\n\nWESP\n\n\nWave Engery Spectrum\n\n\ns/m^2\n\n\n\n\n\n\nWVSP1\n\n\nWave spectra (1)\n\n\n\n\n\n\n\n\nWVSP2\n\n\nWave spectra (2)\n\n\n\n\n\n\n\n\nWVSP3\n\n\nWave spectra (3)\n\n\n\n\n\n\n\n\nWSTP\n\n\nWave Steepness\n\n\n\n\n\n\n\n\nWSTR\n\n\nWave Stress\n\n\nN/m^2\n\n\n\n\n\n\nwxType\n\n\nWeather\n\n\n\n\n\n\n\n\nModelWetbulbTemperature\n\n\nWet Bulb Temperature\n\n\nC\n\n\n\n\n\n\nWHTCOR\n\n\nWhite Light Coronagraph Radiance\n\n\nW*s*r^1*m^2\n\n\n\n\n\n\nWHTRAD\n\n\nWhite Light Radiance\n\n\nW*s*r^1*m^2\n\n\n\n\n\n\nWILT\n\n\nWilting Point\n\n\nkg/m^3\n\n\n\n\n\n\nWILT\n\n\nWilting point\n\n\nProportion\n\n\n\n\n\n\nWCI\n\n\nWind chill factor\n\n\nK\n\n\n\n\n\n\nWDIR\n\n\nWind direction (from which blowing)\n\n\ndeg\n\n\n\n\n\n\nWMIXE\n\n\nWind mixing energy\n\n\nJ\n\n\n\n\n\n\nWINDPROB\n\n\nWind probability\n\n\n%\n\n\n\n\n\n\nWINDPROB\n\n\nWind Probability\n\n\n%\n\n\n\n\n\n\nWGS\n\n\nWind speed gust\n\n\nm/s\n\n\n\n\n\n\nPWS\n\n\nWind speed\n\n\nm/s\n\n\n\n\n\n\nWIND\n\n\nWind speed\n\n\nm/s\n\n\n\n\n\n\nHGT X\n\n\nX-gradient of Height\n\n\nm^-1\n\n\n\n\n\n\nLPS X\n\n\nX-gradient of Log Pressure\n\n\nm^-1\n\n\n\n\n\n\nXRAYRAD\n\n\nX-Ray Radiance\n\n\nW*s*r^1*m^2\n\n\n\n\n\n\nHGT Y\n\n\nY-gradient of Height\n\n\nm^-1\n\n\n\n\n\n\nLPS Y\n\n\nY-gradient of Log Pressure\n\n\nm^-1\n\n\n\n\n\n\nUGWD\n\n\nZonal flux of gravity wave stress\n\n\nN/m^2\n\n\n\n\n\n\nU-GWD\n\n\nZonal Flux of Gravity Wave Stress\n\n\nN/m^2",
"title": "AWIPS Grid Parameters"
},
{
"location": "/appendix/appendix-acronyms/",
"text": "A\n\uf0c1\n\n\n\n\nACARS - Aircraft Communications Addressing and Reporting System\n\n\nAEV - AFOS-Era Verification\n\n\nAFOS - Automation of Field Operations and Services\n\n\nAGL - above ground level\n\n\nAI - AWIPS Identifier\n\n\nAMSU - Advanced Microwave Sounding Unit\n\n\nARD - AWIPS Remote Display\n\n\nASL - Above Sea Level\n\n\nASOS - Automated Surface Observing System\n\n\nASR - Airport Surveillance Radar\n\n\nATMS - Advanced Technology Microwave Sounder\n\n\nAvnFPS - Aviation Forecast Preparation System\n\n\nAVP - AWIPS Verification Program\n\n\nAWC - Aviation Weather Center\n\n\nAWIPS - Advanced Weather Interactive Processing System\n\n\n\n\nB\n\uf0c1\n\n\n\n\nBGAN - Broadboand Global Area Network\n\n\nBUFR - Binary Universal Form for the Representation of meteorological data\n\n\n\n\nC\n\uf0c1\n\n\n\n\nCAPE - Convective Available Potential Energy\n\n\nCAVE - Common AWIPS Visualization Environment\n\n\nCC - Correlation Coefficient\n\n\nCCF - Coded Cities Forecast\n\n\nCCFP - Collaborative Convective Forecast Product\n\n\nCCL - Convective Condensation Level\n\n\nCDP - Cell Display Parameters\n\n\nCFC - Clutter Filter Control\n\n\nCGI - Common Gateway Interface\n\n\nCIN - Convective Inhibition\n\n\nCITR - Commerce Information Technology Requirement\n\n\nCONUS - Conterminous/Contiguous/Continental United States\n\n\nCOOP - Continuity Of Operations Planning\n\n\nCOTS - commercial off-the-shelf\n\n\nCrIMSS - Cross-track Infrared and Microwave Sounder Suite\n\n\nCrIS - Cross-track Infrared Sounder\n\n\nCWA - County Warning Area\n\n\nCWSU - Center Weather Service Unit\n\n\nCZ - Composite Reflectivity\n\n\n\n\nD\n\uf0c1\n\n\n\n\nD2D - Display 2 Dimensions\n\n\nDFM - Digital Forecast Matrix\n\n\nDMD - Digital Mesocyclone Display\n\n\nDMS - Data Monitoring System\n\n\nDOC - Department of Commerce\n\n\nDPA - Digital Precipitation Array\n\n\n\n\nE\n\uf0c1\n\n\n\n\nECMWF - European Centre for Medium-Range Forecasts\n\n\nEDEX - Enterprise Data EXchange\n\n\nEMC - Environmental Modeling Center\n\n\nEL - Equilibrium Level\n\n\nESA - Electronic Systems Analyst\n\n\nESRL - Earth System Research Laboratory\n\n\n\n\nF\n\uf0c1\n\n\n\n\nFFG - Flash Flood Guidance\n\n\nFFFG - Forced Flash Flood Guidance\n\n\nFFMP - Flash Flood Monitoring and Prediction\n\n\nFFMPA - Flash Flood Monitoring and Prediction: Advanced\n\n\nFFTI - Flash Flood Threat Index\n\n\nFFW - Flash Flood Warning\n\n\nFSL - Forecast Systems Laboratory\n\n\n\n\nG\n\uf0c1\n\n\n\n\nGFE - Graphical Forecast Editor\n\n\nGFS - Global Forecasting Systems\n\n\nGHG - Graphical Hazards Generator\n\n\nGIS - Geographic Information Systems\n\n\nGMT - Greenwich Mean Time\n\n\nGOES - Geostationary Operational Environmental Satellite\n\n\nGSD - Global System Division\n\n\n\n\nH\n\uf0c1\n\n\n\n\nHC - Hydrometeor Classification\n\n\nHI - Hail Index\n\n\nHM - Hydromet\n\n\nHPC - Hydrologic Precipitation Center\n\n\nHWR - Hourly Weather Roundup\n\n\n\n\nI\n\uf0c1\n\n\n\n\nICAO - International Civil Aviation Organization\n\n\nIFP - Interactive Forecast Program\n\n\nIFPS - Interactive Forecast Preparation System\n\n\nIHFS - Integrated Hydrologic Forecast System\n\n\nIMET - Incident Meteorologist\n\n\nIR - infrared\n\n\nISS - Incident Support Specialist IST - Interactive Skew-T\n\n\n\n\nJ\n\uf0c1\n\n\n\n\nJMS - Java Messaging System\n\n\n\n\nK\n\uf0c1\n\n\n\n\nKDP - Specific Differential Phase\n\n\nKML - Keyhole Markup Language\n\n\nKMZ - KML zipped (compressed).\n\n\n\n\nL\n\uf0c1\n\n\n\n\nLAC - Listening Area Code\n\n\nLAMP - Localized Aviation MOS Program\n\n\nLAN - Local Area Network\n\n\nLAPS - Local Analysis and Prediction System\n\n\nLARC - Local Automatic Remote Collector\n\n\nLCL - Lifting Condensation Level\n\n\nLDAD - Local Data Acquisition and Dissemination\n\n\nLFC - Level of Free Convection\n\n\nLSR - Local Storm Report\n\n\n\n\nM\n\uf0c1\n\n\n\n\nMAPS - Mesoscale Analysis and Prediction System\n\n\nmb - millibar; pressure\n\n\nMDCRS - Meteorological Data Collection and Receiving System\n\n\nMDL - Meteorological Development Laboratory\n\n\nMDP - Mesocyclone Display Parameters\n\n\nMDPI - Microburst-Day Potential Index\n\n\nMEF - Manually Entered Forecast\n\n\nMETAR - Meteorological Aviation Report\n\n\nMHS - message handling system\n\n\nML - Melting Layer\n\n\nMND - Mass News Dissemination\n\n\nMOS - Model Output Statistics\n\n\nMPC - Marine Prediction Center\n\n\nMPE - Multisensor Precipitation Estimator\n\n\nMRD - Message Reference Descriptor\n\n\nMRU - Meso Rapid Update\n\n\nMSAS - MAPS Surface Assimilation System\n\n\nMSL - Mean Sea Level\n\n\n\n\nN\n\uf0c1\n\n\n\n\nNAM - North American Mesoscale model\n\n\nNCEP - National Centers for Environmental Prediction\n\n\nNCF - Network Control Facility\n\n\nNDFD - National Digital Forecast Database\n\n\nNE-PAC - Northeastern Pacific\n\n\nNESDIS - National Environmental Satellite, Data and Information Service\n\n\nNH - Northern Hemisphere\n\n\nnMi - nautical miles\n\n\nNOAA - National Oceanic and Atmospheric Administration\n\n\nNPN - NOAA Profiler Network\n\n\nNPP - Suomi National Polar-orbiting Partnership\n\n\nNUCAPS - NOAA Unique CrIS/ATMS Processing Systems\n\n\nNWP - Numerical Weather Prediction\n\n\nNWR - NOAA Weather Radio\n\n\nNWS - National Weather Service\n\n\nNWRWAVES - NOAA Weather Radio With All-Hazards VTEC Enhanced Software\n\n\nNWSRFS - National Weather Service River Forecast System\n\n\nNWWS - NOAA Weather Wire Service\n\n\n\n\nO\n\uf0c1\n\n\n\n\nOCP - Ocean Prediction Center\n\n\nOH - Office of Hydrology\n\n\nOPC - Ocean Prediction Center\n\n\nORPG - Open Radar Products Generator\n\n\nOSD - One Hour Snow Depth\n\n\nOSW - One Hour Snow Water\n\n\nOTR - One Time Request\n\n\n\n\nP\n\uf0c1\n\n\n\n\nPID - Product Identification\n\n\nPIL - Product Inventory List\n\n\nPIREP - Pilot Weather Report\n\n\nPOES - Polar Operational Environmental Satellite\n\n\nPOSH - Probability of Severe Hail\n\n\nPOH - Probability of Hail\n\n\nPOP - Probability of Precipitation\n\n\nPQPF - Probabilistic QPF\n\n\nPRF - Pulse Repetition Frequency\n\n\n\n\nQ\n\uf0c1\n\n\n\n\nQC - quality control\n\n\nQCMS - Quality Control and Monitoring System\n\n\nQPE - Quantitative Precipitation Estimator\n\n\nQPF - Quantitative Precipitation Forecast\n\n\nQPS - Quantitative Precipitation Summary\n\n\n\n\nR\n\uf0c1\n\n\n\n\nRAOB - Radiosonde Observation\n\n\nRAP - Rapid Refresh (Replaced RUC)\n\n\nRCM - Radar Coded Message\n\n\nRER - Record Report\n\n\nRFC - River Forecast Center\n\n\nRGB - Red, Green, Blue\n\n\nRHI - Range Height Indicator\n\n\nRMR - Radar Multiple Request\n\n\nROSA - Remote Observing System Automation\n\n\nRPG - Radar Product Generator\n\n\nRPS - routine product set\n\n\nRTD - Requirements Traceability Document; Routine, Delayed\n\n\nRTMA - Real Time Mesoscale Analysts\n\n\nRUC - Rapid Update Cycle (Replaced by RAP)\n\n\n\n\nS\n\uf0c1\n\n\n\n\nSAFESEAS - System on AWIPS for Forecasting and Evaluation of Seas and Lakes\n\n\nSBN - Satellite Broadcast Network\n\n\nSCAN - System for Convection Analysis and Nowcasting\n\n\nSCD - Supplementary Climatological Data\n\n\nSCID - Storm Cell Identification Display\n\n\nSCP - Satellite Cloud Product\n\n\nSCTI - SCAN CWA Threat Index\n\n\nSDC - State Distribution Circuit\n\n\nSNOW - System for Nowcasting Of Winter Weather\n\n\nSOO - Science and Operations Officer\n\n\nSPC - Storm Prediction Center\n\n\nSPE - Satellite Precipitation Estimate\n\n\nSREF - Short Range Ensemble Forecast\n\n\nSRG - Supplemental Product Generator\n\n\nSRM - Storm Relative Motion\n\n\nSSD - Storm-Total Snow Depth\n\n\nSSM/I - Special Sensor Microwave/Imager\n\n\nSSW - Storm-Total Snow Water\n\n\nSTI - Storm Track Information\n\n\nSuomi NPP - Suomi National Polar-orbiting Partnership\n\n\nSW - Spectrum Width\n\n\nSWEAT Index - Severe Weather Threat Index\n\n\nSWP - Severe Weather Probability\n\n\n\n\nT\n\uf0c1\n\n\n\n\nTAF - Terminal Aerodrome Forecast (international code)\n\n\nTAFB - Tropical Analysis and Forecast Branch\n\n\nTCM - Marine/Tropical Cyclone Advisory\n\n\nTCP - Public Tropical Cyclone Advisory\n\n\nTDWR - Terminal Doppler Weather Radio\n\n\nTE-PAC - Tropical Pacific\n\n\nTMI - Text Message Intercept\n\n\nTRU - TVS Rapid Update\n\n\nTT - Total Totals\n\n\nTVS - Tornado Vortex Signature\n\n\nTWB - Transcribed Weather Broadcasts\n\n\n\n\nU\n\uf0c1\n\n\n\n\nUGC - Universal Geographic Code\n\n\nULR - User Selectable Layer Reflectivity\n\n\nURL - Universal Resource Locator\n\n\nUSD - User Selectable Snow Depth\n\n\nUSW - User Selectable Snow Water\n\n\nUTC - Coordinated Universal Time\n\n\n\n\nV\n\uf0c1\n\n\n\n\nVAD - Velocity Azimuth Display\n\n\nVCP - volume coverage pattern\n\n\nVIIR - Visible Infrared Imager Radiometer Suite\n\n\nVIL - Vertically Integrated Liquid\n\n\nVTEC - Valid Time and Event Code\n\n\nVWP - VAD Wind Profile\n\n\n\n\nW\n\uf0c1\n\n\n\n\nW-ATL - Western Atlantic\n\n\nWFO - Weather Forecast Office\n\n\nWINDEX - Wind Index\n\n\nWMO - World Meteorological Organization\n\n\nWSFO - Weather Service Forecast Office\n\n\nWSO - Weather Service Office\n\n\nWSOM - Weather Service Operations Manual\n\n\nWSR-88D - Weather Surveillance Radar-1988 Doppler\n\n\nWWA - Watch Warning Advisory\n\n\nWV - water vapor\n\n\n\n\nZ\n\uf0c1\n\n\n\n\nZ - Reflectivity\n\n\nZDR - Differential Reflectivity",
"title": "Acronyms and Abbreviations"
},
{
"location": "/appendix/appendix-acronyms/#a",
"text": "ACARS - Aircraft Communications Addressing and Reporting System AEV - AFOS-Era Verification AFOS - Automation of Field Operations and Services AGL - above ground level AI - AWIPS Identifier AMSU - Advanced Microwave Sounding Unit ARD - AWIPS Remote Display ASL - Above Sea Level ASOS - Automated Surface Observing System ASR - Airport Surveillance Radar ATMS - Advanced Technology Microwave Sounder AvnFPS - Aviation Forecast Preparation System AVP - AWIPS Verification Program AWC - Aviation Weather Center AWIPS - Advanced Weather Interactive Processing System",
"title": "A"
},
{
"location": "/appendix/appendix-acronyms/#b",
"text": "BGAN - Broadboand Global Area Network BUFR - Binary Universal Form for the Representation of meteorological data",
"title": "B"
},
{
"location": "/appendix/appendix-acronyms/#c",
"text": "CAPE - Convective Available Potential Energy CAVE - Common AWIPS Visualization Environment CC - Correlation Coefficient CCF - Coded Cities Forecast CCFP - Collaborative Convective Forecast Product CCL - Convective Condensation Level CDP - Cell Display Parameters CFC - Clutter Filter Control CGI - Common Gateway Interface CIN - Convective Inhibition CITR - Commerce Information Technology Requirement CONUS - Conterminous/Contiguous/Continental United States COOP - Continuity Of Operations Planning COTS - commercial off-the-shelf CrIMSS - Cross-track Infrared and Microwave Sounder Suite CrIS - Cross-track Infrared Sounder CWA - County Warning Area CWSU - Center Weather Service Unit CZ - Composite Reflectivity",
"title": "C"
},
{
"location": "/appendix/appendix-acronyms/#d",
"text": "D2D - Display 2 Dimensions DFM - Digital Forecast Matrix DMD - Digital Mesocyclone Display DMS - Data Monitoring System DOC - Department of Commerce DPA - Digital Precipitation Array",
"title": "D"
},
{
"location": "/appendix/appendix-acronyms/#e",
"text": "ECMWF - European Centre for Medium-Range Forecasts EDEX - Enterprise Data EXchange EMC - Environmental Modeling Center EL - Equilibrium Level ESA - Electronic Systems Analyst ESRL - Earth System Research Laboratory",
"title": "E"
},
{
"location": "/appendix/appendix-acronyms/#f",
"text": "FFG - Flash Flood Guidance FFFG - Forced Flash Flood Guidance FFMP - Flash Flood Monitoring and Prediction FFMPA - Flash Flood Monitoring and Prediction: Advanced FFTI - Flash Flood Threat Index FFW - Flash Flood Warning FSL - Forecast Systems Laboratory",
"title": "F"
},
{
"location": "/appendix/appendix-acronyms/#g",
"text": "GFE - Graphical Forecast Editor GFS - Global Forecasting Systems GHG - Graphical Hazards Generator GIS - Geographic Information Systems GMT - Greenwich Mean Time GOES - Geostationary Operational Environmental Satellite GSD - Global System Division",
"title": "G"
},
{
"location": "/appendix/appendix-acronyms/#h",
"text": "HC - Hydrometeor Classification HI - Hail Index HM - Hydromet HPC - Hydrologic Precipitation Center HWR - Hourly Weather Roundup",
"title": "H"
},
{
"location": "/appendix/appendix-acronyms/#i",
"text": "ICAO - International Civil Aviation Organization IFP - Interactive Forecast Program IFPS - Interactive Forecast Preparation System IHFS - Integrated Hydrologic Forecast System IMET - Incident Meteorologist IR - infrared ISS - Incident Support Specialist IST - Interactive Skew-T",
"title": "I"
},
{
"location": "/appendix/appendix-acronyms/#j",
"text": "JMS - Java Messaging System",
"title": "J"
},
{
"location": "/appendix/appendix-acronyms/#k",
"text": "KDP - Specific Differential Phase KML - Keyhole Markup Language KMZ - KML zipped (compressed).",
"title": "K"
},
{
"location": "/appendix/appendix-acronyms/#l",
"text": "LAC - Listening Area Code LAMP - Localized Aviation MOS Program LAN - Local Area Network LAPS - Local Analysis and Prediction System LARC - Local Automatic Remote Collector LCL - Lifting Condensation Level LDAD - Local Data Acquisition and Dissemination LFC - Level of Free Convection LSR - Local Storm Report",
"title": "L"
},
{
"location": "/appendix/appendix-acronyms/#m",
"text": "MAPS - Mesoscale Analysis and Prediction System mb - millibar; pressure MDCRS - Meteorological Data Collection and Receiving System MDL - Meteorological Development Laboratory MDP - Mesocyclone Display Parameters MDPI - Microburst-Day Potential Index MEF - Manually Entered Forecast METAR - Meteorological Aviation Report MHS - message handling system ML - Melting Layer MND - Mass News Dissemination MOS - Model Output Statistics MPC - Marine Prediction Center MPE - Multisensor Precipitation Estimator MRD - Message Reference Descriptor MRU - Meso Rapid Update MSAS - MAPS Surface Assimilation System MSL - Mean Sea Level",
"title": "M"
},
{
"location": "/appendix/appendix-acronyms/#n",
"text": "NAM - North American Mesoscale model NCEP - National Centers for Environmental Prediction NCF - Network Control Facility NDFD - National Digital Forecast Database NE-PAC - Northeastern Pacific NESDIS - National Environmental Satellite, Data and Information Service NH - Northern Hemisphere nMi - nautical miles NOAA - National Oceanic and Atmospheric Administration NPN - NOAA Profiler Network NPP - Suomi National Polar-orbiting Partnership NUCAPS - NOAA Unique CrIS/ATMS Processing Systems NWP - Numerical Weather Prediction NWR - NOAA Weather Radio NWS - National Weather Service NWRWAVES - NOAA Weather Radio With All-Hazards VTEC Enhanced Software NWSRFS - National Weather Service River Forecast System NWWS - NOAA Weather Wire Service",
"title": "N"
},
{
"location": "/appendix/appendix-acronyms/#o",
"text": "OCP - Ocean Prediction Center OH - Office of Hydrology OPC - Ocean Prediction Center ORPG - Open Radar Products Generator OSD - One Hour Snow Depth OSW - One Hour Snow Water OTR - One Time Request",
"title": "O"
},
{
"location": "/appendix/appendix-acronyms/#p",
"text": "PID - Product Identification PIL - Product Inventory List PIREP - Pilot Weather Report POES - Polar Operational Environmental Satellite POSH - Probability of Severe Hail POH - Probability of Hail POP - Probability of Precipitation PQPF - Probabilistic QPF PRF - Pulse Repetition Frequency",
"title": "P"
},
{
"location": "/appendix/appendix-acronyms/#q",
"text": "QC - quality control QCMS - Quality Control and Monitoring System QPE - Quantitative Precipitation Estimator QPF - Quantitative Precipitation Forecast QPS - Quantitative Precipitation Summary",
"title": "Q"
},
{
"location": "/appendix/appendix-acronyms/#r",
"text": "RAOB - Radiosonde Observation RAP - Rapid Refresh (Replaced RUC) RCM - Radar Coded Message RER - Record Report RFC - River Forecast Center RGB - Red, Green, Blue RHI - Range Height Indicator RMR - Radar Multiple Request ROSA - Remote Observing System Automation RPG - Radar Product Generator RPS - routine product set RTD - Requirements Traceability Document; Routine, Delayed RTMA - Real Time Mesoscale Analysts RUC - Rapid Update Cycle (Replaced by RAP)",
"title": "R"
},
{
"location": "/appendix/appendix-acronyms/#s",
"text": "SAFESEAS - System on AWIPS for Forecasting and Evaluation of Seas and Lakes SBN - Satellite Broadcast Network SCAN - System for Convection Analysis and Nowcasting SCD - Supplementary Climatological Data SCID - Storm Cell Identification Display SCP - Satellite Cloud Product SCTI - SCAN CWA Threat Index SDC - State Distribution Circuit SNOW - System for Nowcasting Of Winter Weather SOO - Science and Operations Officer SPC - Storm Prediction Center SPE - Satellite Precipitation Estimate SREF - Short Range Ensemble Forecast SRG - Supplemental Product Generator SRM - Storm Relative Motion SSD - Storm-Total Snow Depth SSM/I - Special Sensor Microwave/Imager SSW - Storm-Total Snow Water STI - Storm Track Information Suomi NPP - Suomi National Polar-orbiting Partnership SW - Spectrum Width SWEAT Index - Severe Weather Threat Index SWP - Severe Weather Probability",
"title": "S"
},
{
"location": "/appendix/appendix-acronyms/#t",
"text": "TAF - Terminal Aerodrome Forecast (international code) TAFB - Tropical Analysis and Forecast Branch TCM - Marine/Tropical Cyclone Advisory TCP - Public Tropical Cyclone Advisory TDWR - Terminal Doppler Weather Radio TE-PAC - Tropical Pacific TMI - Text Message Intercept TRU - TVS Rapid Update TT - Total Totals TVS - Tornado Vortex Signature TWB - Transcribed Weather Broadcasts",
"title": "T"
},
{
"location": "/appendix/appendix-acronyms/#u",
"text": "UGC - Universal Geographic Code ULR - User Selectable Layer Reflectivity URL - Universal Resource Locator USD - User Selectable Snow Depth USW - User Selectable Snow Water UTC - Coordinated Universal Time",
"title": "U"
},
{
"location": "/appendix/appendix-acronyms/#v",
"text": "VAD - Velocity Azimuth Display VCP - volume coverage pattern VIIR - Visible Infrared Imager Radiometer Suite VIL - Vertically Integrated Liquid VTEC - Valid Time and Event Code VWP - VAD Wind Profile",
"title": "V"
},
{
"location": "/appendix/appendix-acronyms/#w",
"text": "W-ATL - Western Atlantic WFO - Weather Forecast Office WINDEX - Wind Index WMO - World Meteorological Organization WSFO - Weather Service Forecast Office WSO - Weather Service Office WSOM - Weather Service Operations Manual WSR-88D - Weather Surveillance Radar-1988 Doppler WWA - Watch Warning Advisory WV - water vapor",
"title": "W"
},
{
"location": "/appendix/appendix-acronyms/#z",
"text": "Z - Reflectivity ZDR - Differential Reflectivity",
"title": "Z"
},
{
"location": "/appendix/appendix-cots/",
"text": "COTS and FOSS used in AWIPS\n\n\n\n\n\n\n\n\nComponent\n\n\nVersion\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nActiveMQ\n\n\n5.12.0\n\n\nJMS (still used by AlertViz and internally in parts of Camel)\n\n\n\n\n\n\nApache Batik\n\n\n1.8\n\n\nBatik is a Java-based toolkit for applications or applets that want to use images in the Scalable Vector Graphics (SVG) format for various purposes, such as display, generation or manipulation.\n\n\n\n\n\n\nApache MINA\n\n\n1.1.7\n\n\nNetwork application framework\n\n\n\n\n\n\nApache WSS4J\n\n\n1.6.5\n\n\nWeb Services Security\n\n\n\n\n\n\nAnt\n\n\n1.9.6\n\n\nJava Build Tool\n\n\n\n\n\n\nAnt-Contrib\n\n\n1.0b3\n\n\nAdditional useful tasks and types for Ant\n\n\n\n\n\n\nAntlr\n\n\n2.7.6\n\n\nParser generator\n\n\n\n\n\n\nAtomikos TransactionEssentials\n\n\n3.6.2\n\n\nTransaction management system\n\n\n\n\n\n\nBitstream Vera Fonts\n\n\n1.10\n\n\nFont library from Gnome\n\n\n\n\n\n\nbzip2\n\n\nnone\n\n\nStream compression algorithm\n\n\n\n\n\n\nC3p0\n\n\n0.9.1\n\n\nc3p0 is an easy-to-use library for making traditional JDBC drivers \"enterprise-ready\" by augmenting them with functionality defined by the jdbc3 spec and the optional extensions to jdbc2.\n\n\n\n\n\n\nCamel\n\n\n2.4\n\n\nEnterprise Service Bus\n\n\n\n\n\n\ncglib\n\n\n2.2\n\n\nByte Code Generation Library is high level API to generate and transform JAVA byte code.\n\n\n\n\n\n\ncommons-beanutils\n\n\n1.8.3\n\n\nApache Common Libraries\n\n\n\n\n\n\ncommons-codec\n\n\n1.4.1\n\n\nApache Common Libraries\n\n\n\n\n\n\ncommons-collection\n\n\n3.2\n\n\nApache Common Libraries\n\n\n\n\n\n\ncommons-configuration\n\n\n1.6\n\n\nApache Common Libraries\n\n\n\n\n\n\nCommons-cli\n\n\n1.2\n\n\nApache Common Libraries\n\n\n\n\n\n\ncommons-digester\n\n\n1.8.1\n\n\nApache Common Libraries\n\n\n\n\n\n\ncommons-cxf\n\n\n2.5\n\n\nApache Common Libraries\n\n\n\n\n\n\ncommons-httpclient\n\n\n3.1\n\n\nApache Common Libraries\n\n\n\n\n\n\ncommons-lang\n\n\n2.3\n\n\nApache Common Libraries\n\n\n\n\n\n\ncommons-logging\n\n\n1.1.1\n\n\nApache Common Libraries\n\n\n\n\n\n\ncommons-management\n\n\n1.0\n\n\nApache Common Libraries\n\n\n\n\n\n\ncommons-pool\n\n\n1.3\n\n\nApache Common Libraries\n\n\n\n\n\n\ncommons-validator\n\n\n1.2\n\n\nApache Common Libraries\n\n\n\n\n\n\ncycler\n\n\n0.10.0\n\n\nPython library for composable style cycles\n\n\n\n\n\n\nCython\n\n\n0.27.2\n\n\nSuperset of the Python programming language, designed to give C-like performance with code that is mostly written in Python\n\n\n\n\n\n\ndateutil\n\n\n2.6.1\n\n\nPython extension to the standard datetime module\n\n\n\n\n\n\ndom4j\n\n\n1.6.1\n\n\nAn open source library for working with XML, XPath, and XSLT on the Java platform using the Java Collections Framework\n\n\n\n\n\n\ndwr (direct web remoting) Getahead\n\n\n1.1.3\n\n\nJava open source library\n\n\n\n\n\n\nEclipse\n\n\n4.5.1\n\n\nJava IDE\n\n\n\n\n\n\nehcache\n\n\n1.3.0\n\n\nCaching Support\n\n\n\n\n\n\nGEOS\n\n\n3.6.2\n\n\nGeometry Engine, Required for PostGIS\n\n\n\n\n\n\nGeoTools Java API\n\n\n2.6.4\n\n\nJava API for Manipulation of Geospatial Data\n\n\n\n\n\n\nGRIBJava\n\n\n8.0\n\n\nGrib Java Decoder\n\n\n\n\n\n\nh5py\n\n\n1.3.0\n\n\nHDF5 for Python\n\n\n\n\n\n\nhdf5\n\n\n1.8.4-patch1\n\n\nCore HDF5 APIs\n\n\n\n\n\n\nhdf5\n\n\n2.5\n\n\nCore HDF5 APIs\n\n\n\n\n\n\nHibernate\n\n\n3.5.0\n\n\nData Access Layer\n\n\n\n\n\n\nIzPack\n\n\n4.2.0\n\n\nInstaller creator for EDEX\n\n\n\n\n\n\nJAI\n\n\n1.1.3\n\n\nJava API for Image Manipulation\n\n\n\n\n\n\nJAI \u2013 Image I/O\n\n\n1.1\n\n\nPlug-ins for JAI\n\n\n\n\n\n\nJasper\n\n\n1.900.1\n\n\nJPEG-2000 codec\n\n\n\n\n\n\nJava\n\n\n1.8u101\n\n\nKit for both 32-bit and 64-bit\n\n\n\n\n\n\nJep\n\n\n2.3+\n\n\nJava Python interface\n\n\n\n\n\n\njogamp\n\n\n2.3.2\n\n\nProvides hardware-supported 3D graphics\n\n\n\n\n\n\nJTS Topology Suite\n\n\n1.10\n\n\nJava API for 2D spatial data\n\n\n\n\n\n\nlapack\n\n\n3.0.0\n\n\nLinear Algebra Package for python\n\n\n\n\n\n\nldm\n\n\n6.13.6\n\n\nLocal Data Manager\n\n\n\n\n\n\nLog4J\n\n\n1.2.16\n\n\nLogging Component used by Commons Logging\n\n\n\n\n\n\nlibgfortran\n\n\n4.1.2\n\n\nFortran Library\n\n\n\n\n\n\nmatplotlib\n\n\n1.5.3\n\n\nPython 2D Plotting Library\n\n\n\n\n\n\nMozilla Rhino\n\n\n1.6R7\n\n\nImplementation of JavaScript embedded in Java\n\n\n\n\n\n\nNCEP Grib2 Libraries\n\n\n\n\nLibraries for decoding & encoding data in GRIB2 format\n\n\n\n\n\n\n\u00a0\u00a0\u00a0\u00a0cnvgrib\n\n\n1.1.8 and 11.9\n\n\nFortran GRIB1 <--> GRIB2 conversion utility\n\n\n\n\n\n\n\u00a0\u00a0\u00a0\u00a0g2clib\n\n\n1.1.8\n\n\n\"C\" grib2 encoder/decoder\n\n\n\n\n\n\n\u00a0\u00a0\u00a0\u00a0g2lib\n\n\n1.1.8 and 1.1.9\n\n\nFortran grib2 encoder/decoder and search/indexing routines\n\n\n\n\n\n\n\u00a0\u00a0\u00a0\u00a0w3lib\n\n\n1.6 and 1.7.1\n\n\nFortran grib1 encoder/decoder and utilities\n\n\n\n\n\n\nNumPy\n\n\n1.9.3\n\n\nNumerical Python Scientific package for Python\n\n\n\n\n\n\nobjectweb asm\n\n\n2.1\n\n\nASM is an all-purpose Java bytecode manipulation and analysis framework. It can be used to modify existing classes or dynamically generate classes, directly in binary form\n\n\n\n\n\n\nPostGIS\n\n\n2.4.4\n\n\nGeographic Object Support for PostgreSQL\n\n\n\n\n\n\nPostgreSQL\n\n\n9.5.13\n\n\nDatabase\n\n\n\n\n\n\nProj\n\n\n5.1.0\n\n\nCartographic Projections library\n\n\n\n\n\n\npydev\n\n\n1.5\n\n\nPython Development Environment\n\n\n\n\n\n\nPyParsing\n\n\n2.2.0\n\n\nPython class library for the easy construction of recursive-descent parsers\n\n\n\n\n\n\nPyTables\n\n\n3.4.2\n\n\nPython package for managing hierarchical datasets\n\n\n\n\n\n\npytz\n\n\n2015.4\n\n\nWorld Timezone Definitions for Python\n\n\n\n\n\n\nPython\n\n\n2.7.13\n\n\nDynamic programming language\n\n\n\n\n\n\nPython megawidgets\n\n\n1.3.2\n\n\nToolkit for building high-level compound widgets in Python using the Tkinter module\n\n\n\n\n\n\nPython Setuptools\n\n\n28.6.0\n\n\nTools to download, build, install, upgrade, and uninstall Python packages\n\n\n\n\n\n\nQpid\n\n\n6.1.4\n\n\nOpen Source AMQP (Advanced Message Queuing Protocol) Messaging\n\n\n\n\n\n\nScientificPython\n\n\n2.8.1\n\n\nPython library for common tasks in scientific computing\n\n\n\n\n\n\nShapely\n\n\n1.6.4\n\n\nPython package for manipulation and analysis of planar geometric objects.\n\n\n\n\n\n\nSix\n\n\n1.11.0\n\n\nPython 2 and 3 Compatibility Library\n\n\n\n\n\n\nslf4j\n\n\n1.6.1\n\n\nThe Simple Logging Facade for Java or (SLF4J) serves as a simple facade or abstraction for various logging frameworks\n\n\n\n\n\n\nsmack\n\n\n2.2.1\n\n\nSmack is an Open Source XMPP (Jabber) client library for instant messaging and presence.\n\n\n\n\n\n\nstomp.py\n\n\nrevision 18\n\n\nPython client library for accessing messaging servers\n\n\n\n\n\n\nSpring Framework OSGI\n\n\n1.2.0\n\n\ndynamic modules\n\n\n\n\n\n\nSpring Framework\n\n\n2.5.6\n\n\nLayered Java/J2EE application platform\n\n\n\n\n\n\nSubclipse\n\n\n1.4.8\n\n\nEclipse plugin for Subversion support\n\n\n\n\n\n\nSWT Add-ons\n\n\n0.1.1\n\n\nAdd-ons for Eclipse SWT widgets\n\n\n\n\n\n\nSymphony OGNL\n\n\n2.7.3\n\n\nObject-Graph Navigation Language; an expression language for getting/setting properties of Java objects.\n\n\n\n\n\n\nThrift\n\n\n20080411p1-3\n\n\nBinary Serialization Framework\n\n\n\n\n\n\nTomcat Native\n\n\n1.1.17\n\n\nLibrary for native memory control\n\n\n\n\n\n\nutilconcurrent\n\n\n1.3.2\n\n\nUtility classes\n\n\n\n\n\n\nVelocity\n\n\n1.5.0\n\n\nTemplating Engine\n\n\n\n\n\n\nwerkzeug\n\n\n0.12.1\n\n\nPython WSGI utility library\n\n\n\n\n\n\nWildfire\n\n\n3.1.1\n\n\nCollaboration Server\n\n\n\n\n\n\nxmltask\n\n\n1.15.1\n\n\nFacility for automatically editing XML files as part of an Ant build",
"title": "COTS and FOSS"
},
{
"location": "/appendix/appendix-wsr88d/",
"text": "Product Name\n\n\nMnemonic\n\n\nID\n\n\nLevels\n\n\nRes\n\n\nElevation\n\n\n\n\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n19\n\n\n16\n\n\n100\n\n\n.5\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n19\n\n\n16\n\n\n100\n\n\n1.5\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n19\n\n\n16\n\n\n100\n\n\n2.5\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n19\n\n\n16\n\n\n100\n\n\n3.5\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n20\n\n\n16\n\n\n200\n\n\n.5\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n27\n\n\n16\n\n\n100\n\n\n.5\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n27\n\n\n16\n\n\n100\n\n\n1.5\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n27\n\n\n16\n\n\n100\n\n\n2.5\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n27\n\n\n16\n\n\n100\n\n\n3.5\n\n\n\n\n\n\nStorm Rel Velocity (SRM)\n\n\nSRM\n\n\n56\n\n\n16\n\n\n100\n\n\n.5\n\n\n\n\n\n\nStorm Rel Velocity (SRM)\n\n\nSRM\n\n\n56\n\n\n16\n\n\n100\n\n\n1.5\n\n\n\n\n\n\nStorm Rel Velocity (SRM)\n\n\nSRM\n\n\n56\n\n\n16\n\n\n100\n\n\n2.5\n\n\n\n\n\n\nStorm Rel Velocity (SRM)\n\n\nSRM\n\n\n56\n\n\n16\n\n\n100\n\n\n3.5\n\n\n\n\n\n\nComposite Ref (CZ)\n\n\nCZ\n\n\n37\n\n\n16\n\n\n100\n\n\n-1\n\n\n\n\n\n\nComposite Ref (CZ)\n\n\nCZ\n\n\n38\n\n\n16\n\n\n400\n\n\n-1\n\n\n\n\n\n\nLyr Comp Ref Max (LRM) Level 1\n\n\nLRM\n\n\n65\n\n\n8\n\n\n0\n\n\n-1\n\n\n\n\n\n\nLyr Comp Ref Max (LRM) Level 2\n\n\nLRM\n\n\n66\n\n\n8\n\n\n0\n\n\n-1\n\n\n\n\n\n\nLyr Comp Ref Max (LRM) Level 3\n\n\nLRM\n\n\n90\n\n\n8\n\n\n0\n\n\n-1\n\n\n\n\n\n\nLyr Comp Ref MAX (APR)\n\n\nAPR\n\n\n67\n\n\n16\n\n\n0\n\n\n-1\n\n\n\n\n\n\nEcho Tops (ET)\n\n\nET\n\n\n41\n\n\n16\n\n\n0\n\n\n-1\n\n\n\n\n\n\nVert Integ Liq (VIL)\n\n\nVIL\n\n\n57\n\n\n16\n\n\n0\n\n\n-1\n\n\n\n\n\n\nOne Hour Precip (OHP)\n\n\nOHP\n\n\n78\n\n\n16\n\n\n0\n\n\n-1\n\n\n\n\n\n\nStorm Total Precip (STP)\n\n\nSTP\n\n\n80\n\n\n16\n\n\n0\n\n\n-1\n\n\n\n\n\n\nVAD Wind Profile (VWP)\n\n\nVWP\n\n\n48\n\n\n0\n\n\n0\n\n\n-1\n\n\n\n\n\n\nDigital Precip Array (DPA)\n\n\nDPA\n\n\n81\n\n\n256\n\n\n400\n\n\n-1\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n25\n\n\n16\n\n\n100\n\n\n.5\n\n\n\n\n\n\nBase Spectrum Width (SW)\n\n\nSW\n\n\n28\n\n\n8\n\n\n100\n\n\n.5\n\n\n\n\n\n\nBase Spectrum Width (SW)\n\n\nSW\n\n\n30\n\n\n8\n\n\n100\n\n\n.5\n\n\n\n\n\n\nSevere Weather Probablilty (SWP)\n\n\nSWP\n\n\n47\n\n\n0\n\n\n100\n\n\n-1\n\n\n\n\n\n\nStorm Tracking Information (STI)\n\n\nSTI\n\n\n58\n\n\n0\n\n\n100\n\n\n-1\n\n\n\n\n\n\nHail Index (HI)\n\n\nHI\n\n\n59\n\n\n0\n\n\n100\n\n\n-1\n\n\n\n\n\n\nMesocyclone (M)\n\n\nM\n\n\n60\n\n\n0\n\n\n100\n\n\n-1\n\n\n\n\n\n\nMesocyclone (MD)\n\n\nMD\n\n\n141\n\n\n0\n\n\n0\n\n\n1\n\n\n\n\n\n\nTornadic Vortex Signature (TVS)\n\n\nTVS\n\n\n61\n\n\n0\n\n\n100\n\n\n-1\n\n\n\n\n\n\nStorm Structure (SS)\n\n\nSS\n\n\n62\n\n\n0\n\n\n100\n\n\n-1\n\n\n\n\n\n\nSupplemental Precipitation Data (SPD)\n\n\nSPD\n\n\n82\n\n\n0\n\n\n100\n\n\n-1\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n94\n\n\n256\n\n\n100\n\n\n.5\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n94\n\n\n256\n\n\n100\n\n\n1.5\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n94\n\n\n256\n\n\n100\n\n\n2.4\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n94\n\n\n256\n\n\n100\n\n\n3.4\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n94\n\n\n256\n\n\n100\n\n\n4.3\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n94\n\n\n256\n\n\n100\n\n\n5.3\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n94\n\n\n256\n\n\n100\n\n\n6.2\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n94\n\n\n256\n\n\n100\n\n\n7.5\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n94\n\n\n256\n\n\n100\n\n\n8.7\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n94\n\n\n256\n\n\n100\n\n\n10.0\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n94\n\n\n256\n\n\n100\n\n\n12.0\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n94\n\n\n256\n\n\n100\n\n\n14.0\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n94\n\n\n256\n\n\n100\n\n\n16.7\n\n\n\n\n\n\nReflectivity (Z)\n\n\nZ\n\n\n94\n\n\n256\n\n\n100\n\n\n19.5\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n99\n\n\n256\n\n\n25\n\n\n.5\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n99\n\n\n256\n\n\n25\n\n\n1.5\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n99\n\n\n256\n\n\n25\n\n\n2.4\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n99\n\n\n256\n\n\n25\n\n\n3.4\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n99\n\n\n256\n\n\n25\n\n\n4.3\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n99\n\n\n256\n\n\n25\n\n\n5.3\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n99\n\n\n256\n\n\n25\n\n\n6.2\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n99\n\n\n256\n\n\n25\n\n\n7.5\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n99\n\n\n256\n\n\n25\n\n\n8.7\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n99\n\n\n256\n\n\n25\n\n\n10.0\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n99\n\n\n256\n\n\n25\n\n\n12.0\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n99\n\n\n256\n\n\n25\n\n\n14.0\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n99\n\n\n256\n\n\n25\n\n\n16.7\n\n\n\n\n\n\nVelocity (V)\n\n\nV\n\n\n99\n\n\n256\n\n\n25\n\n\n195\n\n\n\n\n\n\nSuper Res Reflectivity (Z)\n\n\nHZ\n\n\n153\n\n\n256\n\n\n25\n\n\n.5\n\n\n\n\n\n\nSuper Res Reflectivity (Z)\n\n\nHZ\n\n\n153\n\n\n256\n\n\n25\n\n\n1.5\n\n\n\n\n\n\nSuper Res Velocity (V)\n\n\nHV\n\n\n154\n\n\n256\n\n\n25\n\n\n.5\n\n\n\n\n\n\nSuper Res Velocity (V)\n\n\nHV\n\n\n154\n\n\n256\n\n\n25\n\n\n1.5\n\n\n\n\n\n\nSuper Res Spec Width (SW)\n\n\nHSW\n\n\n155\n\n\n256\n\n\n25\n\n\n.5\n\n\n\n\n\n\nSuper Res Spec Width (SW)\n\n\nHSW\n\n\n155\n\n\n256\n\n\n25\n\n\n1.5\n\n\n\n\n\n\nSpectrum Width (SW)\n\n\nSW\n\n\n30\n\n\n8\n\n\n100\n\n\n1.5\n\n\n\n\n\n\nSpectrum Width (SW)\n\n\nSW\n\n\n28\n\n\n8\n\n\n25\n\n\n1.5\n\n\n\n\n\n\nDigital Vert Integ Liq (DVL)\n\n\nDVL\n\n\n134\n\n\n256\n\n\n100\n\n\n-1\n\n\n\n\n\n\nDigital Hybrid Scan Refl (DHR)\n\n\nDHR\n\n\n32\n\n\n256\n\n\n100\n\n\n-1\n\n\n\n\n\n\nEnhanced Echo Tops (EET)\n\n\nEET\n\n\n135\n\n\n256\n\n\n100\n\n\n-1\n\n\n\n\n\n\nDigital Meso Detection (DMD)\n\n\nDMD\n\n\n149\n\n\n0\n\n\n0\n\n\n16384\n\n\n\n\n\n\nTVS Rapid Update (TRU)\n\n\nTRU\n\n\n143\n\n\n0\n\n\n0\n\n\n16384\n\n\n\n\n\n\nUser Selectable Lyr Refl (ULR)\n\n\nULR\n\n\n137\n\n\n16\n\n\n100\n\n\n-1\n\n\n\n\n\n\nStorm Total Precip (STP)\n\n\nSTP\n\n\n138\n\n\n256\n\n\n200\n\n\n-1\n\n\n\n\n\n\n1-Hour Snow-Water Equiv (OSW)\n\n\nOSW\n\n\n144\n\n\n16\n\n\n100\n\n\n-1\n\n\n\n\n\n\n1-Hour Snow Depth (OSD)\n\n\nOSD\n\n\n145\n\n\n16\n\n\n100\n\n\n-1\n\n\n\n\n\n\nStorm Tot Snow Depth (SSD)\n\n\nSSD\n\n\n147\n\n\n16\n\n\n100\n\n\n-1\n\n\n\n\n\n\nStorm Tot Snow-Water Equiv (SSW)\n\n\nSSW\n\n\n146\n\n\n16\n\n\n100\n\n\n-1\n\n\n\n\n\n\nDifferential Refl (ZDR)\n\n\nZDR\n\n\n158\n\n\n16\n\n\n100\n\n\n.5\n\n\n\n\n\n\nDifferential Refl (ZDR)\n\n\nZDR\n\n\n159\n\n\n256\n\n\n25\n\n\n16384\n\n\n\n\n\n\nCorrelation Coeff (CC)\n\n\nCC\n\n\n160\n\n\n16\n\n\n100\n\n\n.5\n\n\n\n\n\n\nCorrelation Coeff (CC)\n\n\nCC\n\n\n161\n\n\n256\n\n\n25\n\n\n16384\n\n\n\n\n\n\nSpecific Diff Phase (KDP)\n\n\nKDP\n\n\n162\n\n\n16\n\n\n100\n\n\n.5\n\n\n\n\n\n\nSpecific Diff Phase (KDP)\n\n\nKDP\n\n\n163\n\n\n256\n\n\n25\n\n\n16384\n\n\n\n\n\n\nHydrometeor Class (HC)\n\n\nHC\n\n\n164\n\n\n16\n\n\n100\n\n\n.5\n\n\n\n\n\n\nHydrometeor Class (HC)\n\n\nHC\n\n\n165\n\n\n256\n\n\n25\n\n\n16384\n\n\n\n\n\n\nMelting Layer (ML)\n\n\nML\n\n\n166\n\n\n0\n\n\n0\n\n\n16384\n\n\n\n\n\n\nHybrid Hydrometeor Class (HHC)\n\n\nHHC\n\n\n177\n\n\n256\n\n\n25\n\n\n-1\n\n\n\n\n\n\nDigital Inst Precip Rate (DPR)\n\n\nDPR\n\n\n176\n\n\n0\n\n\n25\n\n\n-1\n\n\n\n\n\n\nOne Hour Accum (OHA)\n\n\nOHA\n\n\n169\n\n\n16\n\n\n200\n\n\n-1\n\n\n\n\n\n\nUser Select Accum (DUA)\n\n\nDUA\n\n\n173\n\n\n256\n\n\n25\n\n\n-1\n\n\n\n\n\n\nUser Select Accum (DUA)\n\n\nDUA\n\n\n173\n\n\n256\n\n\n25\n\n\n-1\n\n\n\n\n\n\nStorm Total Accum (STA)\n\n\nSTA\n\n\n171\n\n\n16\n\n\n200\n\n\n-1\n\n\n\n\n\n\nStorm Total Accum (DSA)\n\n\nSTA\n\n\n172\n\n\n256\n\n\n25\n\n\n-1\n\n\n\n\n\n\nOne Hour Diff (DOD)\n\n\nDOD\n\n\n174\n\n\n256\n\n\n25\n\n\n-1\n\n\n\n\n\n\nStorm Total Diff (DSD)\n\n\nDSD\n\n\n175\n\n\n256\n\n\n25\n\n\n-1",
"title": "WSR-88D Product Table"
},
{
"location": "/cave/cave-keyboard-shortcuts/",
"text": "Action\n\n\nCommand\n\n\n\n\n\n\n\n\n\n\nOpen bundle\n\n\nCtrl+O\n\n\n\n\n\n\nManage bundles\n\n\nCtrl+D\n\n\n\n\n\n\nClear data\n\n\nCtrl+C\n\n\n\n\n\n\nStep backward\n\n\nLeft\n\n\n\n\n\n\nStep forward\n\n\nRight\n\n\n\n\n\n\nFirst frame\n\n\nCtrl+Left\n\n\n\n\n\n\nLast frame\n\n\nCtrl+Right\n\n\n\n\n\n\nTime options\n\n\nCtrl+T\n\n\n\n\n\n\nImage combine\n\n\nInsert\n\n\n\n\n\n\nLoop properties\n\n\nCtrl+L\n\n\n\n\n\n\nImage properties\n\n\nCtrl+I\n\n\n\n\n\n\nExport image\n\n\nCtrl+E\n\n\n\n\n\n\nExporrt KML\n\n\nCtrl+K",
"title": "Keyboard Shortcuts"
}
]
}