979 lines
No EOL
30 KiB
HTML
979 lines
No EOL
30 KiB
HTML
|
|
<!DOCTYPE html>
|
|
<html class="no-js">
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
|
|
<meta name="description" content="Documentation for all things AWIPS.">
|
|
|
|
|
|
<link rel="canonical" href="http://unidata.github.io/awips2/devguide/data-distribution-files/">
|
|
|
|
|
|
<meta name="author" content="mjames@ucar.edu">
|
|
|
|
|
|
<link rel="shortcut icon" href="../../img/favicon.ico">
|
|
|
|
<meta name="generator" content="mkdocs-0.16.3, mkdocs-unidata-1.5.4">
|
|
|
|
|
|
|
|
<title>Data distribution files</title>
|
|
|
|
|
|
|
|
<script src="../../assets/javascripts/modernizr-56ade86843.js"></script>
|
|
|
|
|
|
<link rel="stylesheet" href="../../assets/stylesheets/application-b1a1975878.css">
|
|
|
|
<link rel="stylesheet" href="../../assets/stylesheets/application-f78e5cb881.palette.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
|
|
<style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
|
|
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
|
|
|
|
|
|
<link rel="stylesheet" href="../../css/extra.css">
|
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
<body data-md-color-primary="blue-grey" data-md-color-accent="light-blue">
|
|
|
|
<svg class="md-svg">
|
|
<defs>
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="github"><path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19T128 352t-18.125-8.5-10.75-19T96 304t3.125-20.5 10.75-19T128 256t18.125 8.5 10.75 19T160 304zm160 0q0 10-3.125 20.5t-10.75 19T288 352t-18.125-8.5-10.75-19T256 304t3.125-20.5 10.75-19T288 256t18.125 8.5 10.75 19T320 304zm40 0q0-30-17.25-51T296 232q-10.25 0-48.75 5.25Q229.5 240 208 240t-39.25-2.75Q130.75 232 120 232q-29.5 0-46.75 21T56 304q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0 37.25-1.75t35-7.375 30.5-15 20.25-25.75T360 304zm56-44q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5T212 416q-19.5 0-35.5-.75t-36.875-3.125-38.125-7.5-34.25-12.875T37 371.5t-21.5-28.75Q0 312 0 260q0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875Q171.5 96 212 96q37 0 70 8 26.25-20.5 46.75-30.25T376 64q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z"/></svg>
|
|
|
|
</defs>
|
|
</svg>
|
|
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer">
|
|
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="search">
|
|
<label class="md-overlay" data-md-component="overlay" for="drawer"></label>
|
|
|
|
<header class="md-header" data-md-component="header">
|
|
<nav class="md-header-nav md-grid">
|
|
|
|
<div class="background-logo" style="background-image: url(../../images/cave.png);"></div>
|
|
|
|
<div class="md-flex">
|
|
<div class="md-flex__cell md-flex__cell--shrink">
|
|
|
|
<a href="http://unidata.github.io/awips2" title="Unidata AWIPS User Manual" class="md-icon md-icon--home md-header-nav__button">
|
|
</a>
|
|
|
|
</div>
|
|
<div class="md-flex__cell md-flex__cell--shrink">
|
|
<label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
|
|
</div>
|
|
<div class="md-flex__cell md-flex__cell--stretch">
|
|
<span class="md-flex__ellipsis md-header-nav__title">
|
|
|
|
|
|
|
|
<span class="md-header-nav__parent">
|
|
EDEX User Manual
|
|
</span>
|
|
|
|
|
|
|
|
Data Distribution Files
|
|
|
|
|
|
</span>
|
|
</div>
|
|
<div class="md-flex__cell md-flex__cell--shrink">
|
|
|
|
<label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
|
|
|
|
<div class="md-search" data-md-component="search">
|
|
<div class="md-search__overlay"></div>
|
|
<div class="md-search__inner">
|
|
<form class="md-search__form" name="search">
|
|
<input type="text" class="md-search__input" name="query" required placeholder="Search" accesskey="s" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query">
|
|
<label class="md-icon md-search__icon" for="search"></label>
|
|
<button type="reset" class="md-icon md-search__icon" data-md-component="reset">close</button>
|
|
</form>
|
|
<div class="md-search__output">
|
|
<div class="md-search__scrollwrap" data-md-scrollfix>
|
|
<div class="md-search-result" data-md-component="result">
|
|
<div class="md-search-result__meta" data-md-lang-result-none="No matching documents" data-md-lang-result-one="1 matching document" data-md-lang-result-other="# matching documents">
|
|
Type to start searching
|
|
</div>
|
|
<ol class="md-search-result__list"></ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="md-flex__cell md-flex__cell--shrink">
|
|
<div class="md-header-nav__source">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://github.com/Unidata/awips2" title="Go to repository" class="md-source" data-md-source="github">
|
|
|
|
<div class="md-source__icon">
|
|
<svg viewBox="0 0 24 24" width="24" height="24">
|
|
<use xlink:href="#github" width="24" height="24"></use>
|
|
</svg>
|
|
</div>
|
|
|
|
<div class="md-source__repository">
|
|
GitHub
|
|
</div>
|
|
</a>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
</header>
|
|
|
|
<div class="md-container">
|
|
|
|
|
|
<main class="md-main">
|
|
<div class="md-main__inner md-grid" data-md-component="container">
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
<nav class="md-nav md-nav--primary" data-md-level="0">
|
|
<label class="md-nav__title md-nav__title--site" for="drawer">
|
|
|
|
<i class="md-icon md-icon--home md-nav__button"></i>
|
|
|
|
Unidata AWIPS User Manual
|
|
</label>
|
|
|
|
<div class="md-nav__source">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://github.com/Unidata/awips2" title="Go to repository" class="md-source" data-md-source="github">
|
|
|
|
<div class="md-source__icon">
|
|
<svg viewBox="0 0 24 24" width="24" height="24">
|
|
<use xlink:href="#github" width="24" height="24"></use>
|
|
</svg>
|
|
</div>
|
|
|
|
<div class="md-source__repository">
|
|
GitHub
|
|
</div>
|
|
</a>
|
|
|
|
</div>
|
|
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../.." title="Home" class="md-nav__link">
|
|
Home
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../install/install-cave/" title="Install CAVE" class="md-nav__link">
|
|
Install CAVE
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../install/install-edex/" title="Install EDEX" class="md-nav__link">
|
|
Install EDEX
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
|
|
|
|
<label class="md-nav__link" for="nav-4">
|
|
CAVE User Manual
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
|
<label class="md-nav__title" for="nav-4">
|
|
CAVE User Manual
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/d2d-perspective/" title="D2D Perspective" class="md-nav__link">
|
|
D2D Perspective
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/maps-views-projections/" title="Maps, Views, Projections" class="md-nav__link">
|
|
Maps, Views, Projections
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/localization-perspective/" title="Localization Perspective" class="md-nav__link">
|
|
Localization Perspective
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/ncp-perspective/" title="NCP Perspective" class="md-nav__link">
|
|
NCP Perspective
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/nsharp/" title="NSHARP" class="md-nav__link">
|
|
NSHARP
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/warngen/" title="WarnGen" class="md-nav__link">
|
|
WarnGen
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/d2d-gis-shapefiles/" title="GIS and Shapefiles" class="md-nav__link">
|
|
GIS and Shapefiles
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/d2d-gridded-models/" title="Volume Browser" class="md-nav__link">
|
|
Volume Browser
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/d2d-tools/" title="Display Tools" class="md-nav__link">
|
|
Display Tools
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/d2d-radar-tools/" title="Radar Tools" class="md-nav__link">
|
|
Radar Tools
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/d2d-edit-menus/" title="Editing Menus" class="md-nav__link">
|
|
Editing Menus
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/cave-localization/" title="Change Localization" class="md-nav__link">
|
|
Change Localization
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/cave-keyboard-shortcuts/" title="Keyboard Shortcuts" class="md-nav__link">
|
|
Keyboard Shortcuts
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5" checked>
|
|
|
|
<label class="md-nav__link" for="nav-5">
|
|
EDEX User Manual
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
|
<label class="md-nav__title" for="nav-5">
|
|
EDEX User Manual
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../install/start-edex/" title="EDEX Start and Stop" class="md-nav__link">
|
|
EDEX Start and Stop
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../edex/ldm/" title="LDM Feeds" class="md-nav__link">
|
|
LDM Feeds
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../edex/new-grid/" title="Ingest a New Grid" class="md-nav__link">
|
|
Ingest a New Grid
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc">
|
|
|
|
|
|
|
|
|
|
<a href="./" title="Data Distribution Files" class="md-nav__link md-nav__link--active">
|
|
Data Distribution Files
|
|
</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../edex/data-purge/" title="Purging and Retention" class="md-nav__link">
|
|
Purging and Retention
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../edex/edex-users/" title="Monitor Users" class="md-nav__link">
|
|
Monitor Users
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../edex/data-plugins/" title="Data Plugins" class="md-nav__link">
|
|
Data Plugins
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6">
|
|
|
|
<label class="md-nav__link" for="nav-6">
|
|
Supported Data Types
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
|
<label class="md-nav__title" for="nav-6">
|
|
Supported Data Types
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/d2d-grids/" title="Gridded Model Display" class="md-nav__link">
|
|
Gridded Model Display
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/d2d-pointdata-surface-obs/" title="Surface Obs" class="md-nav__link">
|
|
Surface Obs
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/d2d-satellite/" title="Satellite Imagery" class="md-nav__link">
|
|
Satellite Imagery
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/d2d-radar/" title="NEXRAD Radar" class="md-nav__link">
|
|
NEXRAD Radar
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/d2d-uair/" title="Upper Air" class="md-nav__link">
|
|
Upper Air
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/d2d-hydro/" title="NCEP/Hydro" class="md-nav__link">
|
|
NCEP/Hydro
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../cave/d2d-map-resources/" title="Map Overlays" class="md-nav__link">
|
|
Map Overlays
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
|
|
|
|
<label class="md-nav__link" for="nav-7">
|
|
Appendix
|
|
</label>
|
|
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
|
<label class="md-nav__title" for="nav-7">
|
|
Appendix
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../appendix/appendix-grid-parameters/" title="AWIPS Grid Parameters" class="md-nav__link">
|
|
AWIPS Grid Parameters
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../appendix/appendix-acronyms/" title="Acronyms and Abbreviations" class="md-nav__link">
|
|
Acronyms and Abbreviations
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../appendix/appendix-cots/" title="COTS and FOSS" class="md-nav__link">
|
|
COTS and FOSS
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../appendix/appendix-wsr88d/" title="WSR-88D Product Table" class="md-nav__link">
|
|
WSR-88D Product Table
|
|
</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
<nav class="md-nav md-nav--secondary">
|
|
|
|
|
|
|
|
|
|
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="md-content">
|
|
<article class="md-content__inner md-typeset">
|
|
|
|
|
|
<a href="https://github.com/Unidata/awips2/edit/master/docs/devguide/data-distribution-files.md" title="Edit this page" class="md-icon md-content__icon">edit</a>
|
|
|
|
|
|
<p>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:</p>
|
|
<ul>
|
|
<li>
|
|
<p>Create an entry in <code>/awips2/edex/logs/edex-ingest-unrecognized-files-yyyymmdd.log</code></p>
|
|
</li>
|
|
<li>
|
|
<p>Skip processing of the unrecognized file.</p>
|
|
</li>
|
|
</ul>
|
|
<p>Distribution filters are stored in the <strong>edex_static</strong> branch of the Localization Store, and a list of available files can be found in the base-level directory. </p>
|
|
<p>For each plug-in, the distribution file is named <code><data-type>.xml</code>; for example, the distribution file for satellite data is <code>satellite.xml</code>. The distribution files follow the AWIPS base/site localization pattern: </p>
|
|
<pre><code>[root@edex]# cd /awips2/edex/data/utility/edex_static/base/distribution
|
|
[root@edex distribution]# ls
|
|
acars.xml ffg.xml poessounding.xml
|
|
airep.xml goessounding.xml profiler.xml
|
|
airmet.xml grib.xml q2.xml
|
|
atcf.xml hpe.xml radar.xml
|
|
aww.xml idft.xml recco.xml
|
|
binlightning.xml intlsigmet.xml redbook.xml
|
|
bufrascat.xml ldadhydro.xml satellite.mcidas.xml
|
|
bufrhdw.xml ldadmanual.xml satellite.xml
|
|
bufrmos.xml ldadmesonet.xml sfcobs.xml
|
|
bufrmthdw.xml ldadprofiler.xml shef.xml
|
|
bufrncwf.xml loctables.xml svrwx.xml
|
|
bufrquikscat.xml lsr.xml taf.xml
|
|
bufrsgwhv.xml mcidas.xml tcg.xml
|
|
bufrsgwh.xml modelsounding.xml tcm.xml
|
|
bufrsigwx.xml mosaic.xml tcs.xml
|
|
bufrssha.xml ncccfp.xml textlightning.xml
|
|
bufrssmi.xml ncgrib.xml text.xml
|
|
bufrua.xml ncscat.xml uair.xml
|
|
ccfp.xml nctext.xml vaa.xml
|
|
convsigmet.xml nonconvsigmet.xml warning.xml
|
|
cwa.xml obs.xml wcp.xml
|
|
dhr.xml pafm.xml
|
|
dpa.xml pirep.xml
|
|
</code></pre>
|
|
<ul>
|
|
<li>
|
|
<p>base files are located in <strong>/awips2/edex/data/utility/edex_static/base/distribution </strong></p>
|
|
</li>
|
|
<li>
|
|
<p>site override distribution files are located in <strong>/awips2/edex/data/utility/edex_static/site/XXX/distribution</strong>, where <strong>XXX</strong> is the site identifier.</p>
|
|
</li>
|
|
</ul>
|
|
<p>Note that site-level files override the base files; as a result, local modifications to distribution files must be made as follows:</p>
|
|
<ol>
|
|
<li>
|
|
<p>The base distribution file must be copied from <strong>/awips2/edex/data/utility/edex_static/base/distribution</strong> to <strong>/awips2/edex/data/utility/edex_static/site/XXX/distribution</strong></p>
|
|
</li>
|
|
<li>
|
|
<p>The local modification must be made to the file in <strong>/awips2/edex/data/utility/edex_static/site/XXX/distribution</strong></p>
|
|
</li>
|
|
</ol>
|
|
<p>The basic structure of the distribution file is:</p>
|
|
<pre><code><requestPatterns xmlns:ns2="group">
|
|
<regex>pattern</regex>
|
|
<regex>pattern</regex>
|
|
</requestPatterns>
|
|
</code></pre>
|
|
<p>In each <strong><regex></regex> </strong>tag, <strong><em>pattern</em></strong> 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.</p>
|
|
<p>The contents of the base version of the radar distribution file:</p>
|
|
<pre><code>[root@edex]# cd /awips2/edex/data/utility/edex_static/base/distribution/
|
|
[root@edex]# tail -4 radar.xml
|
|
|
|
<requestPatterns xmlns:ns2="group">
|
|
<regex>^SDUS[234578]. .*</regex>
|
|
<regex>^RadarServer.*</regex>
|
|
</requestPatterns>
|
|
</code></pre>
|
|
<p>Looking 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. </p>
|
|
<h1 id="adding-a-regex-to-the-satellite-data-distribution-file">Adding a REGEX to the Satellite Data Distribution File<a class="headerlink" href="#adding-a-regex-to-the-satellite-data-distribution-file" title="Permanent link"></a></h1>
|
|
<p>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 <strong>LOCAL.sat</strong>.</p>
|
|
<p>To add this locally produced satellite data file to the EDEX distribution; perform the following steps.</p>
|
|
<ol>
|
|
<li>
|
|
<p>Copy the base version of <strong>satellite.gini.xml</strong> from the base distribution directory <strong>/awips2/edex/data/utility/edex_static/base/distribution</strong> into the site distribution directory <strong>/awips2/edex/data/utility/edex_static/site/XXX/distribution</strong></p>
|
|
</li>
|
|
<li>
|
|
<p>Edit the site version of <strong>satellite.xml</strong>, adding a new <code><regex></regex></code> tag immediately below the existing regular expression (<code><regex></regex></code>) tag. The contents of the tag will be <strong>LOCAL.sat</strong>. The final result will be:</p>
|
|
<pre><code><requestPatterns xmlns:ns2="group">
|
|
<regex>TI[CGT]... ....</regex>
|
|
<regex>.*NEXRCOMP.*</regex>
|
|
<regex>^LOCAL.sat.*</regex>
|
|
</requestPatterns>
|
|
</code></pre>
|
|
</li>
|
|
<li>
|
|
<p>Save the file and exit the editor. EDEX will automatically pick up the new distribution pattern.</p>
|
|
</li>
|
|
</ol>
|
|
<p>Raw files are written to <strong>/data_store</strong>, 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 (<strong>/awips2/data_store/ingest</strong>) are processed.</p>
|
|
<h1 id="editing-an-edex-data-distribution-file">Editing an EDEX Data Distribution File<a class="headerlink" href="#editing-an-edex-data-distribution-file" title="Permanent link"></a></h1>
|
|
<p>Because these files are in the <strong>edex_static/</strong> 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 <strong><em>pqact.conf</em></strong><strong> </strong>file.</p>
|
|
<p>If patterns exist in <strong><em>pqact.conf</em></strong> but are not in the distribution files, then raw data files will be written to <strong>/data_store</strong> but will not be ingested and processed by EDEX. Entries for these non-ingested files would be written to the unrecognized files log in <strong>/awips/edex/logs</strong>.</p>
|
|
<h1 id="edex-data-distribution-file-examples">EDEX Data Distribution File Examples<a class="headerlink" href="#edex-data-distribution-file-examples" title="Permanent link"></a></h1>
|
|
<h2 id="surface-obs">Surface Obs<a class="headerlink" href="#surface-obs" title="Permanent link"></a></h2>
|
|
<p><strong>/awips2/edex/data/utility/edex_static/base/distribution/obs.xml</strong> Processes any file header that starts with <strong>SA</strong> or <strong>SP</strong>, which should match any WMO header that contains METAR data (e.g.<strong>SAUS</strong>, <strong>SPUS</strong>, <strong>SACN</strong>, <strong>SAMX</strong>).</p>
|
|
<pre><code><requestPatterns xmlns:ns2="group">
|
|
<regex>^S[AP].*</regex>
|
|
</requestPatterns>
|
|
</code></pre>
|
|
<h2 id="text-data">Text Data<a class="headerlink" href="#text-data" title="Permanent link"></a></h2>
|
|
<p><strong>/awips2/edex/data/utility/edex_static/base/distribution/text.xml</strong> Processes lots of WM patterns. The second pattern ^S[A-CEG-Z].* matches any header that starts with <strong>S</strong> except for <strong>SD</strong>or <strong>SF</strong>, so it also matches the <strong>SA</strong> and <strong>SP</strong> files that the <strong>obs.xml</strong> plugin matches. This means that METARs are processed by both plugins simultaneously.</p>
|
|
<pre><code><requestPatterns>
|
|
<regex>^[ACFNRUW][A-Z].*</regex>
|
|
<regex>^S[ACEG-Z].*</regex>
|
|
<regex>^T[BCX].*</regex>
|
|
<regex>^SF[A-OQ-TVZ].*</regex>
|
|
<regex>^SDUS1.*</regex>
|
|
<regex>^SDUS4[1-6].*</regex>
|
|
<regex>^SDUS9[^7].*</regex>
|
|
<regex>^SFU[^S].*</regex>
|
|
<regex>^SFUS4[^1].*</regex>
|
|
<regex>^SFP[^A].*</regex>
|
|
<regex>^SFPA[^4].*</regex>
|
|
<regex>^SFPA4[^1].*</regex>
|
|
<regex>^BMBB91.*</regex>
|
|
<regex>^N.*</regex>
|
|
<regex>^F[EHIJKLMQVWX].*</regex>
|
|
</requestPatterns>
|
|
</code></pre>
|
|
<h2 id="grib-data">Grib Data<a class="headerlink" href="#grib-data" title="Permanent link"></a></h2>
|
|
<p><strong>/awips2/edex/data/utility/edex_static/base/distribution/grib.xml</strong> 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 <em>.grib</em> file extension.</p>
|
|
<pre><code><requestPatterns>
|
|
<!-- Super Set of all possible WMO grib patterns -->
|
|
<regex>^[EHLMOYZ][A-Z]{3}\d{2}</regex>
|
|
<!-- This to match Unidata CONDUIT products w/o standard headers -->
|
|
<regex>.*grib.*</regex>
|
|
<regex>^US058.*</regex>
|
|
<regex>^CMC_reg.*</regex>
|
|
</requestPatterns>
|
|
</code></pre>
|
|
<p>Important notes about regular expressions:</p>
|
|
<ul>
|
|
<li>
|
|
<p>Any time a new entry is placed in the <strong>pqact.conf</strong> 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 <strong>edex-ingest-unrecognized-files-YYYYMMDD.log</strong></p>
|
|
</li>
|
|
<li>
|
|
<p>Any time an entry is removed from the <strong>pqact.conf</strong> file, the corresponding entry should be removed from the appropriate Data Distribution file in the data distribution directory.</p>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
|
|
|
|
<footer class="md-footer">
|
|
|
|
<div class="md-footer-nav">
|
|
<nav class="md-footer-nav__inner md-grid">
|
|
|
|
<a href="../../edex/new-grid/" title="Ingest a New Grid" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
|
|
<div class="md-flex__cell md-flex__cell--shrink">
|
|
<i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
|
|
</div>
|
|
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
|
|
<span class="md-flex__ellipsis">
|
|
<span class="md-footer-nav__direction">
|
|
Previous
|
|
</span>
|
|
Ingest a New Grid
|
|
</span>
|
|
</div>
|
|
</a>
|
|
|
|
|
|
<a href="../../edex/data-purge/" title="Purging and Retention" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
|
|
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
|
|
<span class="md-flex__ellipsis">
|
|
<span class="md-footer-nav__direction">
|
|
Next
|
|
</span>
|
|
Purging and Retention
|
|
</span>
|
|
</div>
|
|
<div class="md-flex__cell md-flex__cell--shrink">
|
|
<i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
|
|
</div>
|
|
</a>
|
|
|
|
</nav>
|
|
</div>
|
|
|
|
<div class="md-footer-meta md-typeset">
|
|
<div class="md-footer-meta__inner md-grid">
|
|
<div class="md-footer-copyright">
|
|
|
|
<div class="md-footer-copyright__highlight">
|
|
Copyright © 2017 Unidata Program Center.
|
|
</div>
|
|
|
|
powered by
|
|
<a href="http://www.mkdocs.org" title="MkDocs">MkDocs</a>
|
|
and
|
|
<a href="http://squidfunk.github.io/mkdocs-material/" title="Material for MkDocs">
|
|
Material for MkDocs</a>
|
|
</div>
|
|
|
|
|
|
<div class="md-footer-social">
|
|
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
|
|
|
<a href="http://www.unidata.ucar.edu" class="md-footer-social__link fa fa-globe"></a>
|
|
|
|
<a href="https://github.com/Unidata/awips2" class="md-footer-social__link fa fa-github-alt"></a>
|
|
|
|
<a href="https://twitter.com/Unidata" class="md-footer-social__link fa fa-twitter"></a>
|
|
|
|
<a href="https://facebook.com/Unidata" class="md-footer-social__link fa fa-facebook"></a>
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
</div>
|
|
|
|
<script src="../../assets/javascripts/application-0b7df094bf.js"></script>
|
|
<script>app.initialize({url:{base:"../.."}})</script>
|
|
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html> |