diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000..73d25f65b7 Binary files /dev/null and b/.DS_Store differ diff --git a/.github/workflows/deploy_docs.yml b/.github/workflows/deploy_docs.yml new file mode 100644 index 0000000000..27ef1828d5 --- /dev/null +++ b/.github/workflows/deploy_docs.yml @@ -0,0 +1,56 @@ +name: publish mkdocs to github pages + +on: + workflow_dispatch: + push: + branches: + - unidata_20.3.2 + paths: + - 'docs/**' + - 'mkdocs.yml' + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Setup Python and mkdocs + uses: actions/setup-python@v2 + with: + python-version: '3.8' + + - name: Update pip + run: | + # install pip=>20.1 to use "pip cache dir" + python3 -m pip install --upgrade pip + + - name: Create mkdocs_requirements.txt + run: | + echo "markdown==3.3.7" >> mkdocs_requirements.txt + echo "mkdocs" >> mkdocs_requirements.txt + echo "mkdocs-unidata" >> mkdocs_requirements.txt + echo "fontawesome_markdown" >> mkdocs_requirements.txt + + - name: Get pip cache dir + id: pip-cache + run: echo "::set-output name=dir::$(pip cache dir)" + + - name: Cache dependencies + uses: actions/cache@v1 + with: + path: ${{ steps.pip-cache.outputs.dir }} + key: ${{ runner.os }}-pip-${{ hashFiles('**/mkdocs_requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + + - name: Install python dependencies + run: python3 -m pip install -r ./mkdocs_requirements.txt + + - run: mkdocs build + + - name: Deploy to gh-pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./site diff --git a/.github/workflows/update_NDM.yml b/.github/workflows/update_NDM-v20.yml similarity index 97% rename from .github/workflows/update_NDM.yml rename to .github/workflows/update_NDM-v20.yml index 3e87e1ce1f..b1a9937d50 100644 --- a/.github/workflows/update_NDM.yml +++ b/.github/workflows/update_NDM-v20.yml @@ -1,4 +1,4 @@ -name: update station info +name: update station info v20 on: workflow_dispatch: diff --git a/docs/.DS_Store b/docs/.DS_Store new file mode 100644 index 0000000000..66275663e1 Binary files /dev/null and b/docs/.DS_Store differ diff --git a/docs/appendix/appendix-acronyms.md b/docs/appendix/appendix-acronyms.md new file mode 100644 index 0000000000..d57e428569 --- /dev/null +++ b/docs/appendix/appendix-acronyms.md @@ -0,0 +1,287 @@ +## A + +* 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 + +## B + +* BGAN - Broadboand Global Area Network +* BUFR - Binary Universal Form for the Representation of meteorological data + +## C + +* 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 + +## D + +* D2D - Display 2 Dimensions +* DFM - Digital Forecast Matrix +* DMD - Digital Mesocyclone Display +* DMS - Data Monitoring System +* DOC - Department of Commerce +* DPA - Digital Precipitation Array + +## E + +* ECMWF - European Centre for Medium-Range Forecasts +* EDEX - Environmental Data EXchange +* EMC - Environmental Modeling Center +* EL - Equilibrium Level +* ESA - Electronic Systems Analyst +* ESRL - Earth System Research Laboratory + +## F + +* 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 + +## G + +* 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 + +## H + +* HC - Hydrometeor Classification +* HI - Hail Index +* HM - Hydromet +* HPC - Hydrologic Precipitation Center +* HWR - Hourly Weather Roundup + +## I + +* 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 + +## J + +* JMS - Java Messaging System + +## K + +* KDP - Specific Differential Phase +* KML - Keyhole Markup Language +* KMZ - KML zipped (compressed). + +## L + +* 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 + +## M + +* 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 + +## N + +* 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 + +## O + +* 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 + +## P + +* 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 + +## Q + +* QC - quality control +* QCMS - Quality Control and Monitoring System +* QPE - Quantitative Precipitation Estimator +* QPF - Quantitative Precipitation Forecast +* QPS - Quantitative Precipitation Summary + +## R + +* 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) + +## S + +* 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 + +## T + +* 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 + +## U + +* 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 + +## V + +* 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 + +## W + +* 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 + +## Z +* Z - Reflectivity +* ZDR - Differential Reflectivity + diff --git a/docs/appendix/appendix-grid-parameters.md b/docs/appendix/appendix-grid-parameters.md new file mode 100644 index 0000000000..dcc91d973a --- /dev/null +++ b/docs/appendix/appendix-grid-parameters.md @@ -0,0 +1,1287 @@ +| Abbreviation | Description | Units | +| ---------|:-----|---------- | +| 0to5 | t-5Day Mean Hgt | m | +| 2xTP6hr | 12Hr Accum Precip from 2 6hr | mm | +| 36SHRMi | S=Shear incr > 10kts 3-6km | | +| 50dbzZ | 50dbz Hgt for 1 in. Svr Hail | m | +| accum_altimeter24 | accum_altimeter24 | Pa | +| accum_dewpoint24 | accum_dewpoint24 | F | +| accum_dpFromTenths24 | accum_dpFromTenths24 | | +| accum_GH12 | accum_GH12 | m | +| accum_htMan12 | accum_htMan12 | m | +| accum_numMand12 | accum_numMand12 | | +| accum_precip1Hour3 | accum_precip1Hour3 | in | +| accum_precip1Hour6 | accum_precip1Hour6 | in | +| accum_precip6Hour24 | accum_precip6Hour24 | in | +| accum_prMan12 | accum_prMan12 | Pa | +| accum_rawMETAR24 | accum_rawMETAR24 | | +| accum_sfcPress3 | accum_sfcPress3 | Pa | +| accum_temperature24 | accum_temperatur24 | in | +| accum_tempFromTenths24 | accum_tempFromTenths24 | in | +| accum_windDir24 | accum_windDir24 | in | +| accum_windSpeed24 | accum_windSpeed24 | in | +| ACOND | Aerodynamic conductance | m/s | +| adimc | Additional Impervious Area Water Content | % | +| ageoVC | Ageo Vert Circ | | +| ageoW | Ageo Wind | m/s | +| ageoWM | Magnitude Ageo Wind | m/s | +| ALBDO | Albedo | % | +| Along | Component Along | m/s | +| Alt24Chg | Alt24Chg | Pa | +| Alti | Altimeter | hPa | +| ANCConvectiveOutlook | ANC Convective Outlook | | +| ANCFinalForecast | ANC Final Forecast | dBZ | +| ANCLayerCompositeReflectivity | ANC Layer Composite Reflectivity | dBZ | +| AppT | Apparent Temperature | °F | +| AV | Absolute Vorticity | /s | +| AV | Vorticity | /s | +| BARO | Barometric Velocity Vectors | m/s | +| BASSW | Spectrum Width | kts | +| BdEPT06 | Max ThetaE Difference (3-6km Min minus 0-3km Max) | K | +| BGRUN | Baseflow-Groundwater Runoff | kg/m^2 | +| BLI | Best (4 layer) Lifted Index | K | +| BLI | Best Lifted Index | K | +| BlkMag | Bulk Shear Magnitude | m/s | +| BlkShr | Bulk Shear Vectors | m/s | +| BMIXL | Blackadar's Mixing Length Scale | m | +| BREFMaxHourly | Hourly Base Reflectivity Maximum | dBZ | +| BrightBandBottomHeight | Bright Band Bottom Height | m | +| BrightBandTopHeight | Bright Band Top Height | m | +| BRN | Net Bulk Richardson Number | | +| BRNEHIi | 72% Supercell Cases Tornadic | | +| BRNmag | | m/s | +| BRNSHR | BRN Shear | | +| BRNvec | | m/s | +| BRTMP | Brightness Temperature | K | +| CAPE | Convective Available Potential Energy | J/kg | +| CAPEc1 | Prob CAPE > 500 J/kg | % | +| CAPEc2 | Prob CAPE > 1000 J/kg | % | +| CAPEc3 | Prob CAPE > 2000 J/kg | % | +| CAPEc4 | Prob CAPE > 3000 J/kg | % | +| CAPEc5 | Prob CAPE > 4000 J/kg | % | +| CapeStk | Cape Stack | | +| capeToLvl | cape up to level | | +| CAT | Clear Air Turbulence | % | +| cCape | Computed CAPE | J/kg | +| cCin | Computed CIN | J/kg | +| CCOND | Canopy Conductance | m/s | +| CCP | Cloud Cover | % | +| CCPerranl | Cloud Cover Analysis Uncertainty | % | +| CD | Drag Coefficient | Numeric | +| CDCON | Convective Cloud Cover | % | +| CDUVB | Clear sky UV-B Downward Solar Flux | W/m^2 | +| CEIL | Ceiling | m | +| CFRZR | Categorical Freezing Rain | | +| CFRZR | Categorical Freezing Rain | bit | +| CFRZRc1 | Chc of Measurable FZRA (Dominant) | % | +| CFRZRmean | Categorical Freezing Precip mean | | +| CFRZRsprd | Categorical Freezing Precip sprd | | +| CIce | Cloud Ice | g/m^3 | +| CICE | Cloud Ice | kg/m^2 | +| CICEP | Categorical Ice Pellets | | +| CICEP | Categorical Ice Pellets | bit | +| CICEPc1 | Chc of Measurable IP (Dominant) | % | +| CICEPmean | Categorical Ice Pellets mean | | +| CICEPsprd | Categorical Ice Pellets sprd | | +| Cig | Ceiling Height | | +| Cigc1 | Prob Ceiling Hgt < 500 ft | % | +| Cigc2 | Prob Ceiling Hgt < 1000 ft | % | +| Cigc3 | Prob Ceiling Hgt < 3000 ft | % | +| CIn | Convective Inhibition | J/kg | +| ClCond | Cloud Condensate | g/m^3 | +| CLGTN | Categorical Lightning Potential | | +| CLGTN2hr | 2hr Categorical Lightning Potential | | +| climoPW | PW % of normal | % | +| climoPWimp | Import NARR PW | in | +| CloudCover | Cloud Cover | K | +| CLWMR | Cloud Mixing Ratio | kg/kg | +| CnvP2hr | 2hr Convective probability | % | +| CnvPcat | Categorical convective potential | | +| CNWAT | Plant Canopy Surface Water | mm | +| COCO | Correlation Coefficient | | +| CompositeReflectivityMaxHourly | Hourly Composite Reflectivity Maximum | dBZ | +| CONUSMergedReflectivity | CONUS Merged Reflectivity | dBZ | +| CONUSMergedRHV | CONUS Merged RhoHV | | +| CONUSMergedZDR | CONUS Merged ZDR | dB | +| CONUSPlusMergedReflectivity | CONUS-Plus Merged Reflectivity | dBZ | +| CONVP | Categorical Convection Potential | | +| CONVP2hr | 2hr Convection potential | | +| Corf | Corfidi Vectors | m/s | +| CorfF | Corfidi Vectors-Forward Prop | kn | +| CorfFM | Corfidi Vec-Forward Mag | kn | +| CorfM | Corfidi Vec Mag | kn | +| covCat | Coverage Category | % | +| CP | Conv Precip | mm | +| CP | Convective Precipitation | mm | +| CP12hr | Convective Precipitation(12 hours) | mm | +| CP1hr | Convective Precipitation(1 hour) | mm | +| CP3hr | Convective Precipitation(3 hours) | mm | +| CP6hr | Convective Precipitation(6 hours) | mm | +| CP9hr | Convective Precipitation(9 hours) | mm | +| CP-GFS | Convective Precipitation for GFS | mm | +| CPOFP | Percent of Frozen Precipitation | % | +| CPOFP | Probability of Frozen precip | % | +| CPOFP | Probability of Frozen Precip | % | +| CPOLP | Probability of liquid precip | % | +| CPOP | Categorical POP | | +| CPOZP | Probability of Freezing Precip | % | +| CPOZP | Probability of Freezing Precip | % | +| CPr | Condensation Pressure | hPa | +| CPRAT | Convective Precipitation Rate | mm/s | +| CPrD | Condensation Pressure Deficit | hPa | +| CRAIN | Categorical Rain | | +| CRAIN | Categorical Rain | bit | +| CRAINc1 | Chc of Measurable Rain (Dominant) | % | +| CRAINmean | Categorical Rain mean | | +| CRAINsprd | Categorical Rain sprd | | +| CritT1 | Layer Min Temperature -6C, -10C | K | +| CSDLF | Clear Sky Downward Long Wave Flux | W/m^2 | +| CSDSF | Clear Sky Downward Solar Flux | W/m^2 | +| CSNOW | Categorical Snow | | +| CSNOW | Categorical Snow | bit | +| CSNOWc1 | Chc of Measurable Snow (Dominant) | % | +| CSNOWmean | Categorical Snow mean | | +| CSNOWsprd | Categorical Snow sprd | | +| CSSI | CO Svr Storm Idx | | +| CSULF | Clear Sky Upward Long Wave Flux | W/m^2 | +| CSUSF | Clear Sky Upward Solar Flux | W/m^2 | +| cTOT | Cross Totals | C | +| CTSTM | Categorical Tstorm | | +| CTyp | Cloud Type | | +| CUEFI | Convective Cloud Efficiency | non-dim | +| CumNrm | Normalized Cumulative Shear | /s | +| CumShr | Cumulative Shear | m/s | +| CURU | Cu Rule 0>SKC,-1>SCT,-4<BKN,-6<OVC | | +| CW | Cloud Water | g/m^3 | +| CWAT | Cloud Water | mm | +| CWORK | Cloud Work Function | J/kg | +| CXR | Comp Refl | dBZ | +| dCape | Downdraft CAPE | J/kg | +| defV | Deformation | sec^-1 | +| del2gH | | | +| df | Duct Function | | +| dGH12 | 12hr Height Change | m | +| DIABi | Omega from Diabatic Effects | dPa/s | +| diam | Feature Diameter | km | +| Dir24Chg | Dir24Chg | ° | +| DIRC | Current Direction | ° | +| DIRC | Surface Current Direction | degree | +| dirPW | Primary Wave Direction | | +| DIRPW | Primary Wave Direction | deg | +| dirSW | Secondary Wave Direction | | +| DIRSW | Secondary Wave Direction | deg | +| DivF | Frontogenesis Vector Divergence | K/m/s^2 | +| DivFn | Fn Vector Divergence | K/m/s^2 | +| DivFs | Fs Vector Divergence | K/m/s^2 | +| DLWRF | Downward Long-Wave Rad. Flux | W/m^2 | +| dP | Pressure Thickness | mb | +| dP1hr | 1hr MSL Press Change | hPa | +| Dp24Chg | Dp24Chg | °F | +| dP3hr | 3hr MSL Press Change | hPa | +| dP6hr | 6hr MSL Press Change | hPa | +| DpD | Dew Point Depression | K | +| DpD | Dewpoint depression | K | +| DpDt | Local Pressure Derivative | hPa/s | +| Dpress | Pressure Difference | hPa | +| DpT | Dew Point Temperature | K | +| DpT | Dewpoint temperature | K | +| DpTerranl | Dew Point Temperature Error Analysis | K | +| DpTerranl | Dewpoint Analysis Uncertainty | K | +| DpTmean | Dewpoint Temp mean | K | +| DpTsprd | Dewpoint Temp sprd | K | +| dPW1hr | 1hr Precipitable Water Change | in | +| dPW3hr | 3hr Precipitable Water Change | in | +| dPW6hr | 6hr Precipitable Water Change | in | +| DSLM | Deviation Of Sea Level from Mean | m | +| DSWRF | Downward Short-Wave Radiation Flux | W/m^2 | +| dT | Vrt Temp Chg | ℃ | +| DthDt | Total Theta Tendency | K/S | +| DUVB | UV-B Downward Solar Flux | W/m^2 | +| dVAdv | Diff vort Adv | /s\*1.0E9 | +| dZ | Thickness | m | +| EchoTop18 | 18 dBZ Echo Top | km | +| EchoTop30 | 30 dBZ Echo Top | km | +| EchoTop50 | 50 dBZ Echo Top | km | +| EchoTop60 | 60 dBZ Echo Top | km | +| EHI | Energy Helicity Index | | +| EHI01 | Energy Helicity Index 0-1km | m\*m/s\*s | +| EHIi | Energy Helicity Index | | +| ELEV | Ocean Surface Elevation Relative to Geoid | m | +| ELEV | Tidal Height | m | +| ELON | East Longitude (0 to 360) | deg | +| EMSP | MSLP (ETA Reduction) | Pa | +| EPT | Equiv Pot Temp | K | +| EPT | Equivalent Potential Temperature | K | +| EPTA | Equiv Pot Temp Adv | K/s | +| EPTC | Equiv Pot Temp Conv | K/s | +| EPTGrd | Theta-E Gradient | K/m | +| EPTGrdM | Theta-E Grad Mag | K/m | +| EPTs | Saturated Equiv Pot Temp | K | +| EPVg | Geo Equiv Pot Vort | K/hPa/s | +| EPVs | Saturated Equiv Pot Vort | K/hPa/s | +| EPVt1 | Instability is Slantwise=S Upright=U | | +| EPVt2 | EPV* Instability is Slantwise=S Upright=U | | +| ESP | Enhanced Stretching Potential (ML) | | +| ESP2 | ESP gamma | | +| ETCWL | Extra Tropical Storm Surge Combined Surge and Tide | m | +| ETSRG | Extra Tropical Storm Surge | m | +| EVBS | Direct Evaporation from Bare Soil | W/m^2 | +| EVCW | Canopy water evaporation | W/m^2 | +| EVP | Evaporation | kg/m^2 | +| FD | Fire Danger | | +| FeatMot | Feature Motion | kn | +| fGen | QG Frontogenesis | K^2/m^2/s | +| FLDCP | Field Capacity | Fraction | +| fnD | Qn Div | K/m^2/s | +| FnVecs | Fn Vectors | K/m/s | +| FRICV | Frictional Velocity | m/s | +| FROZR | Frozen Rain | kg/m^2 | +| FRZR | Ice Accum | m | +| FRZR12hr | 12 Hr Ice Accum | mm | +| FRZR6hr | 6 Hr Ice Accum | mm | +| FRZRmodel | Model Run Ice | mm | +| FRZRrun | Model Run Ice Accum | mm | +| fsD | Qs Div | K/m^2/s | +| FsVecs | Fs Vectors | K/m/s | +| FVecs | Frontogenesis Vectors | K/m/s | +| Fzra1 | 850-1000 fz thk | | +| Fzra2 | Thickness: FZRA/FZDZ | | +| g2gsh | Gate to Gate Shear | kts | +| gamma | Lapse Rate | K/m | +| gammaE | ThetaE Lapse Rate | K/m | +| GaugeCorrQPE01H | QPE - Radar with Gauge Bias Correction (1 hr. accum.) | mm | +| GaugeCorrQPE03H | QPE - Radar with Gauge Bias Correction (3 hr. accum.) | mm | +| GaugeCorrQPE06H | QPE - Radar with Gauge Bias Correction (6 hr. accum.) | mm | +| GaugeCorrQPE12H | QPE - Radar with Gauge Bias Correction (12 hr. accum.) | mm | +| GaugeCorrQPE24H | QPE - Radar with Gauge Bias Correction (24 hr. accum.) | mm | +| GaugeCorrQPE48H | QPE - Radar with Gauge Bias Correction (48 hr. accum.) | mm | +| GaugeCorrQPE72H | QPE - Radar with Gauge Bias Correction (72 hr. accum.) | mm | +| GaugeInfIndex01HP1 | 1 hour QPE Gauge Influence Index Pass 1 | | +| GaugeInfIndex01HP2 | 1 hour QPE Gauge Influence Index Pass 2 | | +| GaugeInfIndex03HP1 | 3 hour QPE Gauge Influence Index Pass 1 | | +| GaugeInfIndex03HP2 | 3 hour QPE Gauge Influence Index Pass 2 | | +| GaugeInfIndex06HP1 | 6 hour QPE Gauge Influence Index Pass 1 | | +| GaugeInfIndex06HP2 | 6 hour QPE Gauge Influence Index Pass 2 | | +| GaugeInfIndex12HP1 | 12 hour QPE Gauge Influence Index Pass 1 | | +| GaugeInfIndex12HP2 | 12 hour QPE Gauge Influence Index Pass 2 | | +| GaugeInfIndex24HP1 | 24 hour QPE Gauge Influence Index Pass 1 | | +| GaugeInfIndex24HP2 | 24 hour QPE Gauge Influence Index Pass 2 | | +| GaugeInfIndex48HP1 | 48 hour QPE Gauge Influence Index Pass 1 | | +| GaugeInfIndex48HP2 | 48 hour QPE Gauge Influence Index Pass 2 | | +| GaugeInfIndex72HP1 | 72 hour QPE Gauge Influence Index Pass 1 | | +| GaugeInfIndex72HP2 | 72 hour QPE Gauge Influence Index Pass 2 | | +| GaugeOnlyQPE01H | QPE - Radar Gauge Only (1 hr. accum.) | mm | +| GaugeOnlyQPE03H | QPE - Radar Gauge Only (3 hr. accum.) | mm | +| GaugeOnlyQPE06H | QPE - Radar Gauge Only (6 hr. accum.) | mm | +| GaugeOnlyQPE12H | QPE - Radar Gauge Only (12 hr. accum.) | mm | +| GaugeOnlyQPE24H | QPE - Radar Gauge Only (24 hr. accum.) | mm | +| GaugeOnlyQPE48H | QPE - Radar Gauge Only (48 hr. accum.) | mm | +| GaugeOnlyQPE72H | QPE - Radar Gauge Only (72 hr. accum.) | mm | +| GeH | Geometric Height | m | +| geoVort | Geo Vorticity | /s | +| geoW | Geostrophic Wind | m/s | +| geoWM | Magnitude Geo Wind | m/s | +| GFLUX | Ground Heat Flux | W/m^2 | +| GH | Geopotential Height | gpm | +| GH | Height | m | +| GH12hour | 12 hour Height | m | +| GH2day | 2 day Height | m | +| GH5day | 5 day Height | m | +| GH_avg | Height Ensemble Mean | m | +| GH_perts | Height Perturbations | m | +| GH_std | Height Ensemble Std Dev | m | +| GHmean | Geopotential Height mean | m | +| GHsprd | Geopotential Height spread | m | +| GHxSM | Filtered-500km Hgt | m | +| GHxSM2 | Filtered-250km Hgt | m | +| gOvf | | | +| Gust | Wind Gust | m/s | +| GVV | Geometric Vertical Velocity | m/s | +| GVV | Geometric Vertical Velocity | m/s | +| GVV1hr | Mean 1hr Geometric Vertical Velocity | m/s | +| H50Above0C | Height of 50 dBZ Echo Above 0C | km | +| H50AboveM20C | Height of 50 dBZ Echo Above -20C | km | +| H60Above0C | Height of 60 dBZ Echo Above 0C | km | +| H60AboveM20C | Height of 60 dBZ Echo Above -20C | km | +| HAILPROB | Hail Probability | % | +| HC | Hydrometeor Class | | +| HCDC | High Cloud Cover | % | +| HeightCompositeReflectivity | Composite Reflectivity Height | m | +| HeightLLCompositeReflectivity | Low-Level Composite Reflectivity Height | m | +| Heli | Helicity | m\*m/s\*s | +| Heli | Storm Relative Helicity | m^2/s^2 | +| HeliC | Helicity (for > 300J/Kg MLCape) | | +| HeliD | Helicity (NCEP Delivered) | m²/s² | +| HI | Haines Index | | +| HI | Haines Index | Numeric | +| HI1 | Haines Stab Term | | +| HI3 | HI1 Index Assign | | +| HI4 | Moist Term Index Assign | | +| HIdx | Heat Index | K | +| HIdx | Heat Index | K | +| HighLayerCompositeReflectivity | High Layer Composite Reflectivity (24-60 kft) | dBZ | +| HIWC | HiWc | K | +| HPBL | Height of Planetary Boundary Layer | m | +| HPBL | Planetary Boundary Layer Height | m | +| HTSGW | Total Significant Wave Height | m | +| HyC | Hydrometer Conc | g/m^3 | +| ICAHT | ICAO Standard Atmosphere Reference Height | m | +| ICEC | Derived Radar Composite | Proportion | +| ICEC | Ice Cover | | +| ICEC | Ice Cover | Proportion | +| ICEG | Ice growth rate | m/s | +| ICETK | Ice Thickness | m | +| ICI | Icing Severity Index | | +| ICIP | Icing Probability | % | +| ICMR | Ice Water Mixing Ratio | | +| ICNG | Icing Potential | % | +| ICPRB | Icing Probability | % | +| ICSEV | Icing Severity Index | | +| ICSEV | Icing severity | non-dim | +| ILW | Int Liquid Water | g/m^2 | +| Into | Component Into | m/s | +| INV | Height of MaxTw above FrzLvl | ft | +| IP | Icing Pot | | +| IPLayer | SFC Cold Lyr Probs Toward SLEET | ft | +| IRBand4 | Infrared Imagery | K | +| JFWPRB9-20 | Fire Wx: Prob Wind >= 17.5 kts and RH < 20% | % | +| KDP | Specific Differential Phase | deg/km | +| KI | K Index | K | +| KI | K Index | K | +| L-I | Computed LI | ℃ | +| L3EchoTop | Level III High Resolution Enhanced Echo Top Mosaic | kft | +| L3VIL | Level III High Resolution VIL Mosaic | kg/m^2 | +| LAND | Land Cover (0=sea, 1=land) | Proportion | +| LANDN | Land-sea coverage (nearest neighbor) [land=1,sea=0] | | +| LAPR | Lapse Rate | K/m | +| latitude | Latitude | ° | +| LatLon | Earth Location | | +| LCDC | Low Cloud Cover | % | +| LgSP | Large Scale Precipitation | mm | +| LgSP1hr | Large Scale Precipitation(1 hour) | mm | +| LgSP3hr | Large Scale Precipitation(3 hour) | mm | +| LHF | Latent Heat Flux | W/m^2 | +| LightningDensity15min | CG Lightning Density (15 min.) | Flashes/km^2/min | +| LightningDensity1min | CG Lightning Density (1 min.) | Flashes/km^2/min | +| LightningDensity30min | CG Lightning Density (30 min.) | Flashes/km^2/min | +| LightningDensity5min | CG Lightning Density (5 min.) | Flashes/km^2/min | +| LightningJumpGrid | Lightning Jump | | +| LightningJumpGridMax5min | Lightning Jump Max | | +| LightningProbabilityNext30min | CG Lightning Probability (0-30 min.) | % | +| LightningProbabilityNext60min | CG Lightning Probability (0-60 min.) | % | +| LIsfc2x | Lifted Index Sfc to | ℃ | +| LLCompositeReflectivity | Low-Level Composite Reflectivity | dBZ | +| LLWSWind | LLWSWind | kts | +| LM5 | Bunkers Left-Moving Supercell | m/s | +| LM6 | Elevated Left-Moving Supercell | m/s | +| loCape | CAPE to 3kmAGL (Tv) | J/kg | +| longitude | Longitude | ° | +| LowLayerCompositeReflectivity | Low Layer Composite Reflectivity (0-24 kft) | dBZ | +| LSOIL | Liquid soil moisture content (non-frozen) | kg/m^2 | +| lsrSample | LSR Sample | | +| LtgP2hr | 2hr Lightning probability | % | +| LtgPcat | Categorical lightning potential | | +| LTNG | Lightning | non-dim | +| LTNG | Max 1hr Lightning Threat (flashes/km^2) | | +| LWHR | Long-Wave Radiative Heating Rate | K/s | +| lzfpc | Lower Zone Primary Free Water Content | % | +| lzfsc | Lower Zone Secondary Free Water Content | % | +| lztwc | Lower Zone Tension Water Content | % | +| MAdv | Moisture Adv | (g/kg)/s | +| maritimeObscuredSkyIFR | | ft | +| maritimeObscuredSkyLIFR | | ft | +| maritimeObscuredSkyMVFR | | ft | +| maritimeObscuredSkySymIFR | | | +| maritimeObscuredSkySymLIFR | | | +| maritimeObscuredSkySymMVFR | | | +| maritimeObscuredSkySymVFR | | | +| maritimeObscuredSkyVFR | | ft | +| maritimeWind20T34 | | kn | +| maritimeWind34T48 | | kn | +| maritimeWind48T64 | | kn | +| maritimeWind64P | | kn | +| maritimeWindDir20T34 | | deg | +| maritimeWindDir34T48 | | deg | +| maritimeWindDir48T64 | | deg | +| maritimeWindDir64P | | deg | +| maritimeWindDirLow | | deg | +| maritimeWindGust20T34 | | kn | +| maritimeWindGust34T48 | | kn | +| maritimeWindGust48T64 | | kn | +| maritimeWindGust64P | | kn | +| maritimeWindGustLow | | kn | +| maritimeWindLow | | kn | +| MaxDVV | Max 1hr Downdraft Vertical Velocity | m/s | +| maxEPT | Max ThetaE (0-3kmAgl) | K | +| MaxGRPL1hr | Max Hourly Graupel | kg/m^2 | +| MaxREF1hr | Max Hourly Reflectivity | dBZ | +| MAXRH | Maximum Relative Humidity | % | +| MAXRH12hr | 12-hour Maximum Rel Humidity | % | +| MAXRH3hr | 3-hour Maximum Rel Humidity | % | +| MAXUPHL | Max 1hr Updraft Helicity | m^2/s^2 | +| MAXUPHL | Max Updraft Helicity | m^2/s^2 | +| MaxUPHL1hr | Max Hourly Updft Helicity | m^2/s^2 | +| MaxUVV | Max 1hr Updraft Vertical Velocity | m/s | +| MAXUW | U Component of Hourly Maximum Wind Speed | m/s | +| MAXVW | V Component of Hourly Maximum Wind Speed | m/s | +| MaxWGS1hr | Max Hourly Wind Gust | m/s | +| MaxWHRRR | Maximum 1hr Wind Gust | m/s | +| MaxWind1hr | MaxWind1hr | m/s | +| MCDC | Medium Cloud Cover | % | +| MCon | Moisture Flux Div | (g/kg)/s | +| MCon2 | Moisture Flux Div (Conv only) | (g/kg)/s | +| MCONV | Horizontal Moisture Convergence | kg/kg*s^m^2/s | +| MergedAzShear02kmAGL | Low-Level Azimuthal Shear (0-2km AGL) | 1/s | +| MergedAzShear36kmAGL | Mid-Level Azimuthal Shear (3-6km AGL) | 1/s | +| MergedBaseReflectivity | Raw Merged Base Reflectivity | dBZ | +| MergedBaseReflectivityQC | Merged Base Reflectivity | dBZ | +| MergedReflectivityAtLowestAltitude | Merged Reflectivity At Lowest Altitude (RALA) | dBZ | +| MergedReflectivityComposite | Raw Composite Reflectivity Mosaic | dBZ | +| MergedReflectivityQCComposite | Composite Reflectivity | dBZ | +| MergedReflectivityQComposite | Composite Reflectivity Mosaic | dBZ | +| MESH | Maximum Estimated Size of Hail (MESH) | mm | +| MESHTrack120min | MESH Tracks (120 min. accum.) | mm | +| MESHTrack1440min | MESH Tracks (1440 min. accum.) | mm | +| MESHTrack240min | MESH Tracks (240 min. accum.) | mm | +| MESHTrack30min | MESH Tracks (30 min. accum.) | mm | +| MESHTrack360min | MESH Tracks (360 min. accum.) | mm | +| MESHTrack60min | MESH Tracks (60 min. accum.) | mm | +| minEPT | Min ThetaE (3-6kmAgl) | K | +| MINRH | Minimum Relative Humidity | % | +| MINRH12hr | 12-hour Minimum Rel Humidity | % | +| MINRH3hr | 3-hour Minimum Rel Humidity | % | +| Mix1 | 850-1000 mx thk | | +| Mix2 | Thickness: Wintery MIX | | +| MIXR | Humidity Mixing Ratio | kg/kg | +| mixRat | Mixing Ratio | g/kg | +| MLLCL | ML LCL Height | m | +| Mmag | Moisture Trans Mag | g·m/(kg·s) | +| MMP | MCS Maintenance Probability | % | +| MMSP | MSLP (MAPS Reduction) | Pa | +| MnT | Minimum Temperature | K | +| MnT | Minimum Temperature | K | +| MnT12hr | 12-hr Minimum Temperature | K | +| MnT3hr | 3-hr Minimum Temperature | K | +| MnT6hr | 6-hr Minimum Temperature | K | +| MnT_avg | Min Temp Ensemble Mean | K | +| MnT_perts | Min Temp Perturbations | K | +| MnT_std | Min Temp Ensemble Std Dev | K | +| ModelHeight0C | Freezing Level Height | m | +| ModelSurfaceTemperature | Surface Temperature | C | +| ModelWetbulbTemperature | Wet Bulb Temperature | C | +| MountainMapperQPE01H | QPE - Mountain Mapper (1 hr. accum.) | mm | +| MountainMapperQPE03H | QPE - Mountain Mapper (3 hr. accum.) | mm | +| MountainMapperQPE06H | QPE - Mountain Mapper (6 hr. accum.) | mm | +| MountainMapperQPE12H | QPE - Mountain Mapper (12 hr. accum.) | mm | +| MountainMapperQPE24H | QPE - Mountain Mapper (24 hr. accum.) | mm | +| MountainMapperQPE48H | QPE - Mountain Mapper (48 hr. accum.) | mm | +| MountainMapperQPE72H | QPE - Mountain Mapper (72 hr. accum.) | mm | +| MpV | Saturated Geo Pot Vort | K/hPa/s | +| MRETag | Echo Tops | m | +| MRMSVIL | Vertically Integrated Liquid (VIL) | kg/m^2 | +| MRMSVIL120min | VIL Max (120 min.) | kg/m^2 | +| MRMSVIL1440min | VIL Max (1440 min.) | kg/m^2 | +| MRMSVILDensity | Vertically Integrated Liquid (VIL) Density | g/m^3 | +| MSFDi | Isen Moisture Stability Flux Div | (g\*hPa\*m)/(kg\*K\*s^2) | +| MSFi | Isentropic Moisture Stability Flux | g·hPa·m/(kg·K·s) | +| MSFmi | Isen Moisture Stability Flux Mag | g·hPa·m/(kg·K·s) | +| MSG | Mont Strm Func | m | +| MSG | Montgomery Stream Function | m^2/s^2 | +| msl-P | MSL Pressure | hPa | +| msl-P2 | MSL Pressure (2) | hPa | +| msl-P_avg | MSL Press Ensemble Mean | hPa | +| msl-P_perts | MSL Press Perturbations | hPa | +| msl-P_std | MSL Press Ensemble Std Dev | hPa | +| MSL1 | MSL1 | ft | +| MSL2 | MSL2 | ft | +| MSL3 | MSL3 | ft | +| MSL4 | MSL4 | ft | +| MSL5 | MSL5 | ft | +| MSLSA | Altimeter | hPa | +| MTV | Moisture Trans Vecs | g·m/(kg·s) | +| muCape | Most Unstable CAPE | J/kg | +| MultiSensorP1QPE01H | QPE - Multi Sensor P1 (1 hr. accum.) | mm | +| MultiSensorP1QPE03H | QPE - Multi Sensor P1 (3 hr. accum.) | mm | +| MultiSensorP1QPE06H | QPE - Multi Sensor P1 (6 hr. accum.) | mm | +| MultiSensorP1QPE12H | QPE - Multi Sensor P1 (12 hr. accum.) | mm | +| MultiSensorP1QPE24H | QPE - Multi Sensor P1 (24 hr. accum.) | mm | +| MultiSensorP1QPE48H | QPE - Multi Sensor P1 (48 hr. accum.) | mm | +| MultiSensorP1QPE72H | QPE - Multi Sensor P1 (72 hr. accum.) | mm | +| MultiSensorP2QPE01H | QPE - Multi Sensor P2 (1 hr. accum.) | mm | +| MultiSensorP2QPE03H | QPE - Multi Sensor P2 (3 hr. accum.) | mm | +| MultiSensorP2QPE06H | QPE - Multi Sensor P2 (6 hr. accum.) | mm | +| MultiSensorP2QPE12H | QPE - Multi Sensor P2 (12 hr. accum.) | mm | +| MultiSensorP2QPE24H | QPE - Multi Sensor P2 (24 hr. accum.) | mm | +| MultiSensorP2QPE48H | QPE - Multi Sensor P2 (48 hr. accum.) | mm | +| MultiSensorP2QPE72H | QPE - Multi Sensor P2 (72 hr. accum.) | mm | +| MXDVV | Max Downdraft Vertical Velocity | m/s | +| MXREF | Max 1hr CAPPI | dB | +| MXSALB | Maximum Snow Albedo | % | +| MxT | Maximum Temperature | K | +| MxT | Maximum Temperature | K | +| MxT12hr | 12-hr Maximum Temperature | K | +| MxT3hr | 3-hr Maximum Temperature | K | +| MxT6hr | 6-hr Maximum Temperature | K | +| MxT_avg | Max Temp Ensemble Mean | K | +| MxT_perts | Max Temp Perturbations | K | +| MxT_std | Max Temp Ensemble Std Dev | K | +| MXUVV | Max Updraft Vertical Velocity | m/s | +| NBDSF | Near IR Beam Downward Solar Flux | W/m^2 | +| NBE | Neg Buoy Energy | J/kg | +| NDDSF | Near IR Diffuse Downward Solar Flux | W/m^2 | +| NetIO | Net Isen Adiabatic Omega | Pa/s | +| NLAT | Latitude (-90 to 90) | deg | +| NST | Nonsupercell Tornado (>1 NST Threat) | | +| NST1 | Nonsupercell Tornado (>1 NST Threat | | +| NST2 | Nonsupercell Tornado (>1 NST Threat | | +| numLevels | Number of Levels | | +| O3MR | Ozone Mixing Ratio | kg/kg | +| obscuredSky2IFR | | ft | +| obscuredSky2LIFR | | ft | +| obscuredSky2MVFR | | ft | +| obscuredSky2VFR | | ft | +| obscuredSky3IFR | | ft | +| obscuredSky3LIFR | | ft | +| obscuredSky3MVFR | | ft | +| obscuredSky3VFR | | ft | +| obscuredSkyIFR | | ft | +| obscuredSkyLIFR | | ft | +| obscuredSkyMVFR | | ft | +| obscuredSkySym2IFR | | | +| obscuredSkySym2LIFR | | | +| obscuredSkySym2MVFR | | | +| obscuredSkySym2VFR | | | +| obscuredSkySym3IFR | | | +| obscuredSkySym3LIFR | | | +| obscuredSkySym3MVFR | | | +| obscuredSkySym3VFR | | | +| obscuredSkySymIFR | | | +| obscuredSkySymLIFR | | | +| obscuredSkySymMVFR | | | +| obscuredSkySymVFR | | | +| obscuredSkyVFR | | ft | +| obsWind30T50 | | kn | +| obsWind50P | | kn | +| obsWindDir30T50 | | deg | +| obsWindDir50P | | deg | +| obsWindDirLow | | deg | +| obsWindGust30T50 | | kn | +| obsWindGust50P | | kn | +| obsWindGustLow | | kn | +| obsWindLow | | kn | +| obVis | Obstruction to Vision | | +| OGRD | Current Vectors | m/s | +| OmDiff | mb between -15C Omega and MaxOmega | hPa | +| ONE | One | | +| OTIM | Observation Time | | +| OZCON | Ozone Concentration | ppb | +| OZMAX1 | Ozone Daily Max from 1-hour Average | ppbV | +| OZMAX8 | Ozone Daily Max from 8-hour Average | ppbV | +| P | Pressure | hPa | +| P | Pressure | Pa | +| PAdv | Pressure Adv | hPa/s | +| PBE | Pos Buoy Energy | J/kg | +| PBLREG | Planetary Boundary Layer Regime | | +| PEC | Precipitation Potential Placement | in | +| PEC_TT24 | 24h Cumulative Precip Potential Placement | in | +| PERPW | Primary Wave Mean Period | s | +| PERPW | Primary Wave Period | s | +| Perranl | Pressure Analysis Uncertainty | Pa | +| Perranl | Pressure Error Analysis | Pa | +| PERSW | Secondary wave mean period | s | +| PERSW | Secondary Wave Mean Period | s | +| PEVAP | Potential Evaporation | mm | +| PEVPR | Potential Evaporation Rate | W/m^2 | +| PFrnt | 2-D Frontogenesis/Mag Fn | K/m/s | +| PGrd | Pressure Gradient | hPa/m | +| PGrd1 | Pressure Gradient | dPa/km | +| PGrdM | Pressure Grad Mag | hPa/m | +| PICE | Pecipitating ice content | g/m^3 | +| PIVA | Thermal Wind Vort Adv | /s | +| pkPwr | Peak Power | dB | +| PLI | Parcel Lifted Index (to 500 mb) | K | +| PLIxc1 | Prob LI < 0 | % | +| PLIxc2 | Prob LI < -2 | % | +| PLIxc3 | Prob LI < -4 | % | +| PLIxc4 | Prob LI < -6 | % | +| PLIxc5 | Prob LI < -8 | % | +| PMSL | Pressure Reduced to MSL | Pa | +| PMSLmean | Mean Sea Level Pressure mean | hPa | +| PMSLsprd | Mean Sea Level Pressure sprd | hPa | +| poesDif11u3_7uIR | POES 11u-3.7u Satellite | GenericPixel | +| POP | Probability of precip | % | +| POP12hr | 12hr precip probability | % | +| POP3hr | 3hr precip probability | % | +| POP6 | POP 6hr | % | +| POP6hr | 6hr precip probability | % | +| POP_001 | Prob of .1in/6hr Precip | % | +| POP_002 | Prob of .3in/6hr Precip | % | +| POP_003 | Prob of .6in/6hr Precip | % | +| POP_004 | Prob of 1in/6hr Precip | % | +| POP_005 | Prob of 2in/6hr Precip | % | +| POP_006 | Prob of .1in/12hr Precip | % | +| POP_007 | Prob of .3in/12hr Precip | % | +| POP_008 | Prob of .6in/12hr Precip | % | +| POP_009 | Prob of 1in/12hr Precip | % | +| POP_010 | Prob of 2in/12hr Precip | % | +| POP_011 | Prob of .05in/6hr Precip | % | +| POP_012 | Prob of .05in/12hr Precip | % | +| POP_013 | Prob of 1in/24hr Precip | % | +| POP_014 | Prob of 2in/24hr Precip | % | +| POP_015 | Prob of 2in/36hr Precip | % | +| POP_016 | Prob of 2in/48hr Precip | % | +| POROS | Soil Porosity | Proportion | +| POSH | Probability of Severe Hail (POSH) | % | +| PoT | Potential Temp | K | +| PoT | Potential Temperature | K | +| PoTA | Pot Temp Adv | K/s | +| PPAM | Prob Precip abv nrml | % | +| PPAN | Prob Precip abv nrml | % | +| PPAS | Prob Precip abv nrml | % | +| PPBM | Prob Precip blw nrml | % | +| PPBN | Prob Precip blw nrml | % | +| PPBS | Prob Precip blw nrml | % | +| PPFFG | Probability of excessive rain | % | +| PPI | Precipitation Probability Index | % | +| PPI1hr | Precipitation Probability Index(1 hour) | % | +| PPI6hr | Precipitation Probability Index(6 hour) | % | +| PPNN | Prob Precip near nrml | % | +| PR | Precip Rate | mm/s | +| PR | Precipitation Rate | mm/s | +| prCloudHgt | prCLoud converted to Hgt | m | +| prCloudHgtHi | prCloudHgt when in hi layer | m | +| prCloudHgtLow | prCloudHgt when in low layer | m | +| prCloudHgtMid | prCloudHgt when in mid layer | m | +| prcp12hr | 12hr probability of 0.01 inch of precip | % | +| prcp3hr | 3hr probability of 0.01 inch of precip | % | +| prcp6hr | 6hr probability of 0.01 inch of precip | % | +| Precip24Hr | Precip24Hr | in | +| Precip3Hr | Precip3Hr | in | +| Precip6Hr | Precip6Hr | in | +| PrecipRate | Radar Precipitation Rate (SPR) | mm/hr | +| PrecipType | Surface Precipitation Type (SPT) | | +| PRESA | Pressure Anomaly | Pa | +| PresStk | Obsolete, replace later | | +| presWeather | Present Weather | | +| Prob34 | Prob of Wind Speed > 34 knots | m/s | +| Prob50 | Prob of Wind Speed > 50 knots | m/s | +| Prob64 | Prob of Wind Speed > 64 knots | m/s | +| ProbDpT50 | Probability of Dewpoint temp > 50 degF | % | +| ProbDpT55 | Probability of Dewpoint temp > 55 degF | % | +| ProbDpT60 | Probability of Dewpoint temp > 60 degF | % | +| ProbDpT65 | Probability of Dewpoint temp > 65 degF | % | +| ProbDpT70 | Probability of Dewpoint temp > 70 degF | % | +| ProbVSS10p3Layer | Prob Vertical Speed Shear > 20 kts | % | +| ProbVSS10p3Sfc | Prob 0-2kft Shear > 20 kts | % | +| PROCON | Probability of convection | % | +| PROCON2hr | 2hr Convection probability | % | +| PROLGHT | Lightning probability | % | +| PROLGHT2hr | 2hr Lightning probability | % | +| PRP01H | 1hr MRMS Radar-Only ARI | year | +| PRP03H | 3hr MRMS Radar-Only ARI | year | +| PRP06H | 6hr MRMS Radar-Only ARI | year | +| PRP12H | 12hr MRMS Radar-Only ARI | year | +| PRP24H | 24hr MRMS Radar-Only ARI | year | +| PRP30M | 30min MRMS Radar-Only ARI | year | +| PRPMax | Maximum MRMS Radar-Only ARI | year | +| PRSIGSV | Total Probability of Extreme Severe Thunderstorms | % | +| PRSVR | Total Probability of Severe Thunderstorms | % | +| Psfc | Surface pressure | hPa | +| PT3 | 3 hr Pres Change | hPa | +| PTAM | Prob Temp abv nrml | % | +| PTAN | Prob Temp abv nrml | % | +| PTAS | Prob Temp abv nrml | % | +| PTBM | Prob Temp blw nrml | % | +| PTBN | Prob Temp blw nrml | % | +| PTBS | Prob Temp blw nrml | % | +| PTNN | Prob Temp near nrml | % | +| Ptopo | Surface pressure | hPa | +| PTOR | Tornado Probability | % | +| PTvA | Pot Vorticity Adv | K/hPa/s\*1.0E5 | +| PTyp | Precip Type | | +| PTypeRefIP | Prob Precip Type is Refreezing Ice Pellets | % | +| pV | Potential Vorticity | K/hPa/s | +| pVeq | Equiv Pot Vort | K/hPa/s | +| PVORT | Potential Vorticity | m^2*kg^-1*s^-1 | +| PVV | Omega | Pa/s | +| PVV | Vertical Velocity Pressure | Pa/s | +| PW | Precipitable Water | mm | +| PW | Preciptable H2O | in | +| PW2 | Preciptable H2O >1.4 in. | in | +| PWmean | Precipitable Water mean | mm | +| PWS34 | Incremental Prob of wind speed >= 34 knots | % | +| PWS50 | Incremental Prob of wind speed >= 50 knots | % | +| PWS64 | Incremental Prob of wind speed >= 64 knots | % | +| PWsprd | Precipitable Water sprd | mm | +| qDiv | Div Q | K/m^2/s\*1.0E-12 | +| QMAX | Maximum specific humidity at 2m | kg/kg | +| QMIN | Minimum specific humidity at 2m | kg/kg | +| qnVec | Qn Vectors | K/m^2/s | +| QPECrestSoilMoisture | QPE-CREST Soil Moisture | % | +| QPECrestStreamflow | QPE-CREST Maximum Streamflow | (m^3)*(s^-1) | +| QPECrestUStreamflow | QPE-CREST Maximum Unit Streamflow | (m^3)*(s^-1)*(km^-2) | +| QPEFFG01H | 1hr MRMS Radar-Only QPE-to-FFG Ratio | | +| QPEFFG03H | 3hr MRMS Radar-Only QPE-to-FFG Ratio | | +| QPEFFG06H | 6hr MRMS Radar-Only QPE-to-FFG Ratio | | +| QPEFFGMax | Maximum MRMS Radar-Only QPE-to-FFG Ratio | | +| QPEHPStreamflow | QPE-Hydrophobic Maximum Streamflow | (m^3)*(s^-1) | +| QPEHPUStreamflow | QPE-Hydrophobic Maximum Unit Streamflow | (m^3)*(s^-1)*(km^-2) | +| QPESacSoilMoisture | QPE-SAC-SMA Soil Moisture | % | +| QPESacStreamflow | QPE-SAC-SMA Maximum Streamflow | (m^3)*(s^-1) | +| QPESacUStreamflow | QPE-SAC-SMA Maximum Unit Streamflow | (m^3)*(s^-1)*(km^-2) | +| QPV1 | QVec Conv | K/m^2/s\*1.0E-12 | +| QPV2 | Negative EPV* | K/hPa/s | +| QPV3 | QPV Net | | +| QPV4 | QG-EPV, RH>75% | | +| qsVec | Qs Vectors | K/m^2/s | +| qVec | Q Vectors | K/m^2/s | +| RadarAQI01H | Radar Accumulation Quality Index 1 hour | | +| RadarAQI03H | Radar Accumulation Quality Index 3 hour | | +| RadarAQI06H | Radar Accumulation Quality Index 6 hour | | +| RadarAQI12H | Radar Accumulation Quality Index 12 hour | | +| RadarAQI24H | Radar Accumulation Quality Index 24 hour | | +| RadarAQI48H | Radar Accumulation Quality Index 48 hour | | +| RadarAQI72H | Radar Accumulation Quality Index 72 hour | | +| RadarOnlyQPE01H | QPE - Radar Only (1 hr. accum.) | mm | +| RadarOnlyQPE03H | QPE - Radar Only (3 hr. accum.) | mm | +| RadarOnlyQPE06H | QPE - Radar Only (6 hr. accum.) | mm | +| RadarOnlyQPE12H | QPE - Radar Only (12 hr. accum.) | mm | +| RadarOnlyQPE12Z | QPE - Radar Only (Since 12Z accum.) | mm | +| RadarOnlyQPE15M | QPE - Radar Only (15 min accum.) | mm | +| RadarOnlyQPE24H | QPE - Radar Only (24 hr. accum.) | mm | +| RadarOnlyQPE48H | QPE - Radar Only (48 hr. accum.) | mm | +| RadarOnlyQPE72H | QPE - Radar Only (72 hr. accum.) | mm | +| RadarQualityIndex | Radar Quality Index (RQI) | | +| RAIN | Rain content | g/m^3 | +| Rain1 | 850-1000 ra thk | | +| Rain2 | 700-850 ra thk | | +| Rain3 | Thickness: Rain Likely | | +| Raob | Raob Interleaved Data | | +| rawMETAR24Chg | rawMETAR24Chg | ℃ | +| RCQ | Humidity parameter in canopy conductance | Proportion | +| RCS | Solar parameter in canopy conductance | Proportion | +| RCSOL | Soil moisture parameter in canopy conductance | Proportion | +| Reflectivity0C | Reflectivity at 0C | dBZ | +| ReflectivityAtLowestAltitude | Reflectivity At Lowest Altitude (RALA) | dBZ | +| ReflectivityM10C | Reflectivity at -10C | dBZ | +| ReflectivityM15C | Reflectivity at -15C | dBZ | +| ReflectivityM20C | Reflectivity at -20C | dBZ | +| ReflectivityM5C | Reflectivity at -5C | dBZ | +| RETOP | Echo Top | m | +| RH | Rel Humidity | % | +| RH | Relative Humidity | % | +| RH_001 | Prob of RH Grtn 70 percent | % | +| RH_001_bin | Binary Prob of RH Grtn 70 percent | | +| RH_001_perts | Prob of RH Grtn 70 percent Perts | | +| RH_002 | Prob of RH Grtn 90 percent | % | +| RH_002_bin | Binary Prob of RH Grtn 90 percent | | +| RH_002_perts | Prob of RH Grtn 90 percent Perts | | +| RH_avg | Rel Humidity Ensemble Mean | % | +| RH_perts | Rel Humidity Perturbations | % | +| RH_std | Rel Humidity Ensemble Std Dev | % | +| RHmean | Relative Humidity mean | % | +| RHsprd | Relative Humidity spread | % | +| RIME | Rime Factor | non-dim | +| RLYRS | Number of Soil Layers in Root Zone | Numeric | +| RM5 | Bunkers Right-Moving Supercell | m/s | +| RM6 | Elevated Right-Moving Supercell | m/s | +| RMGH2 | t-2Day Mean Hgt | m | +| RMprop | Right Mover Propagation Vector | | +| RMprop2 | Elevated Right Mover Propagation Vector | | +| rms | root mean square | kn | +| Ro | Rossby Number Vag/Vg | | +| RotationTrackLL120min | Low-Level Rotation Tracks 0-2km AGL (120 min. accum.) | 1/s | +| RotationTrackLL1440min | Low-Level Rotation Tracks 0-2km AGL (1440 min. accum.) | 1/s | +| RotationTrackLL240min | Low-Level Rotation Tracks 0-2km AGL (240 min. accum.) | 1/s | +| RotationTrackLL30min | Low-Level Rotation Tracks 0-2km AGL (30 min. accum.) | 1/s | +| RotationTrackLL360min | Low-Level Rotation Tracks 0-2km AGL (360 min. accum.) | 1/s | +| RotationTrackLL60min | Low-Level Rotation Tracks 0-2km AGL (60 min. accum.) | 1/s | +| RotationTrackML120min | Mid-Level Rotation Tracks 3-6km AGL (120 min. accum.) | 1/s | +| RotationTrackML1440min | Mid-Level Rotation Tracks 3-6km AGL (1440 min. accum.) | 1/s | +| RotationTrackML240min | Mid-Level Rotation Tracks 3-6km AGL (240 min. accum.) | 1/s | +| RotationTrackML30min | Mid-Level Rotation Tracks 3-6km AGL (30 min. accum.) | 1/s | +| RotationTrackML360min | Mid-Level Rotation Tracks 3-6km AGL (360 min. accum.) | 1/s | +| RotationTrackML60min | Mid-Level Rotation Tracks 3-6km AGL (60 min. accum.) | 1/s | +| routed_flow | Channel Routed Flow [Low] | | +| routed_flow_c | Channel Routed Flow [Combo] | | +| routed_flow_h | Channel Routed Flow [Hi] | | +| routed_flow_m | Channel Routed Flow [Mid] | | +| RR | Reflectivity | dBZ | +| RRtype | Radar w/PType | dBZ | +| RRV | Radial Velocity | kts | +| RSMIN | Minimal Stomatal Resistance | s/m | +| RV | Rel Vorticity | /s | +| RWMR | Rain Mixing Ratio | kg/kg | +| s2H2O_CLIMO | Climatological -SON/DJF/MAM- Snow-to-water ratio | | +| s2H2O_GFS | GFS Snow-to-water ratio | | +| s2H2O_MEAN | HPC Mean Snow-to-water ratio | | +| s2H2O_NAM | NAM Snow-to-water ratio | | +| SA12hr | 12 Hr Snow Accum | mm | +| SA1hr | 1 Hr Snow Accum | mm | +| SA24hr | 24 Hr Snow Accum | mm | +| SA36hr | 36 Hr Snow Accum | mm | +| SA3hr | 3 Hr Snow Accum | mm | +| SA48hr | 48 Hr Snow Accum | mm | +| SA6hr | 6 Hr Snow Accum | mm | +| SAcc | Snow Accum via Thickness | mm | +| SALIN | Practical Salinity | | +| SALTY | Salinity | kg/kg | +| SAmodel | Model Run Snow via Thickness | mm | +| SArun | Model Run Snow Accum via Thickness | mm | +| satCloudPhase | Satellite Cloud Phase[8.5-11.2 um] | K | +| SATD | Saturation Deficit | Pa | +| satDif11u12uIR | 11u-12u Satellite | GenericPixel | +| satDif11u13uIR | 11u-13u Satellite | GenericPixel | +| satDif11u3_9uIR | 11u-3.9u Satellite | GenericPixel | +| satDivWVIR | IR in WV Satellite | DerivedWV | +| satFog | Satellite Fog[3.9-11.2 um] | K | +| satMoisture | Satellite Moisture[11.2-12.3 um] | K | +| satSnow | Satellite Snow[0.64-1.61 um] | | +| satUpperLevelInfo | Satellite Upper Level Info[11.2-6.19 um] | K | +| satVegetation | Satellite Vegetation[0.64-0.87 um] | | +| SBSNO | Sublimation (evaporation from snow) | W/m^2 | +| SBT113 | Simulated Brightness Temperature for GOES 11, Channel 3 | K | +| SBT114 | Simulated Brightness Temperature for GOES 11, Channel 4 | K | +| SBT123 | Simulated Brightness Temperature for GOES 12, Channel 3 | K | +| SBT124 | Simulated Brightness Temperature for GOES 12, Channel 4 | K | +| sce | NOHRSC Snow Coverage Elevation | kft | +| SCP | Snow Cover | | +| SCP | Snow Cover | % | +| SCWind | SCWind | m/s | +| SDEN | Snow Density | kg/m³ | +| SDENCLIMO | Climatological -SON/DJF/MAM- Snow Density | kg/m³ | +| SDENGFS | GFS Snow Density | kg/m³ | +| SDENMEAN | HPC Mean Snow Density | kg/m³ | +| SDENNAM | NAM Snow Density | kg/m³ | +| SeamlessHSR | Seamless Hybrid Scan Reflectivity (SHSR) | dBZ | +| SeamlessHSRHeight | Seamless Hybrid Scan Reflectivity (SHSR) Height | km | +| SFCR | Surface Roughness | m | +| SH | Spec Humidity | | +| SH | Specific Humidity | % | +| Shear | Shear (Vector) | /s | +| SHF | Sensible Heat Flux | W/m^2 | +| SHI | Severe Hail Index (SHI) | | +| ShrMag | Shear Magnitude | /s | +| shWlt | Showalter Index | ℃ | +| SHx | Spec Humidity | g/kg | +| SIGHAILPROB | Significant Hail Probability | % | +| SIGTRNDPROB | Significant Tornado Probability | % | +| SIGWINDPROB | Significant Wind Probability | % | +| SIPD | Supercooled Large Droplet Threat | | +| SLDP | Supercooled Large Droplet Threat | | +| SLI | Lifted Index | K | +| SLI | Surface Lifted Index | K | +| SLTYP | Surface Slope Type | Index | +| SMC | Soil Moisture | % | +| SMDRY | Direct Evaporation Cease (soil moisture) | Proportion | +| SMREF | Transpiration Stress-onset (soil moisture) | Proportion | +| SnD | Snow Depth | m | +| SnD | Snow Depth | m | +| SNFALB | Snow-Free Albedo | | +| SNMR | Snow Mixing Ratio | kg/kg | +| SNOL12c1 | Prob 12-hr SNOW > 1 in | % | +| SNOL12c10 | Prob 12-hr SNOW > 24 in | % | +| SNOL12c2 | Prob 12-hr SNOW > 2 in | % | +| SNOL12c3 | Prob 12-hr SNOW > 4 in | % | +| SNOL12c4 | Prob 12-hr SNOW > 6 in | % | +| SNOL12c5 | Prob 12-hr SNOW > 7.5 in | % | +| SNOL12c6 | Prob 12-hr SNOW > 8 in | % | +| SNOL12c7 | Prob 12-hr SNOW > 10 in | % | +| SNOL12c8 | Prob 12-hr SNOW > 12 in | % | +| SNOL12c9 | Prob 12-hr SNOW > 16 in | % | +| SNOL12mean | 12-hr Snowfall mean | mm | +| SNOL12sprd | 12-hr Large scale Snowfall sprd | mm | +| SNOM | Snow Melt | kg/m^2 | +| snoRat | | | +| snoRatCrocus | Snow Ratio - Crocus/ECMWF | | +| snoRatEMCSREF | Snow Ratio: EMC SREF | | +| snoRatOv2 | | | +| snoRatSPC | Snow Ratio - SPC | | +| snoRatSPCdeep | Snow Ratio - SPC 0-3km MaxT | | +| snoRatSPCsurface | Snow Ratio - SPCsurface | | +| snoRatWPC | Snow Ratio - WPC Mean | | +| SNOW | Snow content | g/m^3 | +| Snow1 | 850-1000 sn thk | | +| Snow2 | 700-850 sn thk | | +| Snow3 | Thickness: Snow Likely | | +| snowd3hr | 3hr Snow Depth | m | +| snowd6hr | 6hr Snow Depth | m | +| SNOWLVL | Snow Level | m | +| SnowT | Preferred Ice Growth | K | +| SNSQ | Snow Sql Parameter | | +| SNW | Sect Norm Wind | m/s | +| SNWA | Ageo Sect Norm Wind | kn | +| SOILM | Soil Moisture Content | kg/m^2 | +| SOILW | Volumetric Soil Moisture Content | Proportion | +| SOTYP | Soil Type | | +| SPAcc | Storm Total Precip | mm | +| SPBARO | Barotropic Velocity | m/s | +| SPC | Current Speed | m/s | +| SPC | Surface Current Speed | m/s | +| Spd24Chg | Spd24Chg | kn | +| sRank | Feature Strength Rank | | +| SRMl | Storm Relative Flow Vectors LM | m/s | +| SRMlM | Storm Relative Flow Mag LM | m/s | +| SRMm | Storm Relative Flow Vecs (Mean Wind) | m/s | +| SRMmM | Storm Relative Flow Mag (Mean Wind) | m/s | +| SRMr | Storm Relative Flow Vecs (RM) | m/s | +| SRMrM | Storm Relative Flow Mag (RM) | m/s | +| SSAcc | Storm Total Snow | mm | +| SSi | Isentropic Static Stability | hPa/K | +| SSP | Significant Severe Parameter | | +| SSRUN | Storm Surface Runoff | kg/m^2 | +| St-Pr | Stable Precipitation | mm | +| St-Pr1hr | 1 hr Stable Precipitation | mm | +| St-Pr2hr | 2 hr Stable Precipitation | mm | +| St-Pr3hr | 3 hr Stable Precipitation | mm | +| staName | StaName | | +| stationId | Station Id | C | +| stdDewpoint | Std Dewpoint | K | +| stdMaxWindSpeed | Std Max Wind Speed | m/s | +| stdSkyCover | Std Sky Cover | | +| stdTemperature | Std Temperature | K | +| stdWindDir | Std Wind Direction | | +| stdWindSpeed | Std Wind Speed | m/s | +| STP | Sig. Tornado Parameter (>1 Sig Tor) | | +| STP1 | Sig. Tornado Parameter (>1 Sig Tor) | | +| STRM | Stream Function | m^2/s | +| StrmMot | Storm Motion | kn | +| StrTP | Strong Tornado Parameter | m/s^2 | +| SuCP | Supercell Composite Parameter | | +| SUNSD | Sunshine Duration | s | +| SuperLayerCompositeReflectivity | Super Layer Composite Reflectivity (33-60 kft) | dBZ | +| SVV | Sigma Coordinate Vertical Velocity | /s | +| SWDIR | Direction of Swell Waves | deg | +| SWdir | Swell Direction | | +| swe | NOHRSC Snow Water Equivalent | in | +| SWELL | Significant Height of Swell Waves | m | +| SWELL | Swell Height | m | +| SWHR | Solar Radiative Heating Rate | K/s | +| SWLEN | Mean length of swell waves | m | +| SWPER | Mean Period of Swell Waves | s | +| SWPER | Swell Period | s | +| SWSTP | Steepness of swell waves | | +| swtIdx | Sweat Index | | +| SynPrecip24Hr | SynPrecip24Hr | mm | +| SynthPrecipRateID | QPE - Synthetic Precip Rate ID | | +| T | Temperature | K | +| T | Temperature | K | +| T24Chg | T24Chg | °F | +| T24hr | 24 hr Temperature | K | +| T_001 | Prob of Temp Lstn 0C | % | +| T_001_bin | Binary Prob of Temp Lstn 0C | | +| T_001_perts | Prob of Temp Lstn 0C Perturbations | | +| T_avg | Temperature Ensemble Mean | K | +| T_perts | Temperature Perturbations | K | +| T_std | Temperature Ensemble Std Dev | K | +| Ta | Temperature Anomaly | K | +| TAdv | Temperature Adv | K/s | +| Tc1 | Prob Temp < O C | % | +| TCC | Total Cloud Cover | % | +| TCCerranl | Total Cloud Cover Error Analysis | % | +| TCICON | Total Column-Integrated Condensate | kg/m^2 | +| TCLSW | Total Column Integrated Supercooled Liquid Water | kg/m^2 | +| TCOLG | Total Column Integrated Graupel | kg/m^2 | +| TCOLI | Total Column-Integrated Cloud Ice | kg/m^2 | +| TCOLM | Total Column Integrated Melting Ice | kg/m^2 | +| TCOLR | Total Column Integrated Rain | kg/m^2 | +| TCOLS | Total Column Integrated Snow | kg/m^2 | +| TCOLW | Total Column-Integrated Cloud Water | kg/m^2 | +| TCOND | Total Condensate | kg/kg | +| Tdef | Total Deformation | /s\*100000.0 | +| Tdend | Dendritic Growth Temperatures | K | +| Terranl | Temperature Analysis Uncertainty | K | +| Terranl | Temperature Error Analysis | K | +| TGrd | Temperature Gradient | K/m | +| TGrdM | Temperature Grad Mag | K/m | +| ThetaE | Theta E | K | +| ThGrd | Temperature Gradient | ℃/m | +| Thom5 | S-R Flow | | +| Thom5a | S-R Flow | | +| Thom6 | S-R Flow Suggests Tor Supercells | | +| ThP | Thunderstorm probability | % | +| ThP | Thunderstorm Probability | % | +| ThP12hr | 12hr Thunderstorm probability | % | +| ThP3hr | 3hr Thunderstorm probability | % | +| ThP6hr | 6hr Thunderstorm probability | % | +| ThPcat | Categorical thunderstorm | | +| TiltAng | Radar Tilt Angle | deg | +| TKE | Turb Kin Energy | J/kg | +| TKE | Turbulent Kinetic Energy | J/kg | +| Tmax | Layer Max Temperature | K | +| TmDpD | Temp minus Dewp Dep | | +| Tmean | Temperature mean | K | +| Tmin | Layer Min Temperature | K | +| Topo | Topography | m | +| TORi | BRNSHR,EHI,LRate>3C/km,CIN < 150 | | +| TORi2 | BRNSHR,EHI,0-2km LRate > 3C/km | | +| TotQi | Isentropic Total Moisture | g·hPa/(kg·K) | +| TOTSN | 24hr Snowfall | m | +| TOTSN12hr | 12hr Snowfall | m | +| TOZNE | Total Ozone | DU | +| TP | Precipitation | mm | +| TP | Total Precipitation | mm | +| TP120hr | 5 Day Total Gridded Precip | in | +| TP12c1 | 12-hr POP > 0.01 in | % | +| TP12c2 | 12-hr POP > 0.05 in | % | +| TP12c3 | 12-hr POP > 0.10 in | % | +| TP12c4 | 12-hr POP > 0.25 in | % | +| TP12c5 | 12-hr POP > 0.50 in | % | +| TP12c6 | 12-hr POP > 1.00 in | % | +| TP12c7 | 12-hr POP > 1.50 in | % | +| TP12c8 | 12-hr POP > 2.00 in | % | +| TP12hr | 12 Hr Accum Precip | mm | +| TP12hr | Total Precipitation(12 hours) | mm | +| TP12mean | 12-hr Total Precip mean | mm | +| TP12sprd | 12-hr Total Precip sprd | mm | +| TP168hr | 7 Day Total Gridded Precip | mm | +| TP18hr | Total Precipitation(18 hours) | mm | +| TP1hr | 1 Hr Accum Precip | mm | +| TP1hr | Total Precipitation(1 hour) | mm | +| TP24c1 | 24-hr POP > 0.01 in | % | +| TP24c2 | 24-hr POP > 0.05 in | % | +| TP24c3 | 24-hr POP > 0.10 in | % | +| TP24c4 | 24-hr POP > 0.25 in | % | +| TP24c5 | 24-hr POP > 0.50 in | % | +| TP24c6 | 24-hr POP > 1.00 in | % | +| TP24c7 | 24-hr POP > 1.50 in | % | +| TP24c8 | 24-hr POP > 2.00 in | % | +| TP24hr | 24 Hr Accum Precip | mm | +| TP24hr | Total Precipitation(24 hours) | mm | +| TP24hr_avg | 24hr Precip Ensemble Mean | mm | +| TP24hr_perts | 24hr Precip Perturbations | mm | +| TP24hr_std | 24hr Precip Ensemble Std Dev | mm | +| TP24mean | 24-hr Total Precip mean | mm | +| TP24sprd | 24-hr Total Precip sprd | mm | +| TP36hr | 36 Hr Accum Precip | mm | +| TP3c1 | 3-hr POP > 0.01 in | % | +| TP3c2 | 3-hr POP > 0.05 in | % | +| TP3c3 | 3-hr POP > 0.10 in | % | +| TP3c4 | 3-hr POP > 0.25 in | % | +| TP3c5 | 3-hr POP > 0.50 in | % | +| TP3c6 | 3-hr POP > 1.00 in | % | +| TP3c7 | 3-hr POP > 1.50 in | % | +| TP3c8 | 3-hr POP > 2.00 in | % | +| TP3hr | 3 Hr Accum Precip | mm | +| TP3hr | Total Precipitation(3 hours) | mm | +| TP3mean | 3-hr Total Precip mean | mm | +| TP3sprd | 3-hr Total Precip sprd | mm | +| TP48hr | 48 Hr Accum Precip | mm | +| TP48hr | Total Precipitation(48 hours) | mm | +| TP6c1 | 6-hr POP > 0.01 in | % | +| TP6c2 | 6-hr POP > 0.05 in | % | +| TP6c3 | 6-hr POP > 0.10 in | % | +| TP6c4 | 6-hr POP > 0.25 in | % | +| TP6c5 | 6-hr POP > 0.50 in | % | +| TP6c6 | 6-hr POP > 1.00 in | % | +| TP6c7 | 6-hr POP > 1.50 in | % | +| TP6c8 | 6-hr POP > 2.00 in | % | +| TP6hr | 6 Hr Accum Precip | mm | +| TP6hr | Total Precipitation(6 hours) | mm | +| TP6hr_avg | 6hr Precip Ensemble Mean | mm | +| TP6hr_perts | 6hr Precip Perturbations | mm | +| TP6hr_std | 6hr Precip Ensemble Std Dev | mm | +| TP6mean | 6-hr Total Precip mean | mm | +| TP6sprd | 6-hr Total Precip sprd | mm | +| TP72hr | 3 Day Total Gridded Precip | mm | +| TP9hr | Total Precipitation(9 hours) | mm | +| TP_ACR | ACR Precip | in | +| TP_ALR | ALR Precip | in | +| TP_avg | Precip Ensemble Mean | mm | +| TP_ECMWF | ECMWF Precipitation | in | +| TP_ECMWF12hr | ECMWF 12 Hr Accum Precip | in | +| TP_FWR | FWR Precip | in | +| TP_HPC | HPC Precip | in | +| TP_KRF | KRF Precip | in | +| TP_MSR | MSR Precip | in | +| TP_ORN | ORN Precip | in | +| TP_perts | Precip Perturbations | mm | +| TP_PTR | PTR Precip | in | +| TP_RHA | RHA Precip | in | +| TP_RSA | RSA Precip | in | +| TP_std | Precip Ensemble Std Dev | mm | +| TP_STR | STR Precip | in | +| TP_TAR | TAR Precip | in | +| TP_TIR | TIR Precip | in | +| TP_TUA | TUA Precip | in | +| TPFI | Turbulence Index | | +| TPFI | Turbulence Potential Forecast Index | | +| TP-GFS | Total Precipitation for GFS | mm | +| tpHPC | HPC Precip | in | +| tpHPCndfd | Precipitation | mm | +| TPmodel | Model Run Precip | mm | +| TPrun | Run Accum Pcpn | mm | +| TPrun_avg | Accum Precip Ensemble Mean | mm | +| TPrun_perts | Accum Precip Perturbations | mm | +| TPrun_std | Accum Precip Ensemble Std Dev | mm | +| TPx12x6 | 12-6 Hr Accum Precip | mm | +| TPx1x3 | 3x1 Hr Accum Precip | mm | +| TPx3 | 3 Hr Accum Precip | mm | +| TQIND | TQ Index 12=Cold Pool 17=Embedded Convection | C | +| TRANS | Transpiration | W/m^2 | +| transparentMaritimeSky | | ft | +| transparentMaritimeSkySym | | ft | +| transparentSky | | ft | +| transparentSky2 | | ft | +| transparentSky3 | | ft | +| transparentSkySym | | ft | +| transparentSkySym2 | | ft | +| transparentSkySym3 | | ft | +| TransWind | TransWind | kts | +| TShrMi | S=0-6km Shear Supports Scells | | +| TSLSA | 3 hr Pres Change | hPa | +| TSNOW | Total Snow | kg/m^2 | +| TSOIL | Soil Temperature | K | +| Tsprd | Temperature spread | K | +| TSRWE | Total Snowfall Rate Water Equivalent | kg/m^2/s | +| Tstk | Temp Stack | K | +| tTOT | Total Totals | C | +| TURB | Turbulence Index | | +| TV | Virtual Temperature | K | +| TW | Wet Bulb Temp | K | +| tWind | Thermal Wind | kn | +| tWindU | U Component of Thermal Wind | kn | +| tWindV | V Component of Thermal Wind | kn | +| TwMax | Layer Max Wet-bulb Temperature | K | +| TwMin | Layer Min Wet-bulb Temperature | K | +| TWO | Two | | +| Twstk | Wet-bulb Temp Stack | K | +| TxSM | Filtered-500km Temp | C | +| U-GWD | Zonal Flux of Gravity Wave Stress | N/m^2 | +| UFLX | Momentum Flux, U-Component | N/m^2 | +| uFX | Geo Momentum | m/s | +| ulSnoRat | | | +| ULWRF | Comp Refl | dBZ | +| ULWRF | Upward Long-Wave Rad. Flux | W/m^2 | +| UPHL | Updraft Helicity | m^2/s^2 | +| USTM | U-Component of Storm Motion | m/s | +| USWRF | Reflectivity | dBZ | +| USWRF | Upward Short-Wave Radiation Flux | W/m^2 | +| uv2 | Horz Variance | m^2/s^2 | +| uW | u Component of Wind | m/s | +| uW | U-Component of Wind | m/s | +| uWerranl | | | +| uWmean | | m/s | +| uWsprd | | | +| uWStk | U Stack | m/s | +| uzfwc | Upper Zone Free Water Content | % | +| uztwc | Upper Zone Tension Water Content | % | +| V-GWD | Meridional Flux of Gravity Wave Stress | N/m^2 | +| VAdv | Vorticity Adv | /s\*1.0E9 | +| VAdvAdvection | Vorticity Adv | /s | +| VAPP | Vapor Pressure | Pa | +| VBDSF | Visible Beam Downward Solar Flux | W/m^2 | +| VEG | Vegetation | % | +| vertCirc | Vertical Circulation | | +| VFLX | Momentum Flux, V-Component | N/m^2 | +| VGP | Vort Gen Param | | +| VGTYP | Vegetation Type | Integer (0-13) | +| VII | Vertically Integrated Ice (VII) | kg/m^2 | +| VILIQ | Vertically Integrated Liquid (VIL) | kg/m^2 | +| Vis | Visibility | m | +| Vis | Visibility | m | +| visbyIFR | | mi | +| visbyLIFR | | mi | +| visbyMVFR | | mi | +| visbyVFR | | mi | +| Visc1 | Prob Sfc Visibility < 1 mile | % | +| Visc2 | Prob Sfc Visibility < 3 miles | % | +| Visc23 | Prob Sfc Visibility < 5 miles | % | +| visCat | Categorical visibility | | +| Viserranl | Visibility Analysis Uncertainty | m | +| Viserranl | Visibility Error Analysis | m | +| Visible | Visible Imagery | | +| VPT | Virtual Potential Temperature | K | +| VRATE | Ventilation Rate | m^2/s | +| vSmthW | Verticall Smoothed Wind | m/s | +| VSS | Vertical Shear Speed | /s | +| VSTM | V-Component of Storm Motion | m/s | +| VTMP | Virtual Temperature | K | +| vTOT | Vertical Totals | | +| VUCSH | Vertical u-component shear | /s | +| VV | Vertical velocity | m/s | +| VVCSH | Vertical v-component shear | /s | +| vW | v Component of Wind | m/s | +| vW | V-Component of Wind | m/s | +| vWerranl | | | +| vWmean | | m/s | +| vwpSample | VWP Sample | | +| VWSH | Vertical Speed Shear | /s | +| vWsprd | | | +| vWStk | V Stack | m/s | +| w2 | Vert Variance | m^2/s^2 | +| WarmRainProbability | Probability of Warm Rain | % | +| water_depth | Hillslope Water Depth | in | +| WaterVapor | Water Vapor Imagery | K | +| WATR | Water Runoff | kg/m^2 | +| WCD | Warm Cloud Depth Approx.: Frzlvl-LCL Thickness | m | +| WD | Wind Direction (from which blowing) | deg | +| WD | Wind direction | deg | +| WDea | Wind Direction Analysis Uncertainity | deg | +| WDEPTH | Geometric Depth Below Sea Surface | m | +| WDerranl | Wind Direction Error Analysis | deg | +| wDiv | Wind Divergence | /s | +| WDmean | Wind Direction mean | deg | +| WEASD | Water Equiv accum snow depth | m | +| WEASD | Water Equivalent of Accumulated Snow Depth | mm | +| WGH | 5-Wave Geopotential Height | gpm | +| WGH | 5-wave geopotential height | m | +| WGS | Wind Gust Speed | m/s | +| WGS | Wind Gust Speed | m/s | +| WGS1hr | Max 1-hr Wind Gust Speed | m/s | +| WGSea | Wind Gust Speed Analysis Uncertainty | m/s | +| WGSerranl | Wind Gust Speed Error Analysis | m/s | +| WGSMX1hr | Max Hourly Wind Gust | m/s | +| WILT | Wilting Point | Proportion | +| Wind | Wind | m/s | +| Wind_avg | Wind Ensemble Mean | m/s | +| Wind_perts | Wind Perturbations | m/s | +| Windmean | Mean Wind | kn | +| WINDPROB | Wind Probability | % | +| WMIXE | Wind Mixing Energy | J | +| WndChl | Wind Chill | K | +| WS | Wind Speed | m/s | +| WSc1 | Prob SFC wind speed > 25 kt | % | +| WSc2 | Prob SFC wind speed > 34 kt | % | +| WSc3 | Prob SFC wind speed > 48 kt | % | +| WSc4 | Prob SFC wind speed > 50 kt | % | +| WSc6 | Prob SFC wind speed > 20 kt | % | +| WSc7 | Prob SFC wind speed > 30 kt | % | +| WSc8 | Prob SFC wind speed > 40 kt | % | +| WSerranl | Wind Speed Error Analysis | m/s | +| WSmean | Wind Speed mean | m/s | +| wSp | Wind speed | m/s | +| wSp_001 | Prob of Wind Grtn 40kts | % | +| wSp_001_bin | Binary Prob of Wind Grtn 40kts | | +| wSp_001_perts | Prob of Wind Grtn 40kts Perts | | +| wSp_002 | Prob of Wind Grtn 50kts | % | +| wSp_002_bin | Binary Prob of Wind Grtn 50kts | | +| wSp_002_perts | Prob of Wind Grtn 50kts Perts | | +| wSp_003 | Prob of Wind Grtn 60kts | % | +| wSp_003_bin | Binary Prob of Wind Grtn 60kts | | +| wSp_003_perts | Prob of Wind Grtn 60kts Perts | | +| wSp_004 | Prob of Wind Grtn 30kts | % | +| wSp_004_bin | Binary Prob of Wind Grtn 30kts | | +| wSp_004_perts | Prob of Wind Grtn 30kts Perts | | +| wSp_avg | Windspeed Ensemble Mean | m/s | +| wSp_perts | Windspeed Perturbations | m/s | +| wSp_std | Windspeed Ensemble Std Dev | m/s | +| wSpea | Wind Speed Analysis Uncertainty | kn | +| wSpmean | Mean Windspeed | kt | +| wSpsprd | Windspread spread | kt | +| WSsprd | Wind Speed sprd | m/s | +| WVDIR | Direction of Wind Waves | deg | +| WVdir | Wind Wave Direction | | +| wvHeight | wvHeight | m | +| WVHGT | Significant Height of Wind Waves | m | +| WVHGT | Wind Wave Height | m | +| WVLEN | Mean length of wind waves | m | +| WVPER | Mean Period of Wind Waves | s | +| WVPER | Wind Wave Period | s | +| wvPeriod | wvPeriod | | +| WVSTP | Steepness of wind waves | | +| wvType | wvType | | +| wW | w Component of Wind | cm/s | +| wx | Weather | | +| zAGL | Height AGL | m | +| ZDR | Differential Reflectivity | dB | diff --git a/docs/appendix/appendix-wsr88d.md b/docs/appendix/appendix-wsr88d.md new file mode 100644 index 0000000000..49f6870017 --- /dev/null +++ b/docs/appendix/appendix-wsr88d.md @@ -0,0 +1,104 @@ + +| Product Name | Mnemonic | ID | Levels | Res | Elevation | +| ------------- |:--:|:--:|:--:|:-----:|:---:| +| Reflectivity (Z) | Z | 19 | 16 | 100 | .5 | +| Reflectivity (Z) | Z | 19 | 16 | 100 | 1.5 | +| Reflectivity (Z) | Z | 19 | 16 | 100 | 2.5 | +| Reflectivity (Z) | Z | 19 | 16 | 100 | 3.5 | +| Reflectivity (Z) | Z | 20 | 16 | 200 | .5 | +| Velocity (V) | V | 27 | 16 | 100 | .5 | +| Velocity (V) | V | 27 | 16 | 100 | 1.5 | +| Velocity (V) | V | 27 | 16 | 100 | 2.5 | +| Velocity (V) | V | 27 | 16 | 100 | 3.5 | +| Storm Rel Velocity (SRM) | SRM | 56 | 16 | 100 | .5 | +| Storm Rel Velocity (SRM) | SRM | 56 | 16 | 100 | 1.5 | +| Storm Rel Velocity (SRM) | SRM | 56 | 16 | 100 | 2.5 | +| Storm Rel Velocity (SRM) | SRM | 56 | 16 | 100 | 3.5 | +| Composite Ref (CZ) | CZ | 37 | 16 | 100 | -1 | +| Composite Ref (CZ) | CZ | 38 | 16 | 400 | -1 | +| Lyr Comp Ref Max (LRM) Level 1 | LRM | 65 | 8 | 0 | -1 | +| Lyr Comp Ref Max (LRM) Level 2 | LRM | 66 | 8 | 0 | -1 | +| Lyr Comp Ref Max (LRM) Level 3 | LRM | 90 | 8 | 0 | -1 | +| Lyr Comp Ref MAX (APR) | APR | 67 | 16 | 0 | -1 | +| Echo Tops (ET) | ET | 41 | 16 | 0 | -1 | +| Vert Integ Liq (VIL) | VIL | 57 | 16 | 0 | -1 | +| One Hour Precip (OHP) | OHP | 78 | 16 | 0 | -1 | +| Storm Total Precip (STP) | STP | 80 | 16 | 0 | -1 | +| VAD Wind Profile (VWP) | VWP | 48 | 0 | 0 | -1 | +| Digital Precip Array (DPA) | DPA | 81 | 256 | 400 | -1 | +| Velocity (V) | V | 25 | 16 | 100 | .5 | +| Base Spectrum Width (SW) | SW | 28 | 8 | 100 | .5 | +| Base Spectrum Width (SW) | SW | 30 | 8 | 100 | .5 | +| Severe Weather Probablilty (SWP) | SWP | 47 | 0 | 100 | -1 | +| Storm Tracking Information (STI) | STI | 58 | 0 | 100 | -1 | +| Hail Index (HI) | HI | 59 | 0 | 100 | -1 | +| Mesocyclone (M) | M | 60 | 0 | 100 | -1 | +| Mesocyclone (MD) | MD | 141 | 0 | 0 | 1 | +| Tornadic Vortex Signature (TVS) | TVS | 61 | 0 | 100 | -1 | +| Storm Structure (SS) | SS | 62 | 0 | 100 | -1 | +| Supplemental Precipitation Data (SPD) | SPD | 82 | 0 | 100 | -1 | +| Reflectivity (Z) | Z | 94 | 256 | 100 | .5 | +| Reflectivity (Z) | Z | 94 | 256 | 100 | 1.5 | +| Reflectivity (Z) | Z | 94 | 256 | 100 | 2.4 | +| Reflectivity (Z) | Z | 94 | 256 | 100 | 3.4 | +| Reflectivity (Z) | Z | 94 | 256 | 100 | 4.3 | +| Reflectivity (Z) | Z | 94 | 256 | 100 | 5.3 | +| Reflectivity (Z) | Z | 94 | 256 | 100 | 6.2 | +| Reflectivity (Z) | Z | 94 | 256 | 100 | 7.5 | +| Reflectivity (Z) | Z | 94 | 256 | 100 | 8.7 | +| Reflectivity (Z) | Z | 94 | 256 | 100 | 10.0 | +| Reflectivity (Z) | Z | 94 | 256 | 100 | 12.0 | +| Reflectivity (Z) | Z | 94 | 256 | 100 | 14.0 | +| Reflectivity (Z) | Z | 94 | 256 | 100 | 16.7 | +| Reflectivity (Z) | Z | 94 | 256 | 100 | 19.5 | +| Velocity (V) | V | 99 | 256 | 25 | .5 | +| Velocity (V) | V | 99 | 256 | 25 | 1.5 | +| Velocity (V) | V | 99 | 256 | 25 | 2.4 | +| Velocity (V) | V | 99 | 256 | 25 | 3.4 | +| Velocity (V) | V | 99 | 256 | 25 | 4.3 | +| Velocity (V) | V | 99 | 256 | 25 | 5.3 | +| Velocity (V) | V | 99 | 256 | 25 | 6.2 | +| Velocity (V) | V | 99 | 256 | 25 | 7.5 | +| Velocity (V) | V | 99 | 256 | 25 | 8.7 | +| Velocity (V) | V | 99 | 256 | 25 | 10.0 | +| Velocity (V) | V | 99 | 256 | 25 | 12.0 | +| Velocity (V) | V | 99 | 256 | 25 | 14.0 | +| Velocity (V) | V | 99 | 256 | 25 | 16.7 | +| Velocity (V) | V | 99 | 256 | 25 | 195 | +| Super Res Reflectivity (Z) | HZ | 153 | 256 | 25 | .5 | +| Super Res Reflectivity (Z) | HZ | 153 | 256 | 25 | 1.5 | +| Super Res Velocity (V) | HV | 154 | 256 | 25 | .5 | +| Super Res Velocity (V) | HV | 154 | 256 | 25 | 1.5 | +| Super Res Spec Width (SW) | HSW | 155 | 256 | 25 | .5 | +| Super Res Spec Width (SW) | HSW | 155 | 256 | 25 | 1.5 | +| Spectrum Width (SW) | SW | 30 | 8 | 100 | 1.5 | +| Spectrum Width (SW) | SW | 28 | 8 | 25 | 1.5 | +| Digital Vert Integ Liq (DVL) | DVL | 134 | 256 | 100 | -1 | +| Digital Hybrid Scan Refl (DHR) | DHR | 32 | 256 | 100 | -1 | +| Enhanced Echo Tops (EET) | EET | 135 | 256 | 100 | -1 | +| Digital Meso Detection (DMD) | DMD | 149 | 0 | 0 | 16384 | +| TVS Rapid Update (TRU) | TRU | 143 | 0 | 0 | 16384 | +| User Selectable Lyr Refl (ULR) | ULR | 137 | 16 | 100 | -1 | +| Storm Total Precip (STP) | STP | 138 | 256 | 200 | -1 | +| 1-Hour Snow-Water Equiv (OSW) | OSW | 144 | 16 | 100 | -1 | +| 1-Hour Snow Depth (OSD) | OSD | 145 | 16 | 100 | -1 | +| Storm Tot Snow Depth (SSD) | SSD | 147 | 16 | 100 | -1 | +| Storm Tot Snow-Water Equiv (SSW) | SSW | 146 | 16 | 100 | -1 | +| Differential Refl (ZDR) | ZDR | 158 | 16 | 100 | .5 | +| Differential Refl (ZDR) | ZDR | 159 | 256 | 25 | 16384 | +| Correlation Coeff (CC) | CC | 160 | 16 | 100 | .5 | +| Correlation Coeff (CC) | CC | 161 | 256 | 25 | 16384 | +| Specific Diff Phase (KDP) | KDP | 162 | 16 | 100 | .5 | +| Specific Diff Phase (KDP) | KDP | 163 | 256 | 25 | 16384 | +| Hydrometeor Class (HC) | HC | 164 | 16 | 100 | .5 | +| Hydrometeor Class (HC) | HC | 165 | 256 | 25 | 16384 | +| Melting Layer (ML) | ML | 166 | 0 | 0 | 16384 | +| Hybrid Hydrometeor Class (HHC) | HHC | 177 | 256 | 25 | -1 | +| Digital Inst Precip Rate (DPR) | DPR | 176 | 0 | 25 | -1 | +| One Hour Accum (OHA) | OHA | 169 | 16 | 200 | -1 | +| User Select Accum (DUA) | DUA | 173 | 256 | 25 | -1 | +| User Select Accum (DUA) | DUA | 173 | 256 | 25 | -1 | +| Storm Total Accum (STA) | STA | 171 | 16 | 200 | -1 | +| Storm Total Accum (DSA) | STA | 172 | 256 | 25 | -1 | +| One Hour Diff (DOD) | DOD | 174 | 256 | 25 | -1 | +| Storm Total Diff (DSD) | DSD | 175 | 256 | 25 | -1 | diff --git a/docs/appendix/common-problems.md b/docs/appendix/common-problems.md new file mode 100644 index 0000000000..1af7ccf59e --- /dev/null +++ b/docs/appendix/common-problems.md @@ -0,0 +1,256 @@ +# Common Problems + +## All Operating Systems + +### Removing caveData + +Removing caveData (flushing the local cache) should be one of the first troubleshooting steps to take when experiencing weird behavior in CAVE. The cache lives in a folder called **caveData**, hence why this process is also referred to as removing or deleting caveData. + +#### Linux + +For Linux users, the easiest way is to open a new terminal and run the following command: + + rm -rf ~/caveData + +#### Windows + +For Windows users, simply delete the caveData folder in your home user directory: + +![Windows Remove caveData](../images/windowsRemoveCavedata.png) + +#### Mac + +For Mac users, the easiest way is to open a new terminal and run the following command: + + rm -rf ~/Library/caveData + +--- + +### Disappearing Configurations + +If you ever notice some of the following settings you've configured/saved disappear from CAVE: + +- Saved Displays or Procedures +- NSHARP settings (line thickness, etc) +- Colormap settings +- StyleRule settings + +!!! note "This is not a fully exhaustive list, so if something else has disappeared it might be the same underlying issue still." + +Then it is likely we have recently changed our production EDEX server. +There is a good chance we can recover your settings. To do so, please send a short email to [support-awips@unidata.ucar.edu](mailto:support-awips@unidata.ucar.edu) with the topic "Missing Configurations", and include the username(s) of the computer(s) you use to run CAVE. + +--- + +### Remotely Connecting to CAVE + +Since the pandemic began, many users have asked if they can use X11 forwarding or ssh tunneling to remotely connect to CAVE machines. **This is not recommended or supported**, and CAVE crashes in many different ways and expresses strange behavior as well. + +We highly recommend you [download the appropriate CAVE installer](install-cave.md) on your local machine, if that is an option. + +If that is not an option, then the only remote access we recommend is using some type of VNC. +[**RealVNC**](https://www.realvnc.com/en/) and [**nomachine**](https://www.nomachine.com) are two options that are in use with positive outcomes. [**UltraVNC**](https://www.uvnc.com) may be another option, but may have quite a delay. There *may* also be other free or paid software available that we are not aware of. +!!! warning "It is likely that any VNC option you choose will also require some software or configuration to be set on the remote machine, and this will likely require administrative privileges." + +--- + +### CAVE Spring Start Up Error + +If you encounter the error below, please see one of our solution methods for resolving: +``` +CAVE's Spring container did not initialize correctly and CAVE must shut down. +``` +![CAVE Spring Start Up Error](../images/caveSpringError.png) + +We have found the reason for this failure is because the host machine is set to use a language other than English (ie. Spanish, French, etc). + +To resolve this issue, either: + +- Switch your system to English, when using CAVE + +or + +- Use our [Virtual Machine option](../install/install-cave/#method-2-linux-virtual-machine). This option allows your actual machine to stay in whichever language you choose, while allowing you to run CAVE in an environment set to English. Although we list this installation under the Windows OS, this can also be done on Linux. + +!!! warning "The VM option has one notable drawback at the moment -- it cannot render RGB satellite products." + +--- + +### Products Not Loading Properly + +This problem is most commonly seen with the direct Windows installation. It can also manifest in the Mac installation (and is possible on Linux), and the root of the problem is not having Python installed properly for CAVE to use the packages. + +If the [Windows installation](install-cave.md#download-and-installation-instructions_2) was not completed properly, it is possible to see incorrect behavior when loading certain products. These are derived products which use the local machine to create and render the data. This creation is dependent upon python and its required packages working correctly. + +The dataset will be available in the menus and product browser, but when loaded, no data is drawn on the editor, but an entry is added to the legend. +![failed load](../images/failedJepMetarLoad.png) + +You may see an error that mentions the python package, **jep**. + +Known datasets this can affect (this is not a comprehensive list): + + - Model Winds + - Metars Winds + - METAR Station Plot + - GFS Precip Type + +To correct this issue on Windows: + + - Uninstall all related software (C++ Build Tools, Miniconda, Python, CAVE, pip, numpy, jep, etc) + - Install our [latest Windows installer](http://127.0.0.1:8000/awips2/install/install-cave/#windows) which bundles all necessary software dependencies + +To correct this issue on Mac: + + - Install the [awips-python.pkg package found on **step 1**](https://unidata.github.io/awips2/install/install-cave/#download-and-installation-instructions_3) + +To correct this issue on Linux: + +- When running `which python` from a terminal, make sure `/awips2/python/` is returned, if not, reset that environment variable, or re-run the [**awips_install.sh** script from our installation instructions](install-cave.md#download-and-installation-instructions) + +--- + +## Windows + +### CAVE Map Display in Lower Left Quadrant - Windows + +If you start up CAVE in Windows and notice the map is showing up only in the bottom left quadrant of your display, you will just need to tweak a few display settings. + +![CAVE Map 1/4 of screen](../images/CAVE_map.png) + +Try following these steps to fix your issue: + +- Right-click on the CAVE.exe, select Properties +!!! note "This is not the batch file (CAVE.bat) that gets installed as the CAVE shortcut on the Desktop, the CAVE.exe is located in `C:\Users\[your_username]\AppData\Roaming\UCAR Unidata\AWIPS CAVE\CAVE.exe`." +- Select the Compatibility tab +- Click "Change High DPI Settings" +- At the bottom enable "Override High DPI scaling behavior" +- Change the dropdown from Application to System + +--- + +### Windows CAVE Start Up Error + +!!! Note "This should no longer be an issue for our v20 release of AWIPS." + +One common error some users are seeing manifests itself just after selecting an EDEX server to connect to. The following error dialogs may show up: + +- *Error purging logs* +![Error purging logs. Reason: Error occurred during purge and rotate](../images/errorPurgingLogs.png) + +- *Error instantiating workbench: null* +![Error instantiating workbench: null](../images/errorWorkbenchNull.png) + +These errors are actually happening because the Windows machine is using IPv6, which is not compatible with AWIPS at this time. + +**To fix the issue simply follow these steps:** +!!! note "These screenshots may vary from your system." + +!!! warning "These instructions are per connection, so if you use multiple connections or switch between wired and wireless connections, you'll need to do the following for each of those connections so that CAVE will always run properly." + + +**1. Close all error windows and any open windows associated with CAVE.** + +**2. In the Windows search field, search for "control panel".** + +![](../images/ipv6ProblemStep2.png) + +**3. Once in the Control Panel, look for "Network and Sharing Center".** + +![](../images/ipv6ProblemStep3a.png) +![](../images/ipv6ProblemStep3b.png) + +**4. Select the adapter for your current connection (should be either "Ethernet" or "Wi-Fi").** + +![](../images/ipv6ProblemStep4.png) + +**5. Click on "Properties".** + +![](../images/ipv6ProblemStep5.png) + +**6. Uncheck "Internet Protocol Version 6 (TCP/IPv6)" and select OK.** + +![](../images/ipv6ProblemStep6.png) + +!!! note "You may need to restart your machine for this to take effect" + +**7. Restart CAVE.** + +--- + +## MacOS + +### Monterey CAVE Warning + +If you are running MacOS Monterey, you may see the following message when starting CAVE: + +![Monterey warning](../images/monterey-warning.png) + +Monterey versions 12.3 or newer will not support our production (v18) CAVE. + +!!! note "Please [download and install our beta v20 CAVE](../install/install-cave-beta-v20.md#macos) for newer MacOS Versions to avoid this issue." + +--- + +### White Boxes for Surface Resources + +If you do not have an NVIDIA graphics card and driver, you may see "boxes" drawn on the editor for some of the products (**METARS Station Plots** and **Surface Winds** are the resources we're aware of), as shown below: + +![](../images/caveMacGraphicsCard.png) + +You may be able to fix this issue: + +- Check what graphics cards are available on your machine, by going to the Apple menu (far left, upper corner) > About This Mac > Overview tab (default): + + ![](../images/aboutMac.png) + +- If you see two entries at the **Graphics** line, like the image shown above, then you have two graphics cards on your system. **Intel graphics cards *may*** be able to render our products properly. In this case, you can "force" your computer to use the Intel card by running the following in a terminal: + + ``` + sudo pmset -[a|b|c] gpuswitch 0 + ``` + + Where `[a|b|c]` is only one of those options, which mean: + + - a: adjust settings for **all** scenarios + - b: adjust settings while running off **battery** + - c: adjust settings while connected to **charger** + + The argument `0` sets the computer to use the dedicated GPU (in our case above the Intel GPU). + + The two other options for that argument are: + + - 1: automatic graphics switching + - 2: integrated GPU + + !!! note "It may be smart to run `pmset -g` first, so you can see what the current `gpuswitch` setting is (likely `1`), that way you can revert the settings if you want them back to how they were, when not using CAVE." + +--- + +## Linux + +### Troubleshooting Uninstalling EDEX + +Sometimes yum can get in a weird state and not know what AWIPS groups have been installed. For example if you are trying to remove AWIPS you may see an error: + +``` +yum groupremove "AWIPS EDEX Server" + + Loaded plugins: fastestmirror, langpacks + Loading mirror speeds from cached hostfile + * base: mirror.dal.nexril.net + * elrepo: ftp.osuosl.org + * epel: mirrors.xmission.com + * extras: mirrors.cat.pdx.edu + * updates: mirror.mobap.edu + + No environment named AWIPS EDEX Server exists + Maybe run: yum groups mark remove (see man yum) + No packages to remove from groups +``` + +To solve this issue, mark the group you want to remove and then try removing it again: +``` +yum groups mark remove "AWIPS EDEX Server" +yum groupremove "AWIPS EDEX Server" +``` +!!! note "Check to make sure your `/etc/yum.repos.d/awips2.repo` file has `enabled=1`." diff --git a/docs/appendix/educational-resources.md b/docs/appendix/educational-resources.md new file mode 100644 index 0000000000..5933a5c746 --- /dev/null +++ b/docs/appendix/educational-resources.md @@ -0,0 +1,242 @@ +# Educational Resources + +Here at Unidata, we want to provide as many resources as possible to make our tools and applications easy to use. For AWIPS we currently have a new [eLearning course](#cave-elearning-course) that is specific to CAVE. We also have a suite of [Jupyter Notebooks](#python-awips-example-notebooks) that are meant to provide a detailed overview of many capabilities of python-awips. + +--- + +## CAVE eLearning Course + +***Learn AWIPS CAVE*** is our online educational course for those interested in learning about CAVE. + +![Learn AWIPS CAVE Banner](../images/learnAwipsCaveBanner.png) + +### Access + +Please create an account on Unidata eLearning, then self-enroll in Learn AWIPS CAVE. + +### Content + +*Learn AWIPS CAVE* is specifically tailored to content regarding CAVE -- the local graphical application used to view weather data. The following topics and capabilities are covered throughout the course: + +- Launching CAVE +- Navigating the interface +- Modifying product appearances +- Understanding the time match basis +- Creating publication-quality graphics +- Exploring various CAVE layouts +- Saving and loading procedures and displays +- Using radar displays +- Using baselines and points +- Creating time series displays +- Creating vertical cross section displays +- Using the NSHARP editor for soundings +- Viewing model soundings + +### Prerequisites + +Required: + + - [A supported web browser](https://articulate.com/support/article/System-Requirements-for-Rise#viewing-content) + - CAVE version 18.2.1 installed on a [supported operating system](http://unidata.github.io/awips2/install/install-cave/) + +Recommended: + + - A keyboard with a numpad and mouse with a scrollwheel + - Second monitor + + +### Design + +*Learn AWIPS CAVE* is designed for those new to AWIPS or for those seeking to learn best practices. The course is organized into modular sections with supporting lessons, allowing for spaced learning or completion in multiple class or lab sessions. Each section concludes with a quiz to assess learning, and results can be requested by instructors or supervisors for their classes/teams. Below is a snapshot taken from the course. + +![Learn AWIPS CAVE screenshot](../images/learnAwipsCave.png) + +- Lessons are tied to relevant [learning objectives](https://elearning.unidata.ucar.edu/AWIPS/LearnAWIPSCAVE/LearnAWIPSCAVELearningObjectives.pdf). +- Lessons are scaffolded such that each skill builds upon the next. +- Tutorials, challenges, and assessments are designed to support higher-order thinking skills and learning retention. + +### Support + +If you experience any technical issues with our online course, please contact us at: **support-elearning@unidata.ucar.edu** + +--- + +## Python-AWIPS eLearning Course + +***Learn Python-AWIPS*** is our online educational course for those interested in learning about [Python-AWIPS](http://unidata.github.io/python-awips/). + +![Learn Python-AWIPS Banner](../images/learnPythonAwipsBanner.png) + +### Access + +Please create an account on Unidata eLearning, then self-enroll in Learn Python-AWIPS. + +### Content + +*Learn Python-AWIPS* is designed for new users of Python-AWIPS who have some background in both Python and CAVE. Through tutorials, challenges, and demonstrations, you will learn the basics for working with EDEX resources through Python. +The following topics and capabilities are covered throughout the course: + +- Programmatically explore the resources available on an EDEX server +- Make a request to an EDEX for data +- See examples of data manipulation +- Plot requested data + +### Prerequisites + +Required: + + - [A supported web browser](https://articulate.com/support/article/System-Requirements-for-Rise#viewing-content) + - Python3 + - Conda + - Git + - Python-AWIPS using the [Source Code with Examples Install instructions](http://unidata.github.io/python-awips/#source-code-with-examples-install) + +### Support + +If you experience any technical issues with our online course, please contact us at: **support-elearning@unidata.ucar.edu** + +--- + +## Python-AWIPS Example Notebooks + +In addition to CAVE, AWIPS also has a Python package called ***python-awips*** which allows access to all data on an EDEX server. We have created a suite of Jupyter Notebooks as examples for how to use various functions of python-awips. + +### Access + +All of our Notebooks can be downloaded and accessed locally by following the source code installation instructions found on our [python-awips website](http://unidata.github.io/python-awips/). + +![GOES CIRA Notebook Example](../images/goesCiraNotebook.png) + +Additionally, non-interactive [webpage renderings](http://unidata.github.io/python-awips/examples/index.html) of each of the Notebooks are also available for quick and easy references. + +![GOES CIRA Notebook Webpage Example](../images/goesCiraNotebookWebpage.png) + +### Content + +Our python-awips Notebooks span a wide range of topics, but generally cover the following: + +- Investigating what data is available on an EDEX server +- Accessing and filtering desired data based on time and location +- Plotting and analyzing datasets +- Specific examples for various data types: satellite imagery, model data, soundings, surface obs, and more + +--- + +YouTube logo + +## YouTube Channel and Playlist + +Unidata has a YouTube channel where we publish videos about all of our software pacakges. Specifically we also have a playlist dedicated to AWIPS videos. + +### Access + +All [Unidata vidoes can be accessed here](https://www.youtube.com/c/unidatanews) on our channel. + +All AWIPS vidoes can be found on the [AWIPS Playlist](https://www.youtube.com/watch?v=4ax6SRyaYTc&list=PLQut5OXpV-0gk9CcjfInV9hNIEAld-Tpp). + +### Content + +Our AWIPS videos cover a wide range of topics, but include some of the following themes: + +- AWIPS topic overviews +- Instructional videos (ex. how to install CAVE) +- In-depth walkthroughs on CAVE functionality +- Python-AWIPS notebook examples + +AWIPS Tips logo + +--- + +## AWIPS Tips Blog Series + +AWIPS Tips is a bi-weekly (every two weeks) blog series that is posted on our Unidata blogs page. Entries in the series cover topics relating to CAVE, python-awips, EDEX, and more. + +### Access + +View all of the AWIPS Tips blogs here, and easily search for them using the *awips-tips* tag. + +Please join our [mailing list (awips2-users)](https://www.unidata.ucar.edu/support/#mailinglists) to get the notifications of new AWIPS Tips when they come out! + +### Content + +A full list of all released blogs can be found below: + +#### General + +- [Welcome to AWIPS Tips!](https://www.unidata.ucar.edu/blogs/news/entry/welcome-to-awips-tips) +- [AWIPS 18.2.1 Software Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-18-2-1-software) +- [Announcing AWIPS eLearning](https://www.unidata.ucar.edu/blogs/news/entry/announcing-a-new-elearning-course) +- [AWIPS 18.2.1-3 Software Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-18-2-1-3) +- [Access Learn AWIPS CAVE from Unidata eLearning](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-access-learn-awips) +- [AWIPS 18.2.1-5 Software Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-18-2-1-5) +- [GLM DATA IDD/LDM Feed Updates](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-glm-data-idd) +- [AWIPS 18.2.1-6 Software Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-18-2-1-6) +- [Unidata AWIPS Summer Internship 2022: Rhoen Fiutak](https://www.unidata.ucar.edu/blogs/news/entry/unidata-awips-summer-internship-2022) +- [Announcing a New eLearning Course: Learn Python-AWIPS](https://www.unidata.ucar.edu/blogs/news/entry/announcing-a-new-elearning-course1) +- [Use Case Example: Texas A&M CAVE in the Classroom](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-use-case-example) +- [AWIPS 20.3.2-0.1 Beta CAVE Software Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-unidata-awips-20) +- [AWIPS 20.3.2-0.2 Beta CAVE Software Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-unidata-awips-201) +- [AWIPS 20.3.2-0.3 Beta CAVE Software Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-unidata-awips-202) +- [AWIPS 20.3.2-0.4 Beta Software Release - with EDEX!](https://www.unidata.ucar.edu/blogs/news/entry/unidata-awips-20-3-2) +- [AWIPS 20.3.2-1 Production AWIPS Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-unidata-awips-203) + +#### CAVE + +- [Visualizing Data in CAVE](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-visualizing-data-in) +- [Display Capabilities in CAVE](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-display-capabilities-in) +- [Time Tips](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-time-tips) +- [Explore the CAVE Product Browser](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-explore-the-cave) +- [CAVE's Local Cache: caveData](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-cave-s-local) +- [Explore the CAVE Volume Browser: Plan Views](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-explore-the-cave1) +- [Using CAVE's Points and Baselines Tool](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-using-cave-s) +- [Explore the CAVE Volume Browser: Cross Section and Time Series](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-explore-the-cave2) +- [Using CAVE Displays and Procedures](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-using-cave-displays) +- [Getting Started With the NSHARP Display Tool](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-using-the-nsharp) +- [Explore the CAVE Volume Browser: Model Soundings](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-explore-the-cave3) +- [NUCAPS Soundings](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-nucaps-soundings) +- [Import Shapefiles in CAVE](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-import-shapefiles-in) +- [Create Objective Analysis Plots](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-create-objective-analysis) +- [Use Warngen to Draw Convective Warnings](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-use-warngen-to) +- [Using Drawing Properties for WWA Display in CAVE](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-using-drawing-properties) +- [Understanding Graphic vs Image Products in CAVE](https://www.unidata.ucar.edu/blogs/news/entry/understanding-graphic-vs-image-products) +- [Getting to Know CAVE's Display Properties](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-getting-to-know) +- [Creating a User Override](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-creating-a-user) +- [Frames in CAVE](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-frames-in-cave) +- [Panes in CAVE](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-panes-in-cave) +- [Image Combination with CAVE](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-image-combination) +- [Colorized GOES CIRA Products](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-colorized-goes-cira) +- [Changing Localizations in CAVE](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-changing-localizations-in) +- [All About Sampling](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-all-about-sampling) +- [Maps Database Constraints](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-maps-database-constraints) +- [Measuring Up - Distance Tools in CAVE](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-measuring-up-distance) + +#### Python-AWIPS + +- [Access Model Output with Python-AWIPS](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-access-model-output) +- [Plot New GOES Products From Unidata's Public EDEX](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-plot-new-goes) +- [Load Map Resources and Topography using Python-AWIPS](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-load-map-resources) +- [Create a Colored Surface Temperature Plot](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-create-a-colored) +- [Create Colorized Model Plots](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-create-colorized-model) +- [View WWA Polygons with Python-AWIPS](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-view-wwa-polygons) +- [Creating METAR Station Plots](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-creating-metar-station) +- [Create Sounding Plots with Model Data](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-create-sounding-plots) +- [Plotting Multiple Datasets from EDEX](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-plotting-multiple-datasets) +- [Open Jupyter Notebooks with our Virtual Machine](https://www.unidata.ucar.edu/blogs/news/entry/open-jupyter-notebooks-with-our) +- [Visualizing Upper Air Soundings](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-visualizing-upper-air) +- [Compare Model Sounding Data in Python](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-compare-model-sounding) +- [Beta Python-AWIPS Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-beta-python-awips) +- [Creating New Products with Python-AWIPS](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-creating-new-products) + +#### EDEX + +- [Get to Know EDEX](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-get-to-know) +- [EDEX Data Retention](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-edex-data-retention) +- [Adding ECMWF Data to EDEX](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-adding-ecmwf-data) +- [Ingesting GOES Satellite Data](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-ingesting-goes-satellite) +- [Localization Levels in EDEX](https://www.unidata.ucar.edu/blogs/news/entry/localization-in-edex) +- [Porting Users CAVE Configurations](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-porting-users-cave) +- [Creating New Scales/Maps](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-creating-new-scales) +- [Adding Shapefiles to the Maps Menu with EDEX](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-adding-shapefiles-to) +- [Removing Model Data from EDEX](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-removing-model-data) +- [LDM Usage in AWIPS](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-ldm-usage-in) +- [All About EDEX Modes](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-all-about-edex) diff --git a/docs/appendix/maps-database.md b/docs/appendix/maps-database.md new file mode 100644 index 0000000000..96cbe0b97b --- /dev/null +++ b/docs/appendix/maps-database.md @@ -0,0 +1,516 @@ + +## mapdata.airport + +| 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 + +## mapdata.allrivers + +| 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) | + + + +## mapdata.artcc +| 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) | + + + + +## mapdata.basins +| 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) | + + + + +## mapdata.canada +| 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) | + + + + +## mapdata.city +| 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) | + +## mapdata.county +| 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) | + +## mapdata.customlocations +| 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) | + +## mapdata.cwa +| 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) | + +## mapdata.firewxaor +| Column | Type | +|----------------|-----------------------------| +| cwa | character varying(3) | +| wfo | character varying(3) | +| the_geom | geometry(MultiPolygon,4326) | + +## mapdata.firewxzones +| 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) | + +## mapdata.fix +| 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) | + +## mapdata.highaltitude +| 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) | + +## mapdata.highsea +| Column | Type | +|----------------|-----------------------------| +| wfo | character varying(3) | +| name | character varying(250) | +| lat | numeric | +| lon | numeric | +| id | character varying(5) | +| the_geom | geometry(MultiPolygon,4326) | + +## mapdata.highway +| 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) | + +## mapdata.hsa +| Column | Type | +|----------------|-----------------------------| +| wfo | character varying(3) | +| lon | double precision | +| lat | double precision | +| the_geom | geometry(MultiPolygon,4326) | + +## mapdata.interstate +| 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) | + +## mapdata.isc +| Column | Type | +|------------|-----------------------------| +| wfo | character varying(3) | +| cwa | character varying(3) | +| the_geom | geometry(MultiPolygon,4326) | + +## mapdata.lake +| Column | Type | +|----------------|-----------------------------| +| name | character varying(40) | +| feature | character varying(40) | +| lon | double precision | +| lat | double precision | +| the_geom | geometry(MultiPolygon,4326) | + +## mapdata.latlon10 +| Column | Type | +|------------|--------------------------------| +| the_geom | geometry(MultiLineString,4326) | + +## mapdata.lowaltitude +| 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) | + +## mapdata.majorrivers +| 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) | + +## mapdata.marinesites +| Column | Type | +|------------|-----------------------| +| st | character varying(3) | +| name | character varying(50) | +| prog_disc | bigint | +| warngenlev | character varying(14) | +| the_geom | geometry(Point,4326) | + +## mapdata.marinezones +| 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) | + +## mapdata.mexico +| 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) | + +## mapdata.navaid +| 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) | + +## mapdata.offshore +| 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) | + +## mapdata.railroad +| 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) | + +## mapdata.rfc +| 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) | + +## mapdata.specialuse +| 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) | + + + +## mapdata.states +| Column | Type | +|----------------|-----------------------------| +| state | character varying(2) | +| name | character varying(24) | +| fips | character varying(2) | +| lon | numeric | +| lat | numeric | +| the_geom | geometry(MultiPolygon,4326) | + + + +## mapdata.timezones +| 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) | + + +## mapdata.warngenloc +| 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) | + + + +## mapdata.world +| Column | Type | +|------------|-----------------------------| +| name | character varying(30) | +| count | double precision | +| first_coun | character varying(2) | +| first_regi | character varying(1) | +| the_geom | geometry(MultiPolygon,4326) | + + + +## mapdata.zone +| 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) | diff --git a/docs/cave/bundles-and-procedures.md b/docs/cave/bundles-and-procedures.md new file mode 100644 index 0000000000..d05eae0091 --- /dev/null +++ b/docs/cave/bundles-and-procedures.md @@ -0,0 +1,70 @@ +# Displays and Procedures +AWIPS contains two methods for saving and loading data resources: + +- **Displays** are an all-encompasing way to save loaded resources and current view configurations either onto the connected EDEX server, or a local file for access in future CAVE sessions. +- **Procedures** are similar to Displays, but can be thought of as *groups of procedure items* which allow the user to save/load only parts of the procedure they desire, and allows the user to manage saved resources with more control. + + +## Displays + +### **File > Load Display** + +Load a previously-saved display from within the AWIPS system. The pop-up dialog allows you to select your own saved displays as well as those saved by other users. + +When loading a display, all existing tabs will be closed and replaced with the contents from the saved display. Displays will load as many Map Editor tabs as existed when the display was originally saved. + +![image](../images/load-display.gif) + +--- + +### **Load Display from Local Disk** + +To load a previously-saved display from a path within the file directory locally, select **File > Load Display** and then select the **File** button on the right to browse your local directories. + +![image](../images/load-local-display.gif) + +--- + +### **File > Save Display** + +Save a product display within the AWIPS system. This saves the display to the EDEX server for your specific user. + +--- + +### **File > Save Display Locally** + +To save a product display to a path within the file directory locally, select **File > Save Display Locally** and then select the **File** button on the right. + +--- + +### **File > Delete Displays** + +Select and remove a saved display under **File > Delete Displays**, this will open a pop-up dialog. Select the file name and click **OK** and then confirm deletion to remove the saved file permanently. + +![image](../images/delete-display.gif) + +--- + +## Procedures + +### New Procedure + +* Select the menu **File > Procedures > New...** +* Select **Copy Into** to add all loaded resources from your current map to the Procedure Stack +* Select **Save** (or **Save As**) and then enter a name for the Procedure before clicking **OK** to save. + +![image](../images/save-procedure.gif) + +--- + +### Open Procedure + +Similar to creating a new Procedure, select **File > Procedures > Open...**, select the saved resources and click **Load** to load them to the current Map Editor tab. If multiple procedure items are wanted for loading, create a new tab for each procedure item and then load that item into the tab. This process is shown in the video below. + +![load procedures](../images/load-procedures.gif) + +--- + +### Delete Procedure + +From the menu **File > Procedures > Delete...** you can delete existing Procedure files in a way similar to deleting saved display files. diff --git a/docs/cave/cave-keyboard-shortcuts.md b/docs/cave/cave-keyboard-shortcuts.md new file mode 100644 index 0000000000..6a92b2e3c9 --- /dev/null +++ b/docs/cave/cave-keyboard-shortcuts.md @@ -0,0 +1,112 @@ +# Keyboard Shortcuts + + + +## D2D Menu Shortcuts + +| Action | Command | +|------------------------------|------------------| +| Open New Map | Ctrl + T | +| Open a Display | Ctrl + Shift + L | +| Save Display | Ctrl + S | +| Save Display Locally | Ctrl + Shift + S | +| Save KML | Ctrl + K | +| New Procedure | Ctrl + N | +| Open Procedure | Ctrl + O | +| Delete Procedure | Ctrl + D | +| Copy Display to Procedure(s) | Ctrl + B | +| History List | Ctrl + Shift + H | +| Clear Data | Ctrl + Shift + C | +| First Frame | Ctrl + ← | +| Last Frame | Ctrl + → | +| Step Back | ← | +| Step Forward | → | +| Increase Loop Speed | Page Up | +| Decrease Loop Speed | Page Down | +| Toggle Time Options | Ctrl + Shift + T | +| Toggle Image Combination | Ctrl + Shift + L | +| Open Loop Properties | Ctrl + L | +| Open Image Properties | Ctrl + I | +| Show Print Dialog | Ctrl + P | +| Locate Cursor | F12 | + +## D2D All Tilts Shortcuts + +!!! note "Requires all tilts product in main display panel" + +Action|Command +--------------------------------|--------------- +Step Back 1 Volume | ← +Step Forward 1 Volume | → +Step up 1 Elevation Angle | ↑ +Step down 1 Elevation Angle | ↓ +Jump to First Frame | Ctrl + ← +Jump to Last Frame | Ctrl + → +Jump to Highest Elevation Angle | Ctrl + ↑ +Jump to Lowest Elevation Angle | Ctrl + ↓ + +## D2D Numeric Keypad Shortcuts + +!!! note "Num Lock must be enabled for these keystrokes to work" + +Action|Command +--------------------------------------------------|--------------- +Increase Brightness of Image 1, Decrease Image 2 | [Numpad] + +Decrease Brightness of Image 1, Increase Image 2 | [Numpad] - +Toggle Image Producted in Main Map On/Off | [Numpad] 0 +Toggle First 9 Graphic Products On/Off | [Numpad] 1-9 +Toggle Next 10 Graphic Prodcuts On/Off | Shift + [Numpad] 0-9 +Toggle Between Images 1 and 2 at Full Brightness | [Numpad] . +Toggle Legend | [Numpad] Enter + +## Panel Combo Rotate (PCR) Shortcuts + +!!! note "These numbers refer to the ones at the top of the Keyboard" + +Action|Command +---------------------------|------ +Cycle Through PCR Products | Delete +Return to 4 Panel View | End +Cycle Back Through PCR Products | Backspace +Display Corresponding Product | 1-8 + + +## Text Editor Shortcuts + +Action|Command +--------------------------|------ +Extend Selection to Start of Line | Shift + Home +Extend Selection to End of Line | Shift + End +Extend Selection to Start of Document | Ctrl + Shift + Home +Extend Selection to End of Document | Ctrl + Shift + End +Extend Selection Up 1 Screen | Shift + Page Up +Extend Selection Down 1 Screen | Shift + Page Down +Extend Selection to Previous Character | Shift + ← +Extend Selection by Previous Word | Ctrl + Shift + ← +Extend Selection to Next Character | Shift + → +Extend Selection by Next Word | Ctrl + Shift + → +Extend Selection Up 1 Line | Shift + ↑ +Extend Selection Down 1 Line | Shift + ↓ +Delete Previous Word | Ctrl + Backspace +Delete Next Word | Ctrl + Delete +Close the Window | Ctrl + Shift + F4 +Undo | Ctrl + Z +Copy | Ctrl + C +Paste | Ctrl + V +Cut | Ctrl + X diff --git a/docs/cave/cave-localization.md b/docs/cave/cave-localization.md new file mode 100644 index 0000000000..ab30daf21a --- /dev/null +++ b/docs/cave/cave-localization.md @@ -0,0 +1,19 @@ +# Change Localization + +## Localization Preferences + +The default localization site for Unidata AWIPS is OAX (Omaha, Nebraska, where the Raytheon team is located). When you are prompted to connect to an EDEX server, you can change the WFO ID as well. + +![](../images/connectWindow.png) + + +This window also has the option to **Prompt for settings on startup**, which if checked, would ask for the EDEX Server and Site location every time CAVE is started (this can be useful if you are used to switching between servers and/or sites). + +![](../images/localization-preferences.png) + +Change the site (example shows TBW Tampa Bay) and click **Apply** or **OK** and confirm the popup dialog, which informs you that you must *restart* CAVE for the changes to take effect. + +![](../images/localization-preferences-changed.png) diff --git a/docs/cave/cave-perspectives.md b/docs/cave/cave-perspectives.md new file mode 100644 index 0000000000..9be2286320 --- /dev/null +++ b/docs/cave/cave-perspectives.md @@ -0,0 +1,68 @@ + +# D2D + +D2D (Display 2-Dimensions) is the default AWIPS CAVE perspective, designed to mimmic the look and feel of the legacy AWIPS I system. Frame control, map projection, image properties, and a few featured applications make up the the primary D2D toolbar. + +![image](../images/iuNDS6J.png) + + +* **CONUS** is the default map display of the continental United States in a North Polar Stereographic projection. This menu allows you to select different projections. + +* **Clear** will remove all non-system resources (meaning data) while preserving any map overlays you have added to the view. + +* ![image](../images/qYgcjy2.png) is a shortcut to **Image Properties** for the top-loaded image resource in the stack. + +* ![image](../images/Fz5CTtf.png) freezes and un-freezes panning (movement) of the map. + +* **Valid time seq** is the default time-matching setting for loading data. Select this menu to switch to configurations such as Latest, No Backfill, Previous run, Prognosis loop, and more. + +* ![image](../images/OZKVBSL.png) controls the frame number, display, speed, etc. You can also control the frames with the left and right keyboard keys. + +* Application links to **Warngen**, **Ncdata** (NCP GEMPAK-like grids), **Nsharp**, and the **Product Browser** are also available. + + + +# Switching Perspectives + +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). + +![image](../images/OU6rWMD.png) + + + + + +# Resource Stack + +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**. + +## 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. + +![image](../images/rASkR3Rp6y.gif) + +## 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. + +![image](../images/lP4W1kmTIh.gif) + +## Hold-Right-Click the Map Background + +for additional options, such as greater control over the resource stack legend, toggling a **4-panel display**, selecting a **Zoom** level, and setting a **Background Color**. Most loaded resources will also have a menu option for reading out the pixel values: + +![image](../images/ui4fNI3X0C.gif) + + +# Product Browser + +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. + +![image](../images/vPeaMsn9ZT.gif) + + + + diff --git a/docs/cave/d2d-all-tools.md b/docs/cave/d2d-all-tools.md new file mode 100644 index 0000000000..84418601df --- /dev/null +++ b/docs/cave/d2d-all-tools.md @@ -0,0 +1,299 @@ + +There are two main subsets of types of tools in CAVE: [Display Tools](#display-tools) and [Radar Tools](#radar-tools). + +## Display Tools + +The display tools are a subset of the tools available in CAVE. These programs are accessible though the **Tools** dropdown menu. + +![image](../images/toolsMenuDisplayTools.png) + +Many 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 done by clicking the center mouse button, or right-clicking over the **Product Legend**. + +--- + +### Az/Ran Overlay + +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. + +![image](../images/az-range-overlay.gif) + +--- + +### Baselines + +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. + +![image](../images/baselines.png) + +--- + +### Choose By ID + +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. + +![image](../images/chooseByID.png) + +--- + +### Distance Bearing + +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. + +![image](../images/distanceBearing.png) + +--- + +### Distance Speed + +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. + +![image](../images/distanceSpeed.gif) + +* **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. + +--- + +### Distance Scale + +Enabling this feature adds a scalebar to the bottom right hand of the main D2D display. This tool can be used to determine the size of a storm or any other meteorological feature of interest. + +![image](../images/distanceScale.gif) + +--- + +### Feature Following Zoom + +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. + +--- + +### Home + +Selecting the Home option displays a marker, which is an "X" with the word "Home" next to it. +Clicking 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 (click and hold to access the menu to turn on sampling) to display the range in miles and azimuth (in degrees) of the pointer location relative to the Home location. + +--- + +### Points + +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 +Points 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 +time series, or a variable vs. height plot, 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. + +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: + +1. **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 and 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 + + And **may** do any of the following: + + * 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 of the Interactive Points layer reflected in the Interactive Points product legend. You can change the color of the Interactive Points layer by right clicking on the Interactive Points product legend and selecting a color from the dropdown list. The selected color then changes 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). + +2. **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 +of selecting "Hide Point," "Delete Point," or "Move Point." Once hidden, the Point can be +unhidden using the Points List dialog box, where you would uncheck the checkbox under +the "Hidden" column adjacent to the Point that was hidden (see below). If "Delete Point" is +selected, a pop-up opens to confirm whether you want to delete the Point. Selecting the +"Move Point" option moves the Point to wherever you place the cursor on the map. + +3. **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 +review the list of Points assigned to that group by clicking the arrow next to the group name. +Initially, the default set of Points (A-J) are listed in the D2D Group, as shown above. In the +Points List dialog box, Points and groups may be dragged into and out of other groups to create +or 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 +moved. + * **Hidden**: Checking the checkbox adjacent to the Point hides the Point on the map. + +--- + +### Put home cursor + +The Put home cursor tool provides an easy way to locate a METAR observation station, a city and +state, 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 +(station, city/state, or latitude/longitude) is identified in the Put Home Cursor dialog box. +Another 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 +Station, 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. + +--- + +### Range Rings + +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 the middle mouse button 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. + +![image](../images/rangeRings.png) + +--- + +### Sunset/Sunrise + +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. + +![image](../images/sunset-sunrise.png) + +--- + +## Text Window + +Selecting this option brings up a Text Display window that behaves in the same way as a window on the [Text Workstation](#text-workstation), except that the scripts menu is disabled. + +--- + +### Time of Arrival / Lead Time + +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). + +--- + +### Units Calculator + +This tool converts the units of the first column into differing units of the second column. The units are grouped into temperature, speed, 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. + +![image](../images/unitsCalculator.png) + +--- + +### Text Workstation + +By selecting one of the "Text" buttons, a text window opens up. In National Weather Service operations, the text workstation is used to edit new warning text as well as look up past warnings, METARs, and TAFs. This functionality is **disabled** in the Unidata AWIPS version. + +![](../images/textWorkstation.png) + +--- + +## Radar Tools + +The radar tools are a subset of the tools available in CAVE. These programs are accessible though the **Tools** dropdown menu, and in individual site radar menus. + +![image](../images/toolsMenuRadarTools.png) + +--- + +### Estimated Actual Velocity (EAV) + +A velocity (V) display from the radar shows only the radial component of the wind, so the indicated speed 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. + +![image](../images/estimatedActualVelocity.gif) + +--- + +### Radar Display Controls + + +![image](../images/radarDisplayControls.png) + + +The Radar Display Controls dialog box is derived from the Radar Tools submenu and provides options that control the appearance of the Storm Track Information (STI), the Hail Index (HI), the Tornado Vortex Signature (TVS), the Digital Mesocyclone Display (DMD) products, the Microburst Alert (MBA) products, the Storm Relative Motion (SRM), and the SAILS products. The Radar Display Controls dialog box options are described below. + +> **Note**: Our version of CAVE may not have all the products that these options are applicable to. + +The Radar Display Controls dialog box is divided into eight sections: [STI](#sti-storm-track-information), [HI](#hi-hail-index), [TVS](#tvs-tornado-vortex-signature), [DMD/MD/TVS](#dmd-md-tvs), [DMD](#dmd-digital-mesocyclone-display), [MBA](#mba-microburst-alert), [SRM](#srm-storm-relative-motion), and [SAILS](#sails-supplemental-adaptive-intra-volume-low-level-scan). Each section has the following options: + +#### STI (Storm Track Information) + +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. + +#### HI (Hail Index) + +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. + +#### TVS (Tornado Vortex Signature) + +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. + +#### DMD, MD, TVS + +There is one option in this section of the Radar Display Controls dialog box. + +* **Show extrapolated features**: With this option, you can choose whether to show the time-extrapolated features using DMD, MD, or TVS. + +#### DMD (Digital Mesocyclone Display) + +* **Minimum feature strength**: A mesocyclone clutter filter which specifies the minimum 3D strength rank use to display a mesocyclone (default is 5). +* **Show overlapping Mesos**: Toggles whether to show overlapping mesocyclones. +* **Type of track to show**: This dropdown has option available for whether to display past and/or forcast tracks. + +#### MBA (Microburst Alert) + +* **Show Wind Shear**: This option allows you to choose whether to display wind shear associated with microburts alerts. + +#### SRM (Storm Relative Motion) + +The first three options in the SRM section allow you to choose where you want to derive the storm motion from. + +* **Storm Motion from WarnGen Track**: Selecting this option will display the storm motion from a WarnGen Track. +* **Average Storm Motion from STI**: Selecting this option will display the average storm motion from from the storm track information (STI). +* **Custom Storm Motion**: Selecting this option allows you to specify a custom storm motion with the selections below. + - **Direction**: This slider allows you to choose the direction (in degrees??) of the storm motion. + - **Speed**: This slider allows you to specify the speed (in mph??) of the storm motion. + +#### SAILS (Supplemental Adaptive Intra-Volume Low Level Scan) + +* **Enable SAILS Frame Coordinator**: +**Enabled (default)**: keyboard shortcuts change where tilting up from 0.5 degree SAILS tilt will step to the next higher tilt (similar to GR2 Analyst) and Ctrl right arrow will step to the most recent tilt available for any elevation angle. +**Disabled**: keyboard shortcuts change where tilting up from 0.5 degree SAILS tilt will not go anywhere (old confusing behavior) and Ctrl right arrow will step to the most recent time of the current tilt. + +--- + +### VR - Shear + +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 +mode. The VR - Shear overlay is loaded in different colors for each panel. There are actually +four copies of the program running, and each behaves independently. This means that you can +get accurate readings in any one of the four panels — 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. diff --git a/docs/cave/d2d-edit-menus.md b/docs/cave/d2d-edit-menus.md new file mode 100644 index 0000000000..515f76fd6e --- /dev/null +++ b/docs/cave/d2d-edit-menus.md @@ -0,0 +1,54 @@ +# Editing Menus + +Any of the menus in the menubar can be customized in the **Localization Perspective**. + +--- + +## Modifying Menus + +Once in the **Localization Perspective**, menus can be modified by going to the **D2D** > **Menus** directory in the File Browser. Here there are submenus for different data types and menu structures. Usually the **index.xml** file found in these submenus is the *master* file which the actual menu is based off of. This file can reference other xml files and you may have to modify these *child* xml files to get the results you are looking for. + +In order to modify any file, you must right click on it and +select **Copy To > USER (my-username)**. Then you may open this copy and begin to modify it. Once this process has been completed and a change has been made and saved, CAVE will need to be restarted and opened in the D2D perspective to see the change. + +This example covers how to add a new menu entry to an existing menu. + +1. Switch to the **Localization Perspective** +2. Find the **grid** folder under **D2D** > **Menus** +3. Double-click to expand **index.xml** +4. Right-click to **BASE (common_static)** and select **Copy To...**, then select **USER** level +5. Double-click **USER** to open the editor and copy an existing include tag, and update the *modelName* (this must match an existing product found in the Product Browser) and the *menuName* (this can be anything) + + + + + + + + +6. Once this is completed, save the file and restart CAVE +7. Navigate to the **Models** menu and you should see a new entry with **GEFS** + +--- + +## Removing Menus + +This example covers how to remove a menu (in this case **MRMS**) from D2D: + +1. Switch to the **Localization Perspective** +2. Find the **mrms** folder under **D2D** > **Menus** +3. Double-click to expand **index.xml** +4. Right-click **BASE** and select **Copy To...**, then select **USER** level +5. Right-click refresh the **mrms** entry +6. Double click **USER** to open the editor and change + + + + + + to + + + + +With this completed, you can now restart CAVE and will not see the MRMS menu anymore. Repeat this example for other product menus, such as **radar**, **upperair**, **tools**, etc., to further customize D2D data menus for any level of localization. diff --git a/docs/cave/d2d-gis-shapefiles.md b/docs/cave/d2d-gis-shapefiles.md new file mode 100644 index 0000000000..e378da0559 --- /dev/null +++ b/docs/cave/d2d-gis-shapefiles.md @@ -0,0 +1,112 @@ +# GIS Import +The Geographic Information System (GIS) Import menu entry 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. This section describes how to: + +* [Load GIS Data in CAVE](#display-gis-data) +* [Modify the GIS Data Preferences](#gis-data-preferences) +* [Customize the Attributes](#customizing-the-gis-attribute-dialog) +* [Label GIS Data](#labeling-gis-data) + +--- + +## Display GIS Data + +Importing a GIS shapefile is accessed through **File > Import > GIS Data**. The GIS DataStore Parameters dialog is comprised of four sections: + +* **DataStore Type**: You can select a file type from the dropdown list. The only option is *GIS File*. +* **Connection Parameters**: Click the **Browse** button and navigate to the directory where your shapefiles are. Pressing **Connect** will populate the available shapefiles. +* **Load As**: Shapefiles can be loaded as a Map or as a Product. + * **Map**: The selected shapefile displays as a map, similar to if you load a map from the Maps menu. + * **Product**: When this radio button is selected, you will also need to select the start and end date/time the data is valid for. The selected shapefile displays as a product with a shaded (color-filled) image. When plotting with additional products, if the display time falls within the start/end time range selected, the shapefile will display. When the valid time falls outside the start/end time, the map product image does not display. +* **Table**: This section lists all of the available shapefiles that are available for display. + +![image](../images/gis-gui.png) + +--- + +## GIS Data Preferences + +Updating GIS display preferences is accessed through **CAVE** > **Preferences** > **GIS Viewer**. You are able to alter the highlight color, style, width, and opacity of the product in the Main Display here. + +![image](../images/gis-preferences.png) + + + +--- + +## Customizing the GIS Attribute Dialog + +You have the ability to highlight or hide specific areas of the displayed map. These functionalities are available by right click and holding on the Map Product ID in the Legend area and selecting **Display Attributes**. The pop-up window is commonly referred to as the "Attributes Table". For each row of information there is an associated map/map product image displayed on the Main Display Pane. + +![image](../images/gisattr.png) + +### Highlighting + +#### Highlighting Selected Areas + +To highlight a selected area(s) of the GIS image, highlight the corresponding row(s) in the Attributes Table, right click and hold on one of the selected rows, and check the Highlighted checkbox. Active highlighted rows will be yellow in the table and the corresponding area in the map display will be pink. + +#### Unhighlighting Selected Areas + +You can unhighlight by selecting the row, right mouse hold and uncheck the Highlighted checkbox. + +#### Unhighlighting All Areas + +To remove all highlighted, select **Annotation > Clear Highlights**. + +!!!Note "If you are interested in a particular area in the Main Display Pane, but don't know the where in the Attributes Table it is, left double-click on the area of interest and the corresponding row will be highlighted." + + +### Controlling Visibility of Image Areas + +#### Hiding Selected Areas + +To hide a selected area(s) of the GIS image, highlight the corresponding row(s) in the Attributes Table, right click and hold on one of the selected rows, and check the Visible checkbox. Hidden rows will be gray in the table and the corresponding area in the map display will disappear. + +#### Unhiding Selected Areas + +You can make these images visible by selecting the row, right mouse hold and check the Visible checkbox. + +#### Unhiding All Areas + +To make all images visible, select **Annotation > Make All Visible**. + +### Configuring Attributes Table + +In the Attributes Table, you have the option to sort by columns and select which columns are displayed. + +#### Selecting Columns to Display + +By default, all available columns are displayed. The Select Columns dialog will pop-up if you select **Data > Select Columns...**. You can highlight the columns use the arrows to move them into the Available or Displayed columns. Clicking OK will update your table. + +#### Sorting Column Information + +The **Sort Order** dialog will pop-up if you select **Data > Sort...**. You can use the drop down menu to choose the column to sort by and then sort by Ascending or Descending. You can sort by additional columns. Clicking OK will update your table. + +--- + +## Labeling GIS Data + +You can select which attribute you want to use to label the objects on the Main Display. + +To open the Label submenu, right click and hold on the Map Product ID in the Legend area to open a pop-up menu and select **Label** and choose which attribute you want as the label. + +![image](../images/gis-label.png) + + diff --git a/docs/cave/d2d-gridded-models.md b/docs/cave/d2d-gridded-models.md new file mode 100644 index 0000000000..f4f107456b --- /dev/null +++ b/docs/cave/d2d-gridded-models.md @@ -0,0 +1,123 @@ +# Volume Browser + +The Volume Browser provides access to numerical models, sounding 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. + +The Volume Browser can be accessed from either the **Tools** (alphabetically organized) or **Models** (first option) menus. + +![menuBar](../images/menuBar.png) + +--- + +## Visual Overview + +The Volume Browser window is divided into four areas: + +![](../images/volumeBrowserLabeled.png) + +1. The [**Menu Bar**](#volume-browser-menu-bar) along the top +2. The Data Selection Menus +3. The Product Selection List +4. The Load Buttons (**Diff** and **Load**) to load items from the Product Selection List + +Each 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. + +--- + +## Volume Browser Menu Bar + +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) +* [**Tools**](#vb-tools) +* [**Display Types**](#display-types) +* [**Loop Types**](#loop-types) + +--- + +## VB Tools + +![](../images/volumeBrowserToolsMenu.png) + +### Baselines + +Selecting Baselines displays 10 lines, labeled A-A' to J-J', along which cross-sections can be +constructed 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 +are working with a baseline, a second click with B3 will return you to the original baseline, even +if you modified another baseline. + +### Points + +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 +Points and no Points appear, click B3 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 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 +time series, or a variable vs. height plot, 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. + +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. + +### Choose By ID + +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. + +--- + +## Display Types + +![](../images/volumeBrowserDisplayMenu.png) + +### Plan View (default) + +This is the default option for the Volume Browser. From the Plan-view perspective, data are plotted onto horizontal surfaces. 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. + +### Cross Section + +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.") + +### Time Height + +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. + +### Var vs Hgt + +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. + + +### Sounding + +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. + +### Time Series + +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. + +## Loop Types + +![](../images/volumeBrowserAnimationMenu.png) + +### Time + +The default option for the Volume Browser. It allows you to view model data through time + +### Space + +Allows you to loop through a series of predefined latitude or longitude cross-sectional slices at a fixed time. diff --git a/docs/cave/d2d-grids.md b/docs/cave/d2d-grids.md new file mode 100644 index 0000000000..2dbccba215 --- /dev/null +++ b/docs/cave/d2d-grids.md @@ -0,0 +1,70 @@ + +## MSLP and Precipitation + +![](../images/screenCapture-2016.04.04.13.43.40-20160402_120000.png) + +## Sfc Temperature and Wind + +![](../images/screenCapture-2016.04.04.13.35.35-20160404_000000.png) + +## Sfc Dewpoint Temperature + +![](../images/screenCapture-2016.04.04.13.35.51-20160404_000000.png) + +## Sfc Relative Humidity + +![](../images/screenCapture-2016.04.04.13.36.06-20160403_150000.png) + +## 30mb Mean Dewpoint + +![](../images/screenCapture-2016.04.04.13.36.14-20160404_000000.png) + +## Precipitable Water + +![](../images/screenCapture-2016.04.04.13.36.20-20160404_000000.png) + +## Simulated Reflectivity (REFC) + +![](../images/screenCapture-2016.04.04.13.36.45-20160331_120000.png) + +## Lightning Threat + + +## Precip Type / Moisture Transport + +![](../images/screenCapture-2016.04.04.13.36.56-20160404_000000.png) + +## Vorticity (500mb) + +![](../images/screenCapture-2016.04.04.13.37.03-20160404_000000.png) + +## Vertical Velocity (500mb, 700mb, 850mb) + +![](../images/screenCapture-2016.04.04.13.37.10-20160404_000000.png) + +## Thickness / Vorticity Advection (Trenberth) + +![](../images/screenCapture-2016.04.04.13.37.27-20160404_000000.png) + +## Wind / Height (850mb, 700mb, 500mb, 300mb, 250mb) + +![](../images/screenCapture-2016.04.04.13.37.34-20160404_000000.png) + +## Potential Vorticity (250mb) + +## Helicity / Storm-Relative Flow + + +## Hail Parameters + +![](../images/screenCapture-2016.04.04.13.37.56-20160331_150000.png) + +## MCS Parameters + +![](../images/screenCapture-2016.04.04.13.38.36-20160331_150000.png) + +## Isentopic Analysis (270K-320K) + +![](../images/screenCapture-2016.04.04.13.41.26-20160404_000000.png) + +--- diff --git a/docs/cave/d2d-hydro.md b/docs/cave/d2d-hydro.md new file mode 100644 index 0000000000..8c4a9e8760 --- /dev/null +++ b/docs/cave/d2d-hydro.md @@ -0,0 +1,72 @@ + +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. + +# SPC + +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. + +# TPC + +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. + + +# HPC + +Contains 6-hour QPF (Quantitative Precipitation Forecast) data plus the submenus, described +below, 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 +probabilities, and pressure and frontal analysis. + +# MPC + +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). + +# CPC + +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. + +# AWC + +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. + + +# NCO + +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. + + +# Hydro + +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. + +# Local Analyses/Statistical Guidance + +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. + + + diff --git a/docs/cave/d2d-map-resources.md b/docs/cave/d2d-map-resources.md new file mode 100644 index 0000000000..5d502c18fd --- /dev/null +++ b/docs/cave/d2d-map-resources.md @@ -0,0 +1,9 @@ + +These programs are accessible though the **Maps** dropdown menu. + + +* Interstates +* Interstates and US Highways +* Warning Areas (with station identifier) +* WSR-88D Station Locations + diff --git a/docs/cave/d2d-perspective.md b/docs/cave/d2d-perspective.md new file mode 100644 index 0000000000..ca407472f7 --- /dev/null +++ b/docs/cave/d2d-perspective.md @@ -0,0 +1,226 @@ +# D2D Perspective + +D2D (Display 2-Dimensions) is the default AWIPS CAVE perspective, designed to mimmic the look and feel of the legacy AWIPS I system. + +![image](../images/caveHeader.png) + +System menus include **CAVE**, **File**, **View**, **Options**, and **Tools**. + +Data menus include **Models**, **Surface**, **NCEP/Hydro**, **Upper Air**, **Satellite**, **Local Radar Stations**, **Radar**, **MRMS**, and **Maps**. + +Map projection, image properties, frame control, and a few featured applications (**Warngen**, **Nsharp**, and **Browser**) make up the the primary D2D toolbar. +>**Note**: Depending on which Operating System version of CAVE there may be other application options (**PGEN**, **GEMPAK**). + +--- + + +## Resource Stack + +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. The other two views are the Simple view, which shows the time, and the Map Resources. To switch between views see the [Right-Click Functionality](#right-click-background-to-cycle-resource-views). + +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. + +![image](../images/showHideResource.gif) + +### Right-Click Background to Cycle Resource Views + +The default display in the resource stack is the Product Resources. Right Click the mouse on the map background (anywhere but on the stack itself) to switch to a Simple View, which just shows the current displayed time if product data is loaded. Right Click again to show all Map Resources. Right Click again to switch back to Product Resources. +![image](../images/cycleResource.gif) + +### Hold-Right-Click Resource Name for Menu + +Drag the mouse over a loaded resource and **hold** the right mouse button until a menu appears. + +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. + +![image](../images/resourceMenu.gif) + +This menu also gives you the option to unload **this specific product**, as opposed to removing all data prodcuts. Simply select the **Unload** option at the bottom of the resource's hold-right-click menu. + +--- + +## Display Menu +The display menu has many options which can alter the functionality in CAVE. + +### Hold-Right-Click Background for Display Menu + +Holding down the right mouse button anywhere in the map view will open a right-click menu + +![image](../images/rightclickmenu.png) + +### 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. + +![image](../images/changeLegends.gif) + +### 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. This can be toggled on and off by selecting the **Sample** option in the Display Menu. + +![image](../images/sample.gif) + +### 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 "Notice the readout is at the same position in both panels. Any mouse movement made on one panel will be made on the other." + +![2-panel](../images/2panelReadout.gif) + +By default, loading any data will load that data onto **both** panels. However, there is the option to specify which panel you would like to load data into, which can be useful if you want to have different data in each of the panels. To access this option, simple hold-right click to pull up the Display menu and choose **Load to This Panel** as shown below: + +![select panel load](../images/loadToThisPanel.png) + +Now, a yellow **L** will appear in the lower left hand corner of the panel you selected to load data to. When data is loaded from the menus it will only load to the display desginated with the L. +Switch back to loading in both panels, by using the **Load to All Panels** option in the Display Menu. + +![single panel load](../images/singlePanelLoad.gif) + +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). + +### Unload Data + +Select **Unload All Products** to remove all loaded graphic and image products from the display and start fresh. +Select **Unload Graphics** to remove all but the image products. + +![display panel unload](../images/displayPanelUnload.png) + +--- + +## Product Browser + +The Product Browser allows users to browse a complete data inventory in a side window, organized by data type. To open the Product Browser, either select the icon in the toolbar (![](../images/productBrowserIcon.png)), or go to the menu: **CAVE** > **Data Browsers** > **Product Browser**. + +Selections for **Grid**, **Lightning**, **Maps**, **Radar**, **Redbook**, and **Satellite** are available. All products loaded with the Product Browser are given default settings. +>**Note**: The Linux and Mac version also have a selection for **GFE** available. + +![image](../images/openProductBrowser.gif) + +--- + + + +## Options Menu +There are several toggle options and options dialogs that are available under the **Options** menu found at the top of the application. + +### Time Options (Ctrl + T) + +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 +Offset 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 +be 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 +box 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 +far off it is. + + + + +### Image Combination (Insert) + +This check button enables/disables the ability to display two images at once. + +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 makes All-Tilts radar legends more usable. + + +### Display Properties + +This menu option opens the Display Properties dialog box. Most of the options available in this dialog box are also available on the [Toolbar](#top), while the rest are available in the [individual resource menus](##hold-right-click-resource-name-for-menu) if that resource uses these properties. + +![image](../images/displayProperties.png) + + +### Loop Properties (Ctrl + L) + +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. + + +### Image Properties (Ctrl + I) + +The Image Properties dialog box can be opened here (in the Options menu) or by using the Image Properties iconified button on the D2D Toolbar (![](../images/imagePropsIcon.png)), 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. + + +### Set Time + +This option allows you to set the CAVE clock, located on the bottom of the screen, to an earlier time for reviewing archived data. + + +### Set Background Color + +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). + +--- + +## Switching Perspectives + +Switching perspectives in CAVE can be found in the **CAVE > Perspective** menu. + +D2D is one of many available CAVE perspectives. By selecting the **CAVE** > **Perspective** menu you can switch into the **GFE**, or **Localization** perspective. +>**Note**: The **National Centers Perspective** (which is available in the **Other...** submenu) is available on the Linux version of CAVE. And the **GFE** perspective is not available on the Windows version. + +![image](../images/perspectivesMenu.png) + +--- + +## CAVE Preferences + +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. + +![image](../images/localizationPreferences.png) + +--- + +## Load Mode + +Within the Display Properties dialog is the Load Mode option, 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, and can also be changed by using this toolbar option as well. + +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 +frames. +* **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 +pane. +* **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 +loaded 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 +want. Inventory loads into the currently displayed frame. +* **Slot**: Puts the latest version of a selected product in the currently displayed frame. diff --git a/docs/cave/d2d-pointdata-surface-obs.md b/docs/cave/d2d-pointdata-surface-obs.md new file mode 100644 index 0000000000..601a81fb2d --- /dev/null +++ b/docs/cave/d2d-pointdata-surface-obs.md @@ -0,0 +1,70 @@ + +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. + +# METAR + +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. + +# Synoptic + +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. + +# Maritime + +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. + + +![image](../images/Rathudf.png) + +![image](../images/s7YS0cg.png) + +* **Local Storm Reports**: Local Storm Report (LSR) plots are generated from spotter reports +that 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. + + + +# National Convective Weather Forecast (AWC) + +The [National Convective Weather Forecast](https://www.aviationweather.gov/products/ncwf/) (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). + +![image](../images/JwRbQMl.png) + +# Center Weather Advisories (CWA) + +The [CWA](https://aviationweather.gov/cwamis/help) 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: + +![image](../images/II5BIKb.png) + +# MOS Products + +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 (°F) +* Ceiling (agl) / Visibility (ft × 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) + +![image](../images/cpXcdBh.png) + + +# Lightning + +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)](https://www.unidata.ucar.edu/data/lightning/uspln.html)**: 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)](http://www.vaisala.com/en/products/thunderstormandlightningdetectionsystems/Pages/NLDN.aspx)**: 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)](http://www.vaisala.com/en/products/thunderstormandlightningdetectionsystems/Pages/GLD360.aspx)**: 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](https://www.earthnetworks.com/networks/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). diff --git a/docs/cave/d2d-radar.md b/docs/cave/d2d-radar.md new file mode 100644 index 0000000000..93834987a1 --- /dev/null +++ b/docs/cave/d2d-radar.md @@ -0,0 +1,134 @@ + +# NEXRAD Radar Display + +The Unidata D2D Perspective features a selectable NEXRAD station display over a loop of the [FNEXRAD](https://www.unidata.ucar.edu/data/radar.html#fnexrad) Digital Hybrid Reflectivity product. Selecting any station will open a two-panel reflectivity and velocity view for the selected station. + +![image](../images/nexrad-display.png) + +![image](../images/radar-two-panel.png) + +# NEXRAD & TDWR Station Menus + +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. + +![image](../images/rnJIkyR.png) + + + +# Best Res Z+SRM8 / Z+V + +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. + +![image](../images/f3KMFFQ1Xv.gif) + +![image](../images/dr2pzX3.png) + +# 4-panel Z+SRM, ZDR+V, KDP+HC, CC+SW + + +# 4-panel Z, ZDR, HC+KDP, CC + +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 +select the **four panel** option and then select the desired set of 4 panels from the **four +panel** submenu. + +![image](../images/cLSS6leYQ1.gif) + +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. + +# Best Res Base Products + +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. + + +![image](../images/m82tQwX.png) + + + +# MRMS + + +--- + +# FNEXRAD Composites + +## DHR + +![image](../images/dhr.png) + +## DLV + +![image](../images/dvl.png) + +## EET + +![image](../images/eet.png) + +## HHC + +![image](../images/hhc.png) + +## DAA + +![image](../images/daa.png) + +## DTA + +![image](../images/dta.png) + +--- + +# Mosaic Radar Plots + +Mosaics available via this menu use data from up to nine nearby radars. Additional optional +mosaics 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//radar/radarInUse.txt`. A mosaicInfo.txt table will only work while logged on to an AWIPS workstation. + +## N0Q + +## DSP + +## DTA + +## DAA + +--- + +# Radar Applications + +## Estimated Actual Velocity (EAV) + +A velocity (V) display from the radar shows only the radial component of the wind, so the indicated +speed 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. + +![image](../images/qLuJnK2aVF.gif) + +## Four-dimensional Stormcell Investigator (FSI) + +The [Four-dimensional Stormcell Investigator (FSI)](http://www.nws.noaa.gov/mdl/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 “slice and dice” storms and view these data in three-dimensions and across time. + + +## V-R Shear + +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 +is located. +* **VR - Shear in 4 Panel**: You can use the VR - Shear Tool when the large display is in 4 panel +mode. The VR - Shear overlay is loaded in different colors for each panel. There are actually +four copies of the program running, and each behaves independently. This means that you can +get accurate readings in any one of the four panels — 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 +the echoes of interest. diff --git a/docs/cave/d2d-satellite.md b/docs/cave/d2d-satellite.md new file mode 100644 index 0000000000..a6f4f7e6bc --- /dev/null +++ b/docs/cave/d2d-satellite.md @@ -0,0 +1,76 @@ + +## NOAAport GINI imagery + +## Uniwisc McIDAS AREA files + + +## VIIRS + +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 +CONUS, 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**. + +## GOES and POES Sounding Data + +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. + + +## POES Imagery + +The POES Imagery section of the Satellite menu contains selectors for IR Window, Visible, 3.7µ, and 11-3.7µ products. These are viewable on all scales. + + +## Sounder Imagery + +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. + + +## Derived Products Imagery + +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 +under the AMSU and SSM/I + GPS section. + +* The **Blended Total Precip Water** product is a blend of the various data sources of AMSU, +SSM/I, and GPS satellites, and can be over water or land. +* **The Percent of Normal TPW** product is calculated at various times (hourly, monthly, +seasonally, etc.) to determine departures from the normal. From the information obtained, +forecasters can predict the chances of having a below average, normal, or above average +precipitation in the upcoming months. + + +## SSM/I Point Data + +SSM/I Point Data plot displays data collected over the course of a day for calculating ocean wind speeds. + + +## GOES High Density Winds + +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. + +## MTSAT High Density Winds + +MTSAT High Density Winds cover the Western Pacific. + +## ASCAT winds (25 km) + +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 +CAVE at all scales. + +![image](../images/X8MpdM4.png) diff --git a/docs/cave/d2d-uair.md b/docs/cave/d2d-uair.md new file mode 100644 index 0000000000..81cbaa160f --- /dev/null +++ b/docs/cave/d2d-uair.md @@ -0,0 +1,139 @@ + +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. + +# NSHARP Upper Air Soundings + +![image](../images/nsharp_button.png) + + +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. + +![image](../images/nsharp.png) + +--- + +# NUCAPS Soundings + +![image](../images/nucaps_menu.png) + +The NOAA Unique CrIS/ATMS Processing System ([NUCAPS](http://www.ospo.noaa.gov/Products/atmosphere/soundings/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](). + +![image](../images/nucaps.png) + +--- + +# Upper Air Plots + +> NCEP: 200mb to 850mb +> +> RAOB: 150mb to 925mb + +![image](../images/H4EJfAY.png) + +--- + +# UKMO 500mb Height + +500mb height graphic out to 144 forecast hours. + +![image](../images/xOnh51R.png) + +--- + +# CPC Charts + +* 6-10 day mean 500mb Height +* 8-14 day mean 500mb Height +* 6-10 day 500mb Height Anomaly +* 8-14 day 500mb Height Anomaly + +![image](../images/cpccharts.png) + +--- + +# NPN Profiler Time-Height + +NOAA Profiler Network ([NPN](http://www.profiler.noaa.gov/home/)) observations as a time-series plot. This time-series plugin is also used in the [Volume Browser]() plugin for both grids and observations. + +![image](../images/nRHf9d6.png) + +--- + +# NPN Profiler Plot + +* 200hPa-925hPa +* 1500m-500m AGL +* Surface + + +--- + +# Radar VWP Height-Level + +* 15km AGL +* 14km AGL +* 13km AGL +* ... +* 500m AGL +* 250m AGL +* 100m AGL + +--- + +# Radar VWP Pressure-Level + +* 200hPa to 925hPa + +--- + +# PIREP Aircraft Plot + +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 + +![image](../images/82OmP1O.png) + +--- + +# Aircraft MDCRS + +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 + +![image](../images/LH0ojSV.png) + +--- + +# SIGMET and AIRMET reports: Convective, Icing, Turbulance, Tropical, Volcanic + +## SIGMET + +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. + +## AIRMET + +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. + +![image](../images/dAKNWYk.png) + +--- + +# Visibility Products + +## IFR, Mountain Obscn + +![image](../images/wI0Jaxs.png) + + +## Medium Level, High Level + +![image](../images/OFRpsZU.png) diff --git a/docs/cave/goes-16-17-satellite.md b/docs/cave/goes-16-17-satellite.md new file mode 100644 index 0000000000..7ceef262db --- /dev/null +++ b/docs/cave/goes-16-17-satellite.md @@ -0,0 +1,311 @@ +# GOES 16/17 + +The ***goesr*** EDEX decoder supports the ingest of GOES products coming over NOAAPort and Unidata's IDD. These include [**single channel imagery**](#individual-channels), [**derived products**](#derived-products) (Level 2b netCDF files), gridded [**Geostationary Lightning Mapper**](#geostationary-lightning-mapper-glm) (GLM) products (produced by Eric Bruning at Texas Tech), [**CIRA created RGB**](#cira-geocolor) specific products, and [**vertical temperature/moisture profiles**](#vertical-temperature-and-moisture-profile). Using derived parameters, additional [**RGB**](#rgb-composites) and [**channel difference**](#channel-differences) products can be loaded. The ***dmw*** EDEX decoder supports the ingest of GOES [**derived motion winds**](#derived-motion-winds). + +![](../images/GOESEW.png) + +GOES East and West products are accessible in the **Satellite** menu. The menu is broken into sections starting with common CONUS GOES East/West Combo products. There are submenus for each of the separate geospatial sectors: + +* East Full Disk +* East CONUS +* East Mesoscale Sectors (x2) +* West Full Disk +* West CONUS +* West Mesoscale Sectors (x2) +* Hawaii +* Alaska +* Puerto Rico + +Each sector submenu has products for individual channels and vertical profiles, as well as submenus for derived products, channel differences, RGB Composites, GLM data, and derived motion winds. GLM data can also be found with its own submenu option a little lower down the menu and under the **Surface** menu. + +!!! warning "The RGB products are not available on MacOS or in a Virtual Machine running CAVE." + +![](../images/satelliteMenuNew.png) + +--- + +## LDM Pattern Actions + +The Unidata IDD redistributes both the NOAAPort/SBN GOES tiled products as well as stitched together GOES products. While AWIPS can decode and ingest both, it's important to only be requesting from one or the other so you aren't creating duplicate processing. The entries that should be used for GOES data are shown below which is found in the LDM's pqact.conf file, located in `/awips2/ldm/etc`. (For the full list of pqact entries, you can view [this](https://github.com/Unidata/awips2/blob/unidata_18.2.1/rpms/awips2.upc/Installer.ldm/patch/etc/pqact.goesr) file). + + # GOES 16/17 Single Channel (ABI) via Unidata IDD + NIMAGE ^/data/ldm/pub/native/satellite/GOES/([^/]*)/Products/CloudAndMoistureImagery/([^/]*)/([^/]*)/([0-9]{8})/([^/]*)(c[0-9]{7})(..)(.....).nc + FILE -close -edex /awips2/data_store/GOES/\4/\7/CMI-IDD/\5\6\7\8.nc4 + + # GOES 16/17 derived products + derived motion wind via SBN + HDS ^(IXT.[8-9]9) (KNES) (..)(..)(..) + FILE -close -edex /awips2/data_store/GOES/(\3:yyyy)(\3:mm)\3/\4/derivedProducts-SBN/\1_KNES_\2\3\4\5-(seq) + NOTHER ^(IXT[WXY]01) (KNES) (..)(..)(..) + FILE -close -edex /awips2/data_store/GOES/(\3:yyyy)(\3:mm)\3/\4/derivedProducts-SBN/\1_KNES_\2\3\4\5-(seq) + + # GOES 16 GLM Gridded Products via Texas Tech-->Unidata IDD + NIMAGE ^/data/ldm/pub/native/satellite/GOES/([^/]*)/Products/GeostationaryLightningMapper/([^/]*)/([0-9]{8})/([^/]*)(c[0-9]{7})(..)(.....).nc + FILE -close -edex /awips2/data_store/GOES/\3/\6/GLM-IDD/\4\5\6\7.nc4 + + # GOES CIRA derived products + NIMAGE ^/data/ldm/pub/native/satellite/GOES/([^/]*)/Products/GeoColor/([^/]*)/([^/]*)/([0-9]{8})/([^/]*)(c[0-9]{7})(..)(.....).nc + FILE -close -edex /awips2/data_store/GOES/\4/\7/CIRA/GeoColor/\5\6\7\8.nc4 + NIMAGE ^/data/ldm/pub/native/satellite/GOES/([^/]*)/Products/DebraDust/([^/]*)/([^/]*)/([0-9]{8})/([^/]*)(c[0-9]{7})(..)(.....).nc + FILE -close -edex /awips2/data_store/GOES/\4/\7/CIRA/DebraDust/\5\6\7\8.nc4 + NIMAGE ^/data/ldm/pub/native/satellite/GOES/([^/]*)/Products/CloudSnow/([^/]*)/([^/]*)/([0-9]{8})/([^/]*)(c[0-9]{7})(..)(.....).nc + FILE -close -edex /awips2/data_store/GOES/\4/\7/CIRA/CloudSnow/\5\6\7\8.nc4 + +--- + +## Individual Channels + +All geospatial sectors have 16 individual channel products that can be viewed. Below are samples of Channel 14 (11.20μm) for each of the sectors. + +### East CONUS 1km + +![](../images/goes-econus.png) + +### East Full Disk 6km + +![](../images/goes-efd.png) + +### East Mesoscale Sectors (EMESO-1, EMESO-2) + +Two floating mesoscale sectors (location will vary day to day from image shown) + +![](../images/goes-emeso12.png) + +### West CONUS 1km + +![](../images/goes-wconus.png) + +### West Full Disk + +![](../images/goes-wfd.png) + +### West Mesoscale Sectors (WMESO-1, WMESO-2) + +Two floating mesoscale sectors (location will vary day to day from image shown) + +![](../images/goes-wmeso12.png) + +### Alaska + +![](../images/goes-ak.png) + +### Hawaii + +![](../images/goes-hi.png) + +### Puerto Rico (PRREGI) + +![](../images/goes-pr.png) + +--- + +## RGB Composites + +RGB Composites are made by combining 3 channels and are available for each sector. Quite a few new RGB products have been added in Unidata's 18.2.1 release. These products are generated **on the fly in AWIPS** using the existing channel products from EDEX. + +!!! warning "GOES RGB Imagery is NOT SUPPORTED on macOS or within a Virtual Machine" + + OpenGL Shading Language limitations prevent multi-channel imagery from displaying correctly on Mac or in a Virtual Machine. Please use the Linux or Windows installs to view RGB products. + +### Day Cloud Phase + +![](../images/RGB-01-DayCloudPhase.png) + +### Fire Temperature + +![](../images/RGB-02-FireTemperature.png) + +### Day Land Cloud + +![](../images/RGB-03-DayLandCloud.png) + +### Day Cloud Convection + +![](../images/RGB-04-DayCloudConvection.png) + +### Day Land Cloud Fires + +![](../images/RGB-05-DayLandCloudFires.png) + +### VIS/IR Sandwich + +![](../images/RGB-06-VISIRSandwich.png) + +### Simple Water Vapor + +![](../images/RGB-07-SimpleWaterVapor.png) + +### Air Mass + +![](../images/RGB-08-AirMass.png) + +### Ash + +![](../images/RGB-09-Ash.png) + +### Day Convection + +![](../images/RGB-10-DayConvection.png) + +### Day Snow Fog + +![](../images/RGB-11-DaySnowFog.png) + +### Differential Water Vapor + +![](../images/RGB-12-DifferentialWaterVapor.png) + +### Dust + +![](../images/RGB-13-Dust.png) + +### CIMSS Natural Color + +![](../images/RGB-14-CIMSSNaturalColor.png) + +### Nighttime Microphysics + +![](../images/RGB-15-NighttimeMicrophysics.png) + +### SO2 + +![](../images/RGB-16-SO2.png) + +### CIRA Geocolor + +![](../images/RGB-17-CIRAGeocolor.png) + +### CIRA Debra Dust + +![](../images/RGB-18-CIRADebraDust.png) + +### CIRA Cloud Snow + +![](../images/RGB-19-CIRACloudSnow.png) + +### Daytime Composite 1 + +![](../images/RGB-20-DaytimeComp1.png) + +### Daytime Composite 5 + +![](../images/RGB-21-DaytimeComp5.png) + +--- + +## Channel Differences + +Channel differences are the result of subtracting one channel from another to produce a new product. These products are generated **on the fly in AWIPS** using the existing channel products from EDEX. + +There currently 10 channel differences that are offered in CAVE: + +* Split Window (10.3 - 12.3 μm) +* Split Cloud Top Phase (11.2 - 8.4 μm) +* Night Fog (10.3 - 2.9 μm) +* Day Fog (3.9 - 10.3 μm) +* Split Fire (2.2 - 1.6 μm) +* Split Ozone (9.6 - 10.3 μm) +* Split Water Vapor (6.19 - 7.3 μm) +* Split Snow (1.6 - 0.64 μm) +* Vegetation (0.64 - 0.87 μm) +* Upper Level Info (11.2 - 6.19 μm) + +!!! note "The rendering of these products uses the **Jep** package in Python, which has specific [install instructions](http://127.0.0.1:8000/install/install-cave/#method-1-direct-windows-install) for Windows." + +--- + +## Derived Products + +Derived products are also known as **Level 2+** products. Currently there are only derived products from GOES East available in AWIPS. Each sector has a different set of products available. To find out some more information on some of the products please the [**Quick Guides**](http://rammb.cira.colostate.edu/training/visit/quick_guides/) compiled by CIRA. + +!!! note "These may not all be available for each sector." + +The current products offered in CAVE are listed below and to the right is which GOES East sector they are available for (F=Full Disk, C=CONUS, M=Mesoscale): + +* Aerosol Detection - F,C,M +* Aerosol Optical Depth - F,C +* Clear Sky Mask - F,C,M +* Cloud Optical Depth - F,C +* Cloud Particle Size -F,C,M +* Cloud Top Height -F,C,M +* Cloud Top Phase -F,C,M +* Cloud Top Pressure -F,C +* Cloud Top Temperature - F,M +* Derived CAPE - F,C,M +* Derived K-Index - F,C,M +* Derived Lifted Index - F,C,M +* Derived Showalter Index - F,C,M +* Derived Total Totals - F,C,M +* Fire Area - F,C +* Fire Power - F,C +* Fire Temperature - F,C +* Instrument Flight Rule (IFR) Probability - C +* Low IFR Probability - C +* Marginal Visual Flight Rules (MVFR) Probability - C +* Cloud Thickness - C +* Land Skin Temperature - F,C,M +* RR/QPE - F +* Sea Surface Temperature - F +* Total Precip Water - F,C,M + +--- + +## Geostationary Lightning Mapper (GLM) + +Dr. Eric Bruning at Texas Tech has taken the raw GLM data and coded up some new gridded products that can be ingested and displayed in AWIPS. + +* Minimum Flash Area +* Average Flash Area +* Flash Extent Density +* Group Extent Density +* Total Optical Energy + + +GLM data are located in the menu structure: **Satellite** > **[SECTOR]** > **GLM Products**. You can also access the data from **Surface** > **GLM - Geostationary Lightning Mapper** submenus. + +![Satellite GLM Menu](../images/goes-GLMMenu.png) + +![Surface GLM Menu](../images/goes-GLMMenu2.png) + + +--- + +## Derived Motion Winds + +Derived Motion Wind Vectors are produced using sequential ABI images and can provide information about winds at different levels. The wind vectors are computed using both visible and infrared imagery. Winds can be plotted by different pressure layers or individual channels. More information can be found [here](http://cimss.ssec.wisc.edu/goes/OCLOFactSheetPDFs/ABIQuickGuide_BaselineDerivedMotionWinds.pdf). Below is an image of the winds at different pressure layers. + +![](../images/dmw.png) + +--- + +## Vertical Temperature and Moisture Profile + +Vertical Temperature and Moisture profiles are available in AWIPS. Similar to NUCAPS, when loaded in CAVE, a circle is displayed for each location that has a vertical profile available. When clicking on the circle, NSHARP will open with the vertical temperature and moisture profile. These profiles are GFS data that have been adjusted based on the satellite observations. More information can be found [here](https://rammb.cira.colostate.edu/training/visit/quick_guides/QuickGuide_GOES-R_Legacy_Temperature_Moisture%20Profiles.pdf). + +![](../images/goes-VertProfileMap.png) + +![](../images/goes-VertProfileSounding.png) + +--- + +## HDF5 Data Store + +Decoded GOES satellite data are stored in `/awips2/edex/data/hdf5/satellite/` under sector subdirectories: + + drwxr-xr-x awips fxalpha 4096 AKREGI + drwxr-xr-x awips fxalpha 4096 Antarctic + drwxr-xr-x awips fxalpha 4096 Arctic + drwxr-xr-x awips fxalpha 4096 AREA0600 + drwxr-xr-x awips fxalpha 4096 AREA0700 + drwxr-xr-x awips fxalpha 4096 AREA3100 + drwxr-xr-x awips fxalpha 4096 AREA3101 + drwxr-xr-x awips fxalpha 12288 ECONUS + drwxr-xr-x awips fxalpha 4096 EFD + drwxr-xr-x awips fxalpha 4096 EMESO-1 + drwxr-xr-x awips fxalpha 4096 EMESO-2 + drwxr-xr-x awips fxalpha 4096 HIREGI + drwxr-xr-x awips fxalpha 4096 NEXRCOMP + drwxr-xr-x awips fxalpha 4096 PRREGI + drwxr-xr-x awips fxalpha 4096 WCONUS + drwxr-xr-x awips fxalpha 4096 WFD + drwxr-xr-x awips fxalpha 4096 WMESO-1 + drwxr-xr-x awips fxalpha 4096 WMESO-2 \ No newline at end of file diff --git a/docs/cave/hazard-services-alert.md b/docs/cave/hazard-services-alert.md new file mode 100644 index 0000000000..d288ca481a --- /dev/null +++ b/docs/cave/hazard-services-alert.md @@ -0,0 +1,3 @@ + + +## Alerts diff --git a/docs/cave/hazard-services-create.md b/docs/cave/hazard-services-create.md new file mode 100644 index 0000000000..30bf2606c3 --- /dev/null +++ b/docs/cave/hazard-services-create.md @@ -0,0 +1,58 @@ + +## Hazard Creation Methods + +### Recommender Execution + +### Recommender Output + +#### River Flood Recommender + +#### Flash Flood Recommender + +#### Storm Track Recommender + +#### Dam/Levee Break Flood Recommender + +#### Burn Scar Recommender + +#### Creating a Hazard from a River Gauge + +## Selection Tools + +### Select By Area + +### Freehand Drawing + +## Manipulating Hazards + +### Adjusting a Hazard Polygon + +### Moving a Polygon Vertex + +### Deleting a Polygon Vertex + +### Adding a Polygon Vertex + +#### Moving a Hazard Geometry + +#### Hazard Information Dialog + +#### Hazard Type + +#### Time Range + +#### Details (Metadata) + +## Hazard Status + +### #Propose + +#### Preview + +##### Product Staging Dialog + +##### Product Editor + +#### Issue + +#### Ending and Ended diff --git a/docs/cave/hazard-services-display.md b/docs/cave/hazard-services-display.md new file mode 100644 index 0000000000..ea9ee5d379 --- /dev/null +++ b/docs/cave/hazard-services-display.md @@ -0,0 +1,137 @@ +# AWIPS Hazard Service Display + +Hazard Services is a collection of AWIPS applications used by forecasters to create, update, and manage hazards, replacing and unifying hazard generation capabilities. + +* WarnGen +* RiverPro +* GHG +* etc. + +In addition to providing a seamless forecast process for generating short-fused, long-fused, and hydrologic hazards, Hazard Services allows the forecaster to focus on the meteorology of the hazard situation, letting the system take on more of the responsibility for the generation and dissemination of products. + +## Launching Hazard Services + +Hazard Services can be launched from the various CAVE perspectives by selection the toolbar item "Hazards". + +When Hazard Services is first started, the Console and the Spatial Display are visible. + +## Spatial Display and Console + +The **Spatial Display** is the Hazard Services drawing layer which is loaded into the CAVE Map Editor when Hazard Services is started. It is the Hazard Services map, displaying hazard areas relative to geopolitical boundaries and handling hazard drawing and editing. Its presence is indicated by the 'Hazard Services (Editable)' line in the CAVE Map Legend, and it supports operations common to other AWIPS drawing layers. + +![image](../images/hazard-services_1.png) + +The **Console** is the main control panel for Hazard Services. It is always displayed if Hazard Services is running. Closing it closes Hazard Services as well. + +![image](../images/hazard-services_2.png) + +The Console is a CAVE View, by default docked within the main window. The Console includes a toolbar and a drop-down ("view") menu to the right of or just under its title tab. Below these is the table of hazard events. + +## Hazard Services Toolbar + +![image](../images/hazard-services-toolbar.png) + +### Hydro ![image](../images/hazard-services-hydro-button.png) + +The leftmost icon on the tool bar is an indicator if Hydro hazards are being worked or not (it will turn yellow if any active hazards are hidden from view by a filter). + +### Setup (Settings) + +Allows you to filter displayed hazard information to focus on the meteorological situation of concern. For example, you may want to focus only on hydrological hazards in a particular time scale and over a particular area. + +The Settings drop-down menu allows you to select an existing Setting or a recently-used Setting, create a new Setting, edit the current Setting, or delete the current (User) Setting. As new Settings are created, they are added to this drop-down list. The Console’s title tab shows the name of the currently loaded Setting. + +> Settings can also be viewed and edited in the [Localization Perspective]((localization-perspective).). + +#### Filters + +Allows quick modification of the filters being used by the current Setting. Events may be filtered by Hazard Type, Site ID, and/or Status. As the filters are altered, the Hazard Event Table contents change to include only those hazards that pass the filters. + +For example, with a number of potential events possible, you can select a couple of interest, move them to pending state, and propose one. To reduce clutter in the Console you can hide potentials using the Filters menu, so that all potential events are still present but hidden in both the Console and the Spatial Display. + +### Recommenders (Tools) ![image](../images/hazard-services-button-recs.png) + +The Tools button reveals a drop-down menu listing all the recommenders and other tools available in the current Setting. Recommenders may be run from this menu. When you select a Setting, this menu is populated with appropriate content. + +### Products + +* **Generate RVS​** + + With an FL.x hazard selected in the Console, select this item to bring up +a dialog to write an RVS text product. + +* **Correct Product​** + + Selecting the Correct Product option provides a list of products that may be corrected. The dialog includes seven columns: Product Category, Issue Time, Event IDs, Hazard Type, VTEC, Expiration Time, and User Name. You can click in a column header to order by, or type in the Search box at the bottom. Upon selecting an item from the list, the Hazard Information Dialog launches. + +* **View Product​** + + This option allows you to review issued products, selecting from a list in a *Select Product to View* dialog. Use the dialog to select the product type (using click, Ctrl-click, Shift-click), then click and select View Product or double-click to see the legacy text. + + A similar dialog will be produced by selecting the *View Products for Selected Events* item from the Console pop-up. In this case, the Filter/Query section is not needed, so you’ll see just the lower portion of the illustrated dialog. + + +### Spatial Display Modes + +When Hazard Services is in Editable state, three buttons set the mode of the Spatial Display, governing how it interprets mouse clicks. + +#### Drawing Tools + +This menu has six choices: + +* Draw Polygon​ + + When set, mouse clicks on the Spatial Display draw polygons, +one click per node (MB1 click to place a node, MB3 click to complete the polygon). + +* AddTo Polygon​ + + If a polygon is active (hazard selected), this choice allows you to augment the area or create a new separate area that will be logically joined with the current polygon. Example of the latter: + + Note how the single hazard now comprises two polygons. (When you select Preview, these will be joined into a single polygon for issuance.) + +* Draw Freehand Polygon​ + + When set, mouse clicks on the Spatial Display draw freehand polygons (MB1 press, drag, and release to draw the polygon's outline). Note that issued text products will conform to current rules limiting polygon vertices to 20 or snapping areas to counties or zones. The freehand, many-vertex, shapes will be modified at some point during the hazard-issuance workflow. + +* AddTo Freehand Polygon​ + + Similar to AddTo Polygon, but drawing is freehand. Note that you can augment both “segments” and freehand polygons with either of the AddTo tools. + +* Remove Polygon Vertices​ + + In the case where you have a polygon with many vertices, it is very difficult to modify a boundary. This tool will remove a section of vertices to make the problem more tractable. With the tool selected, drag with MB1 to enclose a segment of the polygon. When you release, those vertices will be removed. + +* Remove Polygon Area​ + + This tool provides a way to remove sections of a geometry. Press MB1 and drag out an area that intersects your geometry. Upon release, the intersection area will be removed with the new boundary along the curve you drew. + +If more than one hazard is selected in the Console, only Draw Polygon and Draw Freehand Polygon are available. The others are invalid and dimmed. + +#### Select Event + +This radio button sets the mode to event selection. When set, mouse clicks on the Spatial Display select hazard events, and drags cause panning. This is the default mode choice of this set of radio buttons. + +#### Pan + +This radio button sets the mode to pan mode. When clicked, you can pan the map without inadvertently moving or selecting polygons. + +### Maps for Select by Area + +The Maps for Select by Area button reveals a drop-down menu allowing the selection of maps that may be used for selecting by area within the Spatial Display. If the button is disabled, no maps that allow select-by-area are currently loaded. If the button is enabled, but a map menu item within the drop-down menu is disabled, that map is loaded but is currently invisible. + +### Temporal Controls + +There are two buttons used to control the Timeline view at the right side of the Hazard Table. You can also zoom and pan the Timeline using the mouse. + +* Selected Time Mode + + This options menu allows you to select the time mode, either a single time or range of times. + +* Show Current Time + + ​This button moves the Timeline so that the current time is visible toward its left end. + +## View Menu + +The View menu is a drop-down menu holding menu items for functions that in general are less frequently used than those available via the toolbar. diff --git a/docs/cave/hazard-services-example.md b/docs/cave/hazard-services-example.md new file mode 100644 index 0000000000..1a36a03919 --- /dev/null +++ b/docs/cave/hazard-services-example.md @@ -0,0 +1,6 @@ + +## Hazard Life Cycle + +### Transition from Product Centric toward Information Centric + +### Examples of Creating, Continuing, and Ending Hazards diff --git a/docs/cave/hazard-services-settings.md b/docs/cave/hazard-services-settings.md new file mode 100644 index 0000000000..7c3f0593b2 --- /dev/null +++ b/docs/cave/hazard-services-settings.md @@ -0,0 +1,49 @@ +# Hazard Settings + + +## Change Site + +## Check Hazard Conflicts + +## Auto Check Hazard Conflicts + +## Add To Selected + +## Show Hatched Areas + +## Change VTEC Mode + +## Reset Events + + +## Hazard Event Table + +### Column Headers + +* Non-Timeline Headers + +* Timeline Header + +### Table Rows + +### Hazard History + + + +## Settings Overview + +### Settings Menu + +### Settings Dialog + +#### Hazards Filter Tab + +#### Console Tab + +#### Console Coloring Tab + +#### HID/Spatial Tab + +#### Recommenders Tab + +#### Maps/Overlays Tab diff --git a/docs/cave/import-export.md b/docs/cave/import-export.md new file mode 100644 index 0000000000..4f54667ec9 --- /dev/null +++ b/docs/cave/import-export.md @@ -0,0 +1,59 @@ +# Import/Export + +## Export Images/GIFs + +The D2D screen can be exported as a PNG image as well as an animated GIF using the **File > Export > Image** menu option. This captures the current state of the screen, and allows you to set animation options (frame number, dwell time, etc) for exporting GIFs. If you choose to animate, you will either need to rename the destination file to have the *.gif* extension, or CAVE will pop up a dialog when you go to save, asking you to confirm that you want to output a GIF. + +![image](../images/exportImageDialog.png) + +--- + +## Export KML + +The *Export* submenu also includes a *KML* option (**File > Export > KML**), which allows users to save D2D displays or GFE grids in the KML (Keyhole Markup Language) file format. When zipped (compressed), the KML file format forms a KMZ file, which can be used in applications such as Google Earth. + +![image](../images/exportKML.png) + +The KML dialog box includes options to select frames to export. This includes exporting all frames, +the current/displayed frame, a range of frames, and, in GFE, the selected time range as highlighted in +the 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 +exported. + +* **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 +tiles when loaded in Google Earth. + +--- + +## CAVE Import Formats + +CAVE supported the following geo-referenced data files. CAVE can import the following through formats through the **File > Import** menu. + +1. **Background...** +2. **Image...** +3. **BCD File** +4. **GeoTIFF** +5. **LPI File** +6. **SPI File** +7. **Displays** + +![image](../images/importMenu.png) + +--- + +## CAVE Export Formats + +CAVE can export to the following through the **File > Export** menu. + +1. **Image** +2. **Print Screen** +3. **KML** +4. **Editor Display...** +5. **Perspective Displays...** + +![image](../images/exportMenu.png) diff --git a/docs/cave/localization-perspective.md b/docs/cave/localization-perspective.md new file mode 100644 index 0000000000..4dc1296bfb --- /dev/null +++ b/docs/cave/localization-perspective.md @@ -0,0 +1,100 @@ +# Localization perspective +## Localization Levels + +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 higher level (such as **Site**). + +!!! note "There are three *levels of localization*, starting with the default **BASE**" + + * **BASE** - default + * **SITE** - 3-letter WFO ID (required) overrides base + * **USER** - user-level localization overrides site and base + +--- + +## Localization Editor + +The Localization Perspective acts as file editor for the XML, Python, and text files which customize the look and feel of CAVE. This perspective is available in the menu **CAVE > Perspective > Localization**. + +Users may copy and add files to available directories at their own **User** localization version. + +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 + +![image alt text](../images/localizationEditor.png) + +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. + +![image alt text](../images/localizationHierarchy.png) + +There may be several versions of each file including **BASE**, **CONFIGURED** (GFE only), **SITE**, 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. + +--- + +## Customizing CAVE Menus + +Navigate to **D2D > 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 make needed changes. + +Selecting a file such as `index.xml` (by double clicking, or expanding) will show a sub-menu with a default localization level (typically **BASE** or **CONFIGURED**). Double-click this file 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 file and select **Copy To** > **User (_username_)** and you will see the file localization versions update with the new copy. Select this file to edit, and override, the existing version. + +![copy to](../images/copyToMenu.png) + + diff --git a/docs/cave/maps-views-projections.md b/docs/cave/maps-views-projections.md new file mode 100644 index 0000000000..7b0f58b13d --- /dev/null +++ b/docs/cave/maps-views-projections.md @@ -0,0 +1,64 @@ +# Maps, Views, Projections +## Default Map Scales + +The first toolbar menu item is a dropdown menu for different geographic areas and map projections. The default 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 + + * **CONUS** + * **N. Hemisphere** (North Polar Stereographic) + * **Regional** (for the selected localization site) + * **WFO** (for the selected localization site) + * **World - Mercator** + * **World - CED** + * **World - Mollweide** + * **GOES East Full Disk** (Geostationary) + * **GOES West Full Disk** (Geostationary) + * **Regional** Mercator projections for + - **Africa** + - **Alaska** + - **Antarctica** + - **Arctic** + - **Australia,New Zealand** + - **Europe** + - **Hawaii** + - **Japan** + - **Pacific Ocean** + - **Puerto Rico** + - **South America** + * **WFO** (Has a submenu which contains a map scale for every NWS localization site) + +![image](../images/map_scales.png) + + +--- + +## New Map Editor / View + +### Adding a New Map Editor + +This can be done in two ways: using the **file menu** and **right clicking** on the tab bar. + +Using the file menu, simply go to: **File > New Map**. + +This opens a new map editor tab with the default projection (CONUS Polar Stereographic). + +![image](../images/fileMenuNewMap.png) + +To use the tab bar, **right-click** on or next to any tab and select **New Editor** + +![image](../images/rightClickNewMap.gif) + +### Renaming Map Editor + +Any of the map editor tabs can be renamed. This can be particularly helpful if you have multiple tabs, with a different focus on each (ie. different geographic reigon, different types of data, etc). + +![rename map editor](../images/renameMapEditor.gif) + +--- + +## New Projection + +A new map projection can be created using the file menu: **File > New Projection**. + +![image](../images/createProjection.png) diff --git a/docs/cave/ncp-perspective.md b/docs/cave/ncp-perspective.md new file mode 100644 index 0000000000..734ab65b8c --- /dev/null +++ b/docs/cave/ncp-perspective.md @@ -0,0 +1,192 @@ +# The National Centers Perspective (NCP) + +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. + +![image](../images/ncp_image_6.png) + +--- + +## Loading Data + +1. Click the "**+Data**" button. + +2. Select **Category**, **Source**, **Group**, and **Attributes** + +3. 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**.) + +![image](../images/ncp_image_7.png) + + +**Latest Available Data Time** or **Cycle Time** is underneath the Attributes column at bottom-right. + +--- + +## Create a Bundle + +Open the Resource Manager by: + +* Click the "**+Bundle**" button on the toolbar + +* Press the **Spacebar** + +* Press the "**W**" key + +* Click **File -> New -> Bundle**. + +![image](../images/ncp_image_8.png) + +--- + +## Timeline + +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. + +![image](../images/ncp_image_9.png) + +Clicking "**Load**" will keep open the Resource Manager while the selected data layers are loaded to the map. ”**Load and Close**” will display data and close the Resource Manager. + +--- + +## Save a Bundle + +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. + +1. Select resources for a Bundle (as in previous steps). + +2. Click the "**Save Bundle**". + +3. Select or type-in your desired Group Name and Bundle name and click "**Save Bundle**". + +![image](../images/ncp_image_10.png) + +After saving a Bundle, its a good idea to confirm that it loads correctly. Select "**Bundle**" -> “**Load Bundle**” to find your newly created Bundle. + +The "**Edit Bundle**" button is available to make any changes while loading. + +--- + +## Manage Bundles + +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 “**Move Down**” buttons on the right. A user can add Bundles to an existing Bundle Group by clicking the “**Add Bundle**” 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 “**Remove Bundle**” button. NOTE: any changes made here must be saved by clicking the “**Save Bundle Group**” 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. + +![image](../images/image_25.png) + +--- + +## Edit Data Sources + +![image](../images/ncp_image_11.png) + +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. + +![image](../images/image_12.png) + +--- + +## Edit Resource Attributes + +Using gridded data, selecting an Attribute to edit allows you to change the GEMPAK syntax used to define the resource. + +![image](../images/image_13.png) + +--- + +## Add a New Grid + +1. Click the "**Bundle**" button and then open the “**Manage Data**” tab. + +2. Select the category (we will use **GRID**). + +3. Select a model to copy as a template. In this example we select the base "**NAM-12km**" model. + +4. Click the "**Copy**" button underneath the GRID column. + +![image](../images/image_16.png) + +5. You can edit the new resource under "**Edit Resource Type**". + +![image](../images/image_17.png) + +6. Choose a name for the new resource (e.g. **WRF**) + +7. In "**Edit Resource Parameters**", change the “**GDFILE=**” definition to match the name of the new model in the database (In this case we change **GDFILE=NAM** to **GDFILE=WRF)**. + +![image](../images/image_18.png) + +8. Click "**Create**" at the bottom of the window to finish. + +9. The new Resource now displays with a (**U**) next to the name, signifying a user-created item. + +![image](../images/image_19.png) + +10. In **Attribute Groups**, you can add attributes to a resource by clicking "**Edit**". + +11. 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.) + +![image](../images/image_20.png) + +12. Click "**Save**" and then “**Ok**”. + +13. In the "**Create Bundle**" tab, click “**New**” to see the new Resource. + +![image](../images/image_21.png) + +--- + +## Multi-Pane Display + +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. + +![image](../images/image_22.png) + +Selecting the "**Multi-Pane Display**" checkbox enables the multi-pane builder. + +![image](../images/image_23.png) + + + +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: + +1. Click the **Multi-Pane** checkbox in the Resource Manager + +2. Select the number of **Rows** and **Columns** you would like your data display to contain + +3. Select the precise pane in which you would like a specific product (i.e. Row 1, Column1) + +4. Choose a product through the **Add** button (See Data Selection above) + +5. Select a different cell in your multi-paned display in which you would like to display a product + + !!! note "the user will need to load a separate product from the Resource Manager for each pane in the **select pane** layout" + +6. Repeat step #4 + +7. Repeat the previous steps, until all of your panes have products queued up inside. + +8. Click "**Load**" and your multi-paned display will appear + +--- + +## Load Multiple Bundles + +The Load Bundle tab in the Resource Manager can be used to load Bundles previously created by the user: + +![image](../images/image_24.png) + +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 “Load and Close” 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 “**Select Timeline**” 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. diff --git a/docs/cave/nsharp.md b/docs/cave/nsharp.md new file mode 100644 index 0000000000..3a4a59c9ba --- /dev/null +++ b/docs/cave/nsharp.md @@ -0,0 +1,114 @@ +# NSHARP + +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](https://github.com/aeroelastics/SHARPy). + +NSHARP is available a number of ways in CAVE: + + * From the **D2D toolbar** select the NSHARP icon: ![](../images/nsharpIcon.png) + * 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 the **Models** or **Tools** menu select **Volume Browser** + - Make sure **Sounding** is selected from the menu at the top + + ![](../images/volumeBrowserSoundingMenu.png) + + - Select a source from the **Volume** menu + + ![](../images/volumeBrowserSources1.png) + Make sure it has data, signified by a green box to the right + ![](../images/volumeBrowserSources2.png) + + - Select **Soundings** from the **Fields** menu + + ![](../images/volumeBrowserFields.png) + + - Select any point from the Planes menu and an option will load in the table + - To create a new point go to select **Tools** > **Points** and use the right-click-hold menu to create a new point anywhere on the map + - Use the **Load** button to load data and open the NSharp display + + ![](../images/volumeBrowserLoad.png) + +--- +## NSHARP Configurations + +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. + +**To change the NSHARP confiuguration:** + +* Open the **NSHARP(D2D)** controls tab by clicking on the Nsharp toolbar (![](../images/nsharpIcon.png)) icon again +* Click the **Configure** button +* Click **Display Pane Configuration** (third from the bottom) +* Use the dropdown to choose a configuration, apply, save, close + +If you would like to interactively explore the different graphical areas in NSHARP **on the Web**, see the [NSHARP Interactive Overview](http://www.wdtd.noaa.gov/buildTraining/nsharp-interactive/interactive.html). + +--- +## Skew-T Display + +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. There are many different display configurations available. The one shown in these next few sections is the **SPC Wide Screen Configuration**. + +![](../images/nsharpSkewT.png) + +The box in the upper-left of the main display is linked to the cursor readout when over the SkewT chart. It reports the temperature, dewpoint, wind direction and speed, pressure, height AGL, and relative humidity of the trace. + +Skew-T is the default upper air chart in AWIPS, and can be changed to *turbulence display* (**T**) or an *icing display* (**I**). These options are available as buttons at the bottom of the NSHARP(D2D) controls tab (mentioned in [NSHARP Configurations](#nsharp-configurations)). Use the [AWIPS-2 NSHARP Interactive Overview page](http://www.wdtd.noaa.gov/buildTraining/nsharp-interactive/interactive.html) for more information about the Skew-T display. + +--- +## Windspeed vs Height and Inferred Temperature Advection + +![](../images/nsharpWindHeightTemp.png) + + +The windspeed vs height and inferred temperature advection with height plot 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](http://www.wdtd.noaa.gov/buildTraining/nsharp-interactive/interactive.html) for more information. + +--- +## Hodograph Display + +![](../images/nsharpHodograph.png) + +This panel contains the hodograph display from the sounding data. 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](http://www.wdtd.noaa.gov/buildTraining/nsharp-interactive/interactive.html) for more information about the hodograph display. + +--- +## Insets + +![](../images/nsharpInsets.png) + +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. There are buttons in the NSHARP(D2D) control button tab that toggle the six possible contents in the four boxes. There are also two buttons **PvIn** and **NxIn** in the control tab that can be used to cycle through the previous and next inset. +
![](../images/nsharpControlsInsets.png)
+ +Use the [AWIPS NSHARP Interactive Overview page](http://www.wdtd.noaa.gov/buildTraining/nsharp-interactive/interactive.html) for more information. + +--- +## Table Output Displays + +![](../images/nsharpTables.png) + +The Table Output Displays contains five different pages of parameters ranging from parcel instability to storm relative shear to severe hazards potential. There are two buttons **PtDt** and **NxDt** in the controls tab that can be used to cycle through the previous and next tables. +
![](../images/nsharpControlsTables.png)
+ +Use the [AWIPS NSHARP Interactive Overview page](http://www.wdtd.noaa.gov/buildTraining/nsharp-interactive/interactive.html) for more information on the tables and a list/definition of the parameters available. + +--- +## Graphs/Statistics + +![](../images/nsharpGraphs.png) + +In the SPC Wide Screen Configuration there are two graphs boxes under the insets, 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. +
![](../images/nsharpControlsGraphs.png)
+ +Use the [AWIPS NSHARP Interactive Overview page](http://www.wdtd.noaa.gov/buildTraining/nsharp-interactive/interactive.html) for more information. + +--- +## Sounding Inventory + +The display configuration used in this example is the **D2D Standard SkewT Screen Configuration**. + +![](../images/nsharpInventory.png) + +This section 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](http://www.wdtd.noaa.gov/buildTraining/nsharp-interactive/interactive.html) for more information on how to use the sounding inventory and time line. diff --git a/docs/cave/pgen.md b/docs/cave/pgen.md new file mode 100644 index 0000000000..276482fd0c --- /dev/null +++ b/docs/cave/pgen.md @@ -0,0 +1,7 @@ +# Product Generator (PGEN) + +The National Centers use PGEN to draw annotations and generate all their products, and it is included in D-2D to support Center Weather Service Units (CWSUs) making AWC-style SIGMETs. While this is not intended to be used for other purposes, there are a number of unique drawing and annotation tools that can be used to make images using the CAVE->export->Image once a display has been created. + + + + diff --git a/docs/cave/unused-components.md b/docs/cave/unused-components.md new file mode 100644 index 0000000000..5891f5b98c --- /dev/null +++ b/docs/cave/unused-components.md @@ -0,0 +1,38 @@ + +An overview of components that are used operationally by the NWS but are made inactive in the Unidata release. Some components are impractical for non-operational use, and some are unavailable for distribution outside of the NWS. + + +# Data Delivery + +The "Data Delivery" option opens the Data Delivery application. Data Delivery is a permission-based application, meaning that the System Manager or User Administrator controls the user's access to the Data Delivery functionalities. If granted permission to access this application, Data Delivery allows a user to subscribe to a data source or create an ad hoc request and have the data delivered in near real time. Whether delivered by subscription or in response to an ad hoc request, the data can be tailored to a user's specific temporal, geographic, and parameter needs. For a detailed description of the Data Delivery application, refer to Section 16.1. + +# Collaboration + +The "Collaboration" option offers two main functions: chatting and sharing displays. Chat allows users to send and receive instant messages or chat with fellow forecasters and offices in a chat room. Sharing displays adds to the chat room capabilities and allows the room's creator to show a CAVE map display to other participants in the room. For a detailed description of "Collaboration" and information on how to create a chat session and share displays, refer to Section 16.2. + +# Archive Case Creation + +The "Archive Case Creation" option is a component of the AWIPS-2 Archiver application. The archiver application is a permission-based functionality. It allows a user to extract stored weather event data and copy it into a user-defined directory to be archived (e.g., burned to a DVD). The archived data can later be played back for simulation of weather events using the WES-2 Bridge. For a detailed description of the AWIPS-2 Archiver application and the "Archive Case Creation" component, refer to Section 16.3. Archive Retention: The "Archive Retention" option is a component of the AWIPS-2 Archiver application. The archiver retention functionality and its purge component, which runs on EDEX, are permission-based functionalities. Access to the "Archive Retention" option is limited to User Administrators and users identified as a database/purge focal point. More information on these AWIPS-2 Archiver application functionalities are provided in the System Manager's Manual. + +# AWIPS User Administration + +Some of the functionalities of certain CAVE applications (currently, Data Delivery and Localization) are reserved for designated users. User Administrators choose the "AWIPS User Administration" option to access the screens they use to set permissions and roles for the reserved functions. Access to the "AWIPS User Administration" option is limited to User Administrators. Other users who select this option will be denied access and receive the Alert Message shown in Exhibit 2.2.6.1-5. More information on AWIPS User Administration is provided in the System Manager's Manual. + + +# LDAD (Local Data Acquisition and Dissemination) + +The LDAD system provides the means to acquire local data sets, perform quality control on the incoming data, and disseminate weather data to the external user community. It contains a number of components that reside on the internal AWIPS network and on the external LDAD component (on the LDAD server cluster). The internal and external components at WFOs are separated by a security firewall. + +The basic LDAD concept simplifies this process for both the data providers and for the support team. LDAD uses a simple data format, ASCII Comma Separated Values Text (CSVText), which separates each data field by a comma. A set of metadata files, created and maintained by the data provider or in conjunction with site personnel, will be used by the acquisition decoder. This facilitates data processing in hydrometeorological units instead of sensor units and removes the need for conversion routines. The simplicity of the CSVText format increases the likelihood that the data provider will use this standardized format. + +All LDAD acquisition data are categorized and stored into the following four classes: +* Mesonet for surface weather observations +* Hydro for rain and stream observations +* Manual for manual observations such as cooperative observers +* Upper air for multilevel observations such as profilers. + +The LDAD functionality supports the acquisition of the Integrated Flood Observing and Warning System (IFLOWS); ALERT; Mesonet; Profiler; RRS/Upper Air; Gauges (LARC, Handar, Campbell, Sutron); COOP (Co-operative Observations); and other data transported via LDM, Rsync, or other TCP/IP Protocols. The Data Acquisition function is achieved when data is transmitted to the internal (trusted) AWIPS servers. The data is transmitted to and from the LDAD Cluster via TCP/IP protocols or RS-232 communications. The Data Dissemination function is achieved when data is transmitted to the LDAD Cluster from the internal AWIPS system and is then distributed to External Users. The data can be acquired, stored, and displayed once fully configured. + +The LDAD System consists of two LDAD servers (LS2/3), a LAN switch (SMC 8024), a Terminal Server (Cyclades ACS32), Modems (MultiTech MT5600BR), and a LAN DMZ (HP ProCurve 2824). The DMZ consists of two SSG 320M Firewalls, a Netgear 16 switch, and two Netgear 5 port hubs. The LDAD baseline processes run on the LDAD Cluster (DMZ) and the AWIPS PX Cluster (Internal). Other local applications may run on other internal clusters, such as DX cluster in the case of the LDAD Dissemination Server. Data is transmitted through the DMZ either to the Trusted (internal) AWIPS system or to the Untrusted (External) Users/Systems. + + diff --git a/docs/cave/warngen.md b/docs/cave/warngen.md new file mode 100644 index 0000000000..aa99caa0e8 --- /dev/null +++ b/docs/cave/warngen.md @@ -0,0 +1,134 @@ +# WarnGen Walkthrough + +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 *non-operational* 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**. + +!!! warning "In order to select a feature it must be within your *CAVE localization* coverage (load **Maps** > **County Warning Areas** to see coverages)" + +## Quick Steps - Using WarnGen in Unidata AWIPS CAVE + +1. [**Load NEXRAD Display**](#load-nexrad-level-3-display) from the Radar menu +2. Choose a CWA with active severe weather (BUF is used in the video below) +3. [**Re-localize**](#select-site-localization) to this site in the **CAVE** > **Preferences** > **Localization** menu +4. Exit out of CAVE and reload (you should notice the new CWA at the top of CAVE) +5. [**Load radar data**](#load-single-radar-data-from-the-local-radars) from the local radar menu **kbuf** > **Z + SRM8** +6. Use the "period" key in the number pad to toggle between the 0.5 Reflectivity and SRM +7. Click [**WarnGen**](#launch-warngen) toolbar button ![](../images/warngenIcon.png) or load from **Tools** > **WarnGen** +8. [**Drag the storm marker**](#generate-a-storm-motion-vector) to the center of a storm feature +9. Step through frames back and forth and adjust the marker to match the trajectory of the storm feature +10. Click **Track** in the Warngen GUI to update the polygon shape and trajectory +11. From the WarnGen dialog select the type of warning to generate, time range, basis of the warning, and any threats (wind, hail, etc) +12. Click [**Create Text**](#text-window) at the bottom of the WarnGen dialog to generate a text warning product in a new window + + ![](../images/warngenHeaderBlock.png) + +13. Click [**Reset**](#redrawing-a-polygon) at the top of the WarnGen dialog to reset the storm marker at any time +14. Select **Line of Storms** to enable a two-pointed vector which is to be positioned parallel to a storm line +15. To [**add another vertex**](#add-and-remove-vertex-points), middle button click along the polygon + +## Video - Using WarnGen in AWIPS + +The video below walks through creating a warning polygon and text in AWIPS. More detailed information can be found in the text below the video. + + + +## Load NEXRAD level 3 display + +Select the menu **Radar** > **NEXRAD Display** and note coverage areas of current severe weather. We choose a CWA ID that contains some active severe weather (BUF Buffalo, New York, in this example). + +## Select SITE Localization + +Open **CAVE** > **Preferences** > **Localization**, select the CWA site ID (BUF) for the coverage area you want to use, followed by **Apply** and **Okay** and restart CAVE. Once CAVE is restarted, you should notice the new CWA at the top of the CAVE window. + +![](../images/warngenLocalization.png) + +## Load single radar data from the local radars + +Use the specialized site menu for the local radar data products, ex. Click on the local radar **kbuf** > **Z + SRM8**. + +![](../images/warngenLocalRadar1.png) + +This menu includes several sections with submenus for all available radar data at that site. + +![](../images/warngenLocalRadar2.png) + +Use the "period" key in the number pad to toggle between the 0.5 Reflectivity and SRM. + +## Launch WarnGen + +Select **WarnGen** from the D2D Toolbar or from the **Tools** > **WarnGen** menu. When started, the storm centroid marker appears and the WarnGen GUI will pop up as a separate window. + +![](../images/warngen.png) + +## Generate a Storm Motion Vector + +1. 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). +2. Step back 3 to 4 frames. +3. Drag the dot to the previous position of the feature you first marked to create the storm motion vector. +4. Click the **Track** button in the WarnGen GUI to update the polygon based off the storm motion. +5. Review the product loop and make adjustments to ensure the vector is accurate. + +![](../images/warngenDMTS.png) + +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 allows you to preview the polygon shape that will be issued, so you can make further edits. + +## Moving Vertex Points + +Vertices can be moved by clicking and dragging with the mouse. The warning polygon, including stippling, will update automatically. + +![](../images/warngenPoly.png) + +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. + +## Add and Remove Vertex Points + +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 two ways. Either by **Right Mouse Button** "click and hold" or a simple **Middle Mouse Button** click on the warning polygon line segment where you want to add the vertex. + +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 right mouse button **click and hold** and select **remove vertex**. + +## Redrawing a Polygon + +Click the **Reset** button to clear the current polygon and vector and reset the storm centroid marker. Generate a new storm motion by moving the storm markers and select the **Track** button in the WarnGen GUI to draw the new polygon. + + + +## Text Window + +Once you are satisfied with your polygon and have chosen your selections, click **Create Text** in the WarnGen GUI. Initially the AWIPS Header Block window appears. Click **Enter** for the text window to open. + +![](../images/warngenHeaderBlock.png) + +This will open the Text Window. + +![](../images/warngenTextWindow.png) + +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. 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. + +!!! danger "The Unidata AWIPS release is *non-operational*. You will be allowed to simulate the drawing and text-generation of warnings, but are **prevented from transmitting** a generated warning upstream" + + + +> 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. + + diff --git a/docs/css/extra.css b/docs/css/extra.css new file mode 100644 index 0000000000..d48582ff05 --- /dev/null +++ b/docs/css/extra.css @@ -0,0 +1,3 @@ +.md-content a { + color: #0091ea; +} diff --git a/docs/dev/awips-development-environment.md b/docs/dev/awips-development-environment.md new file mode 100644 index 0000000000..2e8b6a5985 --- /dev/null +++ b/docs/dev/awips-development-environment.md @@ -0,0 +1,170 @@ +# AWIPS Development Environment (ADE) + +Detailed instructions on how to download the latest source code and run CAVE from Eclipse. + +!!! note "It is important to keep in mind these instructions are intended for a system that is specifically used for developing AWIPS. It should not be used in conjunction with installed production versions of AWIPS." + +!!! note "The following *yum* commands listed in these instructions may need to be run as the *root* user, but the rest of the commands should be run as the local user." + +## 1. Remove AWIPS Instances + +First, make sure to remove any instances of AWIPS that are already installed, this can potentially cause problems when setting up the development environment. Below is an example that had CAVE installed. + +Uninstall with yum: + + yum clean all + yum groupremove awips2-cave + +Check to make sure all rpms have been removed: + + rpm -qa | grep awips2 + +Remove the awips2 directory: + + rm -rf /awips2 + +--- + +## 2. Set Up AWIPS Repo + +Create a repo file named `/etc/yum.repos.d/awips2.repo`, and set the contents to the following: + + sudo vi /etc/yum.repos.d/awips2.repo + +
+[awips2repo]
+name=AWIPS II Repository
+baseurl=https://downloads.unidata.ucar.edu/awips2/current/linux/rpms/el7-dev/
+enabled=1
+protect=0
+gpgcheck=0
+proxy=_none_
+
+ +!!! note "This file may already exist if AWIPS had been previously installed on the machine, so make sure to edit the baseurl." + +--- + +## 3. Install the ADE + +Install the AWIPS Development Environment (ADE) using yum. This will install Eclipse (4.6.1), Java (1.8), Ant (1.9.6), Python 2.7 and its modules (Numpy, Matplotlib, Shapely, Jep, and others). + + yum clean all + yum groupinstall awips2-ade + +!!! note "Check the libGLU package is installed by running `rpm -qa | grep mesa-libGLU`. If nothing is returned, install the package via: `yum install mesa-libGLU`." + +--- + +## 4. Download the Source Code + +If it's not already installed, install git: + + yum install git + +Next clone all of the required repositories for AWIPS: + + git clone https://github.com/Unidata/awips2.git + git clone https://github.com/Unidata/awips2-cimss.git + git clone https://github.com/Unidata/awips2-core.git + git clone https://github.com/Unidata/awips2-core-foss.git + git clone https://github.com/Unidata/awips2-drawing.git + git clone https://github.com/Unidata/awips2-foss.git + git clone https://github.com/Unidata/awips2-goesr.git + git clone https://github.com/Unidata/awips2-gsd.git + git clone https://github.com/Unidata/awips2-ncep.git + git clone https://github.com/Unidata/awips2-nws.git + +!!! note "Make sure to run `git checkout` in each repo if you'd wish to develop from a branch different from the default. It's best to do this before importing the repos into eclipse." + +--- + +## 5. Configure Eclipse + +Open eclipse by running: `/awips2/eclipse/eclipse` + +It is fine to choose the default workspace upon starting up. + +### Set Preferences + +Verify or make the following changes to set up eclipse for AWIPS development: + +1. Window > Preferences > Java > Installed JREs + + * Set to **/awips2/java** + +1. Window > Preferences > PyDev > Interpreters > Python Interpreter + + * Set to **/awips2/python/bin/python** + + !!! note "Add all paths to the SYSTEM pythonpath if prompted" + +1. There might be some unresolved errors. These should be made to warnings instead. + + * Window > Preferences > Java > Compiler > Building > Build path Problems > **Circular Dependencies** > Change to Warning + * Window > Preferences > Plug-in Development > API Baselines > **Missing API Baseline** > Change to Warning + +1. **Turn off automatic building** (you will turn this back on after importing the repos) + + * Project > Uncheck "Build Automatically" + +### Importing Git Repos + +All of the git repos that were [cloned in the previous step](#4-download-the-source-code) will need to be imported into Eclipse. **But, be aware the `awips2` repo is done last,** because it requires different steps. + +1. File > Import > Git > Projects from Git > **Next** + ![git import](../images/gitImport1.png) + +1. Continue with the default selection, Existing local repository > **Add..** > add each of the git repos (for example `.../awips2-core`) > check the checkbox > **Finish** + ![add git repo](../images/gitImport2.png) + +1. Then for each of the repos (except awips2 right now): +Select the repo name > **Next** > Continue with default selection (Working Tree) > **Next** > Continue with default selections (all choices selected) > **Finish** + ![finish import](../images/gitImport3.png) + +1. Finally, for `awips2` repo, follow all the above steps except in the Working Tree, only select: + * *cave* > **Next** > **Finish** + ![importCave](../images/gitImportCave.png) + * *edexOsgi* > **Next** > **Finish** + ![importEdexOsgi](../images/gitImportEdexOsgi.png) + +### Final Setup + +1. Project > Clean > **OK** + * Use default selections: *Clean all projects*, *Start a build immediately*, *Build the entire workspace* + * Clean the build and ensure no errors are reported. + ![cleanEclipse](../images/cleanEclipse.png) + +1. Turn automatic building back on + * Project > Check "Build Automatically" + +--- + +## 6. Run CAVE + +!!! note "CAVE can be ran from eclipse by using the *com.raytheon.viz.product.awips/developer.product*" + +Double-click the **developer.product** file to open the Project Explorer in Eclipse. Select **Overview** > **Synchronize** + +![synchronize developer product](../images/synchronizeDeveloperProduct.png) + +Use the **Project Explorer** on the left-hand side of eclipse to run CAVE as a [Java application](#run-application) or in [Debug mode](#debug-application): + +### Run Application + +Select **Run As** > **Eclipse Application** + +![run application](../images/runApplication.png) + +### Debug Application + +Select **Debug** > **Eclipse Application** + +![debug application](../images/debugApplication.png) + +--- + +## Troubleshooting + +* If you are getting a lot of errors, try changing your Java Compiler to 1.7, build the project, then change back to 1.8 and rebuild. + * **Window** > Preferences > Java > Compiler > **Compiler compliance level** setting diff --git a/docs/dev/build-datadelivery.md b/docs/dev/build-datadelivery.md new file mode 100644 index 0000000000..b2f5b2b379 --- /dev/null +++ b/docs/dev/build-datadelivery.md @@ -0,0 +1,74 @@ + +Data Delivery has been implemented into the AWIPS(II) baseline to provide access to data that is not resident locally at a Weather Forecast Office, River Forecast Center, or National Center. Data Delivery gives users the ability to create queries (One Time Requests) and +subscriptions to data sets (provided OGC / OpenDAP servers such as THREDDS). + +# build.edex/build.xml + + + + + + + + + ... + + + + + + +Notice the last two commented out, `com.raytheon.uf.edex.datadelivery.feature` and `com.raytheon.uf.edex.ogc.feature`. These feature sets *do not exist*, but could easily be created in the same wat as other features (like `com.raytheon.uf.common.base.feature`, `com.raytheon.uf.edex.base.feature`, etc. + +## wa-build + +The source code comments provide the following guidance: + +> In the work assignment's edexOsgi/build.edex directory, create a file named similar to the following: +edexOsgi/build.edex/5-Data_Delivery-wa-build.properties In the file, there should be one line such as: +wa.features=feature1,feature2 + +However, the `wa-build` Ant target requires a file `features.txt` exist. So if is `5-Data_Delivery-wa-build.properties` or `features.txt`? Because the delimiter being specified is a line separator (and not a comma "wa.features=feature1,feature2" as with versions proir to 16.2.2). + +So we can infer that a file should exist called features.txt should exist which has one WA feature per line. And what do you know, a similar file exist for the CAVE build in `awips2-builds/cave/build/features.txt`: + + cat awips2-builds/cave/build/features.txt + com.raytheon.uf.common.base.feature + com.raytheon.uf.viz.dataplugin.obs.feature + ... + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/devguide/data-flow.md b/docs/devguide/data-flow.md new file mode 100644 index 0000000000..78e4c5d25d --- /dev/null +++ b/docs/devguide/data-flow.md @@ -0,0 +1,79 @@ + +## Data Receipt + +1. The LDM obtains a data product from an upstream LDM site on the IDD. +* The LDM writes the data to file in Raw Data Storage. +* The LDM uses edexBridge to post a “data available” message to the Qpid message broker. +* The EDEX Ingest process obtains the “data available” message from Qpid and removes the message from the message queue. +* The EDEX Ingest process obtains the data files from Raw Data Storage. + +This architecture provides separation between data sources and ingest processing. Any data source, not just the LDM/IDD, can follow this architecture to provide data for EDEX to process. + +## Data Decoding + +Data decoding is defined as the process of converting data from a raw format into a decoded format that is usable by CAVE. In AWIPS, data decoding is performed by the EDEX Ingest proessing (**ingest** and **ingestGrib**). + +1. EDEX Ingest obtains the “data available” message from the Qpid message broker, and determines the appropriate data decoder based on the message contents. EDEX Ingest then forwards the message to the chosen decoder. Finally, the message is removed from the message queue. +2. EDEX Ingest reads the data from Raw Data Storage. +3. EDEX Ingest decodes the data. +4. EDEX Ingest forwards the decoded data to Processed Data Storage. +5. EDEX Ingest sends a message to the CAVE client indicating that newly-decoded data is available. + +It is important to note that in AWIPS all data types are processed by either the standard **ingest** process, or by the **ingestGrib** process, which handles all grib message ingestion. Once this data decoding process is complete, clients may obtain and perform additional processing on the data, including displaying data in CAVE. + +### Processed Data Storage Architecture + +Processed Data Storage refers to the persistence of decoded data and occurs in two separate forms: 1) metadata and some decoded data, which is stored in Postgres database tables; and 2) imagery data, gridded forecast data, and certain point data, which is stored in HDF5 files, and is managed by PyPIES. + + +Writing to Processed Data Storage involves the following: + +* 1) The **EDEX Process** sends serialized data, area data, and certain point data to PyPIES. +* 2) **PyPIES** writes the data to the HDF5 data store. +* 3) **EDEX** send the metadata to the Postgres DBMS +* 4) **Postgres** writes the metadata to the AWIPS database. + +For data not stored in HDF5, Steps 1 and 2 are skipped. + +For processed data retrieval, the process is revered: + +* 3) **EDEX** requests the metadata from Postgres. +* 4) **Postgres** reads the AWIPS database and returns the requested metadata to EDEX. +* 1) **EDEX** sends a data request to PyPIES. +* 2) **PyPIES** reads the data from the HDF5 data store and returns it to EDEX. + +In this case, if the data is not stored in HDF5, then Steps 3 and 4 are skipped. + + +### Data Retrieval Architecture + +Data retrieval is the process by which the CAVE client obtains data using the EDEX Request server; the Request server obtains the data from processed data storage (Postgres and HDF5) and returns it to CAVE. + +1. **CAVE** sends a request via TCP to the EDEX Request server. +2. **EDEX Request** server obtains the requested metadata via Postgres and stored data via PyPIES. +3. **EDEX Request** forwards the requested data directly back to the CAVE client. + +For clustered EDEX servers using IPVS, this architecture allows CAVE clients to access any available EDEX Request process, providing an improvement in system reliability and speed. Data retrieval from processed data storage follows the same pattern as data storage: retrieval of HDF5 is handled by PyPIES; retrieval of database data is handled by Postgres. + +## Data Purge Architecture + +Raw data storage and processed data storage use two different purge mechanisms. For processed data storage, AWIPS implements a plugin based purge strategy, where the user has the option to change the purge frequency for each plugin individually. + +### Raw Data Purge + +Purging of Raw Data Storage is managed by the LDM user account cron, which executes the ldmadmin scour process, removing data files using an age-based strategy. The directories and retention times for raw data storage are controlled by *scour.conf*, which is located in the ldm user's *~/etc/* directory. Each entry in scour.conf contains the directory to manage, the retention time and an optional file name pattern for data files. + +1. An **ldm** user cron job executes ldmadmin. +2. **ldmadmin** executes the LDM scour program. +3. The **LDM scour program** deletes outdated data from AWIPS Raw Data Storage. + + +### Processed Data Purge + +Rules for this version-based purge are contained in XML files located in **/awips2/edex/data/utility/**. The purge is triggered by a quartz timer event that fires at 30 minutes after each hour. + +1. A **Quartz** event is triggered in the EDEX Ingest process causing the Purge Service to obtain a purge lock. If the lock is already taken, the Purge Service will exit, ensuring that only a single EDEX Ingest process performs the purge. +2. The **EDEX Purge Service** sends a delete message to Postgres. +3. **Postgres** deletes the specified data from the database. +4. If HDF5 data is to be purged, the **Purge Service** messages PyPIES. +5. **PyPIES** deletes the specified HDF5 files. diff --git a/docs/devguide/file-system.md b/docs/devguide/file-system.md new file mode 100644 index 0000000000..745bb632fe --- /dev/null +++ b/docs/devguide/file-system.md @@ -0,0 +1,30 @@ + +The major file systems on the Linux-OS EDEX Data Server are as follows: + +### Linux File Systems + +* **root** ( / ), **/tmp**, **/usr**, **/var**. Linux mandates that these file systems exist. +* **/boot**. This file system contains the Linux kernel and boot-up instructions. +* **/home**. This file system contains all the user working areas. +* **/dev/shm**. This file system is the Linux shared memory. +* **/etc/init.d**. Location of startup services (*edex_postgres*, *httpd-pypies*, *qpidd*, *edex_camel*). + +### AWIPS File Systems + +* **/awips2**. This file system is used to store baselined AWIPS software. +* **/awips2/database/data**. Database files. +* **/awips2/edex/data/hdf5**. Contains the HDF5 component of the data store and shared static data and hydro apps. +* **/awips2/GFESuite**. Contains scripts and data relating to inter site coordination (ISC) and service backup. +* **/awips2/edex/data/utility**. Contains localization store and EDEX configuration files. +* **/awips2/httpd_pypies/etc/https/conf**. Location of PyPIES Apache server configuration file *httpd.conf*. +* **/awips2/qpid/etc**. Location of Qpid configuration file *qpidd.conf*. +* **/awips2/qpid/sbin**. Location of *qpidd* executable and *queueCreator.sh*, which is called by */etc/init.d/qpidd*. +* **/awips2/ldm**. LDM account home directory. +* **/awips2/ldm/etc**. Location of *ldmd.conf* and *pqact.conf*. +* **/awips2/ldm/logs**. Location of LDM logs. + +### Raw Data Store File System + +Folders are usually laid out exactly like the sbn folders on the EDEX server with each plug-in having a folder on the data store. But some of them do not follow the same convention, for e.g., data sent to the 'metar' endpoint will be found in the **/data_store/text** folder. + +Additionally, if ingest of a new format is being worked on, you will find these new data types not yet found on the development or integration systems, located in **/data_store/experimental**. diff --git a/docs/devguide/linux-tools.md b/docs/devguide/linux-tools.md new file mode 100644 index 0000000000..5596d32627 --- /dev/null +++ b/docs/devguide/linux-tools.md @@ -0,0 +1,57 @@ + + +Several standard Linux tools can be used to monitor the EDEX processes, and for the purposes of this document and the Unidata AWIPS Training Workshop, it is assumed that all are available and that the user has some knowledge of how they are used. Regardless, this document includes the full command syntax that can be copy and pasted from the document to the terminal. + + +* **ps** - Display information about specific processes + + ps aux | grep edex + +* **cat** - Used to display a text file in a terminal + + cat /awips2/ldm/etc/pqact.conf + +* **tail** - Used to provide a dynamic picture of process logs + + tail -f /awips2/ldm/logs/ldmd.conf + +* **grep** - Used to filter content of process logs; used to filter output of other tools + + grep edexBridge /awips2/ldm/etc/ldmd.conf + +* **top** - Provides a dynamic view of the memory and cpu usage of the EDEX processes + +* **psql** - A terminal-based front-end to PostgreSQL. We will be executing SQL queries. You do not need to have previous experience with SQL to follow this guide, but navigating AWIPS metadata is made much easier with some experience. + + [awips@edex ~]$ psql metadata + Type "help" for help. + + metadata=# help + You are using psql, the command-line interface to PostgreSQL. + Type: \copyright for distribution terms + \h for help with SQL commands + \? for help with psql commands + \g or terminate with semicolon to execute query + \q to quit + + metadata=# \dt sat* + List of relations + Schema | Name | Type | Owner + --------+-----------------------------------+-------+------- + awips | satellite | table | awips + awips | satellite_creating_entities | table | awips + awips | satellite_geostationary_positions | table | awips + awips | satellite_physical_elements | table | awips + awips | satellite_sector_ids | table | awips + awips | satellite_sources | table | awips + awips | satellite_spatial | table | awips + awips | satellite_units | table | awips + (8 rows) + + metadata=# \q + + + + + + diff --git a/docs/devguide/regular-expressions.md b/docs/devguide/regular-expressions.md new file mode 100644 index 0000000000..92c35ca105 --- /dev/null +++ b/docs/devguide/regular-expressions.md @@ -0,0 +1,219 @@ + +AWIPS uses regular expressions for data filtering at two steps in the ingest process: + +1. the [LDM](../edex/ldm) uses regular expressions to determine which data to write to **/awips2/data_store**/. + + An example for radars products defined in **/awips2/ldm/etc/pqact.conf** + NEXRAD3 ^(SDUS[23578].) .... (......) /p(...)(...) + FILE -overwrite -close -edex /awips2/data_store/radar/\4/\3/\1_\4_\3_\2_(seq).rad + + The `FILE` option determines the actions on the product, in this case the name of the file (using `\n` numeration) as determined by the values captured inside of parentheses ([read more about LDM pattern actions...](https://www.unidata.ucar.edu/software/ldm/ldm-current/basics/pqact.conf.html)) + + +2. EDEX Ingest uses regular expressions to determine routing of raw data to decoder plug-ins based on WMO header and file name ([Read more about WMO headers...](http://www.nws.noaa.gov/tg/table.html)). + + An example for products defined in **/awips2/edex/data/utility/edex_static/base/distribution/radar.xml** + + ^SDUS[234578]. .* + ^Level2_.* + ^Level3_.* + + +Standard LDM regular expressions from **/awips2/ldm/etc/pqact.conf** + +# Level 3 Radar (All) + + NEXRAD3 ^(SDUS[23578].) .... (......) /p(...)(...) + FILE -overwrite -close -edex /awips2/data_store/radar/\4/\3/\1_\4_\3_\2_(seq).rad + +# Level 3 Radar (Subset) + + NEXRAD3 ^(SDUS[23578].) .... (......) /p(DHR|DPR|DSP|DTA|DAA|DU3|DU6|DVL|EET|HHC|N3P|N0C|N0K|N0Q|N0S|N0U|N0X|N0Z|NCR|NMD|OHA)(...) + FILE -overwrite -close -edex /awips2/data_store/radar/\4/\3/\1_\4_\3_\2_(seq).rad + +# FNEXRAD Composites + + FNEXRAD ^rad/NEXRCOMP/(...)/(...)_(........)_(....) + FILE -close -edex + /awips2/data_store/sat/nexrcomp_\3\4_\2.gini.png + +# Satellite Imagery + + # NOAAPORT GINI images + NIMAGE ^satz/ch[0-9]/.*/(.*)/([12][0-9])([0-9][0-9])([01][0-9])([0-3][0-9]) ([0-2][0-9])([0-5][0-9])/(.*)/(.*km)/ + FILE -close -overwrite -edex /awips2/data_store/sat/\8/\9/\1_\2\3\4\5_\6\7 + + # -------- GOES-East/West Northern Hemisphere Composites -------- + # GOES-East/West VIS composites + UNIWISC ^pnga2area Q. (CV) (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_GEWCOMP_\5_VIS_VIS_\6_\7 + # GOES-East/West 3.9 um composites + UNIWISC ^pnga2area Q. (CS) (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_GEWCOMP_\5_3.9_3.9_\6_\7 + # GOES-East/West WV composites + UNIWISC ^pnga2area Q. (CW) (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_GEWCOMP_\5_WV_WV_\6_\7 + # GOES-East/West IR composites + UNIWISC ^pnga2area Q. (CI) (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_GEWCOMP_\5_IR_IR_\6_\7 + # GOES-East/West 13.3 um composites + UNIWISC ^pnga2area Q. (CL) (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_GEWCOMP_\5_13.3_13.3_\6_\7 + # ------------------- SSEC Global Composites ------------------- + # Global WV composite + UNIWISC ^pnga2area Q. (GW) (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_GLOBAL_\5_WV_WVCOMP_\6_\7 + # Global IR composites + UNIWISC ^pnga2area Q. (GI) (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_GLOBAL_\5_IR_IRCOMP_\6_\7 + # ----------------- Mollweide Global Composites ----------------- + # Mollweide Global Water Vapor + UNIWISC ^pnga2area Q. (UY) (.*) (.*)_IMG (.*)um (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_MOLLWEIDE_30km_WV_MOLLWV_\6_\7 + # Mollweide Global IR + UNIWISC ^pnga2area Q. (UX) (.*) (.*)_IMG (.*)um (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_MOLLWEIDE_30km_IR_MOLLIR_\6_\7 + # These work + # GOES Visible (UV 4km VIS disabled) + UNIWISC ^pnga2area Q. (EV|U9) (.*) (.*)_IMG (.*)um (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_\1_\3_\5_VIS_\4_\6_\7 + # GOES Water Vapor + UNIWISC ^pnga2area Q. (UW|UB) (.*) (.*)_IMG (.*)um (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_\1_\3_\5_WV_\4_\6_\7 + # GOES Thermal Infrared + UNIWISC ^pnga2area Q. (UI|U5) (.*) (.*)_IMG (.*)um (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_\1_\3_\5_IR_\4_\6_\7 + # GOES other + UNIWISC ^pnga2area Q. (UD|UE|U7|U8|) (.*) (.*)_IMG (.*)um (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_\1_\3_\5_\4_\6_\7 + # Arctic + UNIWISC ^pnga2area Q. (U[LNGHO]) (.*) (.*) (.*)um (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_ARCTIC_4km_\4_\6_\7 + # Antarctic VIS Composite + UNIWISC ^pnga2area Q. (UJ) (.*) (.*)_IMG (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_ANTARCTIC_4km_VIS_\3_\4_\6_\7 + # Antarctic PCOL Composite + UNIWISC ^pnga2area Q. (UK) (.*) (.*)_IMG (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_ANTARCTIC_4km_PCOL_\3_\4_\6_\7 + # Antarctic WV Composite + UNIWISC ^pnga2area Q. (UF) (.*) (.*)_IMG (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_ANTARCTIC_4km_WV_\3_\4_\6_\7 + # Antarctic Composite IR + UNIWISC ^pnga2area Q. (U1) (.*) (.*)_IMG (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_ANTARCTIC_4km_IR_\3_\4_\6_\7 + # GOES Sounder Derived Image Products from University of Wisconsin CIMSS + # CIMSS CAPE - McIDAS product code CE + UNIWISC ^pnga2area Q0 CE .... (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_CAPE_\4_\5 + # CIMSS Cloud Top Pressure - McIDAS product code CA + UNIWISC ^pnga2area Q0 CA .... (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_CTP_\4_\5 + # CIMSS Lifted Index - McIDAS product code CD + UNIWISC ^pnga2area Q0 CD .... (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_LI_\4_\5 + # CIMSS Ozone - McIDAS product code CF + UNIWISC ^pnga2area Q0 CF .... (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_OZONE_\4_\5 + # CIMSS Total Column Precipitable Water - McIDAS product code CB + UNIWISC ^pnga2area Q0 CB .... (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_PW_\4_\5 + # CIMSS Sea Surface Temperature - McIDAS product code CC + UNIWISC ^pnga2area Q0 CC .... (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_SST_\4_\5 + # CIMSS Northern Hemisphere Wildfire ABBA - McIDAS product code CG (inactive) + UNIWISC ^pnga2area Q0 CG (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_FIRESNH_\4_\5 + # CIMSS Southern Hemisphere Wildfire ABBA - McIDAS product code CH (inactive) + UNIWISC ^pnga2area Q0 CH (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_FIRESSH_\4_\5 + + +# Gridded Model Data + + # GFS 0.5 deg (gfs.tCCz.pgrb2.0p50.fFFF) all hours out to F384 + CONDUIT ^data/nccf/com/.*gfs.t[0-9][0-9]z.(pgrb2.0p50).*!(grib2)/[^/]*/(SSIGFS|GFS)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.*! (......) + FILE -overwrite -log -close -edex /awips2/data_store/grib2/conduit/GFS/\5_\6Z_\7_\8-(seq).\1.grib2 + # NAM-40km (awip3d) - exclude awip12 = NAM12 since it is on NGRID (exclude NAM 90km) + CONDUIT ^data/nccf/com/nam/.*nam.*(awip3d).*!(grib2)/ncep/(NAM_84)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-1]..)/([^/]*)/.*! (......) + FILE -overwrite -log -close -edex /awips2/data_store/grib2/conduit/\3/\5_\6Z_\7_\8-(seq).\1.grib2 + # NOAAport HRRR + NGRID Y.C.[0-9][0-9] KWBY ...... !grib2/[^/]*/[^/]*/#[^/]*/([0-9]{12})F(...)/(.*)/.* + FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/HRRR/\1_F\2_\3_(seq).grib2 + # GFS40 40km + NGRID ^[LM].R... KWBC ...... !grib2/[^/]*/([^/]*)/#(212)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\2/\1_\3_\4Z_\5_\6-(seq).grib2 + # RAP-13km + NGRID ^[LM].D... KWBG ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\2/\1_\3_\4Z_\5_\6-(seq).grib2 + # RTMA 197 (5km) + NGRID ^[LM].M... KWBR ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\2/\1_\3_\4Z_\5_\6-(seq).grib2 + # RTMA-Mosaic 2.5km (I) and URMA2.5 (Q) + NGRID ^[LM].[IQ]... KWBR ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\2/\1_\3_\4Z_\5_\6-(seq).grib2 + # NamDNG 2.5 and 5km + NGRID ^[LM].[IM]... KWBE ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\2/\1_\3_\4Z_\5_\6-(seq).grib2 + # NAM12 (#218) + NGRID ^[LM].B... KWBE ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\2/\1_\3_\4Z_\5_\6-(seq).grib2 + # GEM 000 CMC_reg_USWRF_NTAT_0_ps15km_2015042818_P003.grib2 + CMC CMC_reg_(.*)km_(..........)_P(...).grib2 + FILE -overwrite -log -close -edex /awips2/data_store/grib2/cmc/cmc_reg_\1km_\2_P\3.grib2 + # FNMOC + FNMOC ^US058.*(0018_0056|0022_0179|0027_0186|0060_0188|0063_0187|0110_0240|0111_0179|0135_0240|0078_0200)_(.*)_(.*)_(.*)-.* + FILE -log -overwrite -close -edex /awips2/data_store/grib2/fnmoc/US_058_\1_\2_\3_\4-(seq).grib + + diff --git a/docs/edex/archiver.md b/docs/edex/archiver.md new file mode 100644 index 0000000000..d51ee890c5 --- /dev/null +++ b/docs/edex/archiver.md @@ -0,0 +1,192 @@ + +# Grant Users Permission to Create Case Study Archives + +The file `/awips2/edex/data/utility/common_static/base/roles/archiveAdminRoles.xml` controls which users can run the archiving tools from CAVE. + + + Data Archiving + + + This permission allows the user to access Archive Retention. + + + + + This permission allows the user to access Archive Case Creation. + + + + archive.retention + archive.casecreation + + + +`` will allow any connected CAVE user to run both the Archive Retention and the Archive Case Creation tools. If you want to control access to individual users, such as the example bwlo, which will allow any user to create case studies, but only the *awips* user to run the Archive Retention tool. + + + archive.retention + + + archive.casecreation + + +# Define EDEX User Administration Roles + +Admins can use the CAVE User Administration interface to manage user access roles. The file `/awips2/edex/data/utility/common_static/base/roles/awipsUserAdminRoles.xml` controls access to this tool. + + + User Administration + + + This permission allows the user to access and edit AWIPS 2 User Administration + + + + awips.user.admin + + + + +# EDEX Archiver + +/awips2/edex/conf/resources/com.raytheon.uf.edex.archive.cron.properties + + # enable archive + archive.enable=false + # runs database and hdf5 archive for archive server to pull data from + archive.cron=0+40+*+*+*+? + # path to store processed archive data + archive.path=/awips2/archive + + # enable archive purge + archive.purge.enable=true + # when to purge archives + archive.purge.cron=0+5+0/2+*+*+? + # compress database records + archive.compression.enable=false + + # To change Default case directory. + #archive.case.directory=/awips2/edex/data/archiver/ + + # to disable a specific archive, use property archive.disable=pluginName,pluginName... + #archive.disable=grid,text,acars + + + +The EDEX Archiver plugin can be used to automate data backup or create case study archive files to be retained by EDEX. The file `/awips2/edex/data/utility/common_static/base/archiver/purger/PROCESSED_DATA.xml` controls which products are ardhived, and how. + + + +## Archive Log + +The file `/awips2/edex/logs/edex-ingest-archive-*.log` will report status of the archiver whenever it is run. With regular archiving disabled (by default) will see messages such as + + INFO 2016-11-30 09:40:00,010 [Archiver] DataArchiver: EDEX - Archival of plugin data disabled, exiting + INFO 2016-11-30 10:40:00,009 [Archiver] DataArchiver: EDEX - Archival of plugin data disabled, exiting + INFO 2016-11-30 11:40:00,010 [Archiver] DataArchiver: EDEX - Archival of plugin data disabled, exiting + INFO 2016-11-30 12:40:00,010 [Archiver] DataArchiver: EDEX - Archival of plugin data disabled, exiting + + + + +## /awips2/edex/data/utility/common_static/base/archiver/purger/PROCESSED_DATA.xml + +``, ``, ``, and `` are the four tags which configure the EDEX Archiver. + + + Processed + /awips2/archive/ + 168 + + Model + 168 + + (grid)/(.*)/(.*)/.*-(\d{4})-(\d{2})-(\d{2})-(\d{2})-.* + {2} + 4,5,6,7 + + + (modelsounding)/(.*)/.*/.*(\d{4})-(\d{2})-(\d{2})-(\d{2}).* + (bufrmos)(.*)/.*(\d{4})-(\d{2})-(\d{2})-(\d{2}) + {1} - {2} + 3,4,5,6 + + + +`` is used as a logical grouping of the archive sub-directories, and contains the following tags: + +- `` - The id for the category, used in CAVE. +- `` - Optional. The hours to retain data in directories of selected Data Sets for a category. Default is 1 hour. +- `` - A directory matching ``. These are selected directories from the Retention GUI. The purger will used the category's `` instead of the Arhivie's ``. An Optional. may have more then one. (NOTE these are set internally when a selection configuration file is loaded. They should not appear in the configuration file.) +- `` - Required to have a least one. Each one contains a set of tags explained below. + + The `` tag contains: + + - `` - A regex pattern for finding directories for this category. Required to have at least one. The pattern is relative to ``. Wildcard patterns do not cross directory delimiter `/`. Thus to match 3 levels of directories you would need `.*/.*/.*` (see patterns and groups section). There may be more then one `` in a ``, but they must all have the same number of groupings and be in the same order to match up with ``, and ``. + - `` - Optional. A pattern to find files in the directories that match ``. Default is everything in the directories that match ``. See patterns and groups section. + - `` - The label to display for directories that match ``. Any group in the `` may be made part of the label by placing the group's index inside parenthesis, `{1}`. More then one directory may match the ``. The archive GUIs may collapse them into a single table entry. + - `` - Optional tag to determine what type of time stamp is being used to get files/directories for retention and case creation. The value dictates how many groupings in the ``s and/or `` are used to get the time stamp for a file. + + The five values are: + + - **Date** - (default) the time stamp is made up of 3 or 4 groups in the patterns: **year**, **month**, **day** and (optional) **hour**. + - **Julian** - Time stamp is made up of 2 or 3 groups in the patterns: **year**, **day_of_year** and (optional) **hour**. + - **EpochSec** - Time stamp epoch time in seconds. + - **EpochMS** - Time stamp epoch time in milliseconds. + - **File** - Instead use the files date of last modification. No group is used to get the time stamp. + + - `` - Required tag when `` has any value but **File**. + + - **Date** - A comma separated list of 3 or 4 numbers which are in order the index for **year**, **month**, **day** and **hour**. When only 3 numbers the hour is value is 23. + - **Julian** - A comma separated list of 2 or 3 numbers which are in order the index for **year**, **day of year**, and **hour**. When only two numbers the hour value is 23. + - **EpochSec** - A number which is the index for the epoch in seconds. + - **EpochMS** - A number which is the index for the epoch in milliseconds. + - **File** - Not needed since no group is used to get the time stamp. + + This is used to determine what files/directories to retain or a range of directories/files to copy + for case creation. Note to get the group's index the `` and `` are combined. + Thus if there are 5 groups in the `` then the first group in the `` is index 6. + + ## Patterns and groups. + +`` and `` use [Java regex expressions](http://docs.oracle.com/javase/tutorial/essential/regex/), similar to the ldm's pqact.conf file. + +The groupings index start at one. The groups in the `` can be used in the ``. For example: + + (grib2)/(\d{4})(\d{2})(\d{2})/(\d{2})/(.*) + {1} - {6} + 2,3,4,5 + +`` contains six groups. The first group is the literal grib2 which matches only a directory named grib2 that is a sub-directory of the ``. The groups 2, 3 and 4 break apart the next level of sub-directories into a 4 digit and two 2 digit groups. This is the expected **year**, **month**, **day** sub-subdirectory indicated by the first 3 entries in ``. The next sub-directory contains the fifth group which is a two digit number representing the hour. Finally the sixth group will match any sub-directory that in the hour directory. + +Thus the directory paths `/grib2/20130527/18/GFS` will generate the display string, **grib2 - GFS**, and from the grouping we can find the year, **2013**; month, **05**; day, **27** and hour, **18**. + +#### Example with **<filePattern>** + + hdf5/(redbook) + {1} + redbook-(\d{4})-(\d{2})-(\d{2})-(\d{2})\..* + 2,3,4,5 + +#### Example with multiple **<dirPattern>** + + + Observation + 168 + + (acars|airep|airmet|taf) + (bufrsigwx|sfcobs)/.* + {1} + Date + 2,3,4,5 + .*-(\d{4})-(\d{2})-(\d{2})-(\d{2})\..* + + + +The first `` looks for files matching the `` in the directories **acars**, **airep**, **airmet** or **taf**. + +The second `` expects to find the files in subdirectories of **bufrsigwx** or **sfcobs** such as **bufrsigwx/SWH**. + +Here the display will only show, redbook. The directory looked at will be `/redbook/`. The `` all come from the `` since there is one group in the `` the groups in the `` start at two. This matches file names `redbook-YYYY-MM-DD-HH.`. Thus the file name `redbook-2013-05-28-00.hd5` would match the ``. + +> NOTE group `{0}` is a string that matches the whole ``. If this is used in the `` would see every directory that matches the pattern. \ No newline at end of file diff --git a/docs/edex/case-studies.md b/docs/edex/case-studies.md new file mode 100644 index 0000000000..bae0e3c9d3 --- /dev/null +++ b/docs/edex/case-studies.md @@ -0,0 +1,97 @@ +# Case Study Server Configuration + +This document covers what is necessary to install and run AWIPS EDEX as an archive and case study server (no purging of processed data). + +--- + +## Quick Install + +Follow the [EDEX Install Instructions](../install/install-edex.md) including iptables config and an optional SSD mount (for large data volumes). + + groupadd fxalpha && useradd -G fxalpha awips + mkdir -p /awips2/data_store + wget -O /etc/yum.repos.d/awips2.repo https://downloads.unidata.ucar.edu/awips2/current/linux/awips2.repo + yum clean all + yum groupinstall awips2-server -y + +--- + +## Disable Data Purging + +The easiest way to disable data purging is to add an `purge.*` entry in `/awips2/edex/conf/modes/modes.xml` so that the purge plugin is not loaded when the EDEX ingest JVM is started: + + vi /awips2/edex/conf/modes/modes.xml + + + + + .*request.* + edex-security.xml + ... + purge.* + + ... + + +--- + +## Start EDEX + +Start EDEX without running the LDM, since we do not want current data. Run the following command: + + edex start base + +Double check everything is running, except the LDM: + + edex + + [edex status] + postgres :: running :: pid 43644 + pypies :: running :: pid 3557 + qpid :: running :: pid 43742 + EDEXingest :: running :: pid 6564 44301 44597 + EDEXgrib :: running :: pid 6565 44302 44598 + EDEXrequest :: running :: pid 6566 44303 44599 + ldmadmin :: not running + +--- + +## Ingest Case Study Data + +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 + + qpidNotify.py /awips2/data_store/grid/NAM12/conduit/NAM_CONUS_12km_conduit_20171025_1200Z_F084_TMPK-7.000007.grib2 grib + + qpidNotify.py /awips2/data_store/radar/FTG_N0Q_20171015_1815 Level3 + +--- + +## Viewing Archive Data in CAVE + +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: + +### Set Load Mode to Inventory + +In the top-left toolbar change **Valid time seq** to **Inventory**. + +![](/images/load_mode_inventory1.png) + +Now any data product selected from the menus or the Product Browser should prompt you to select the exact time. + +![](/images/load_mode_inventory2.png) + +### Set Data Display Time in CAVE + +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. + +![](/images/cave_set_time.png) diff --git a/docs/edex/data-access-plugins.md b/docs/edex/data-access-plugins.md new file mode 100644 index 0000000000..a768b08919 --- /dev/null +++ b/docs/edex/data-access-plugins.md @@ -0,0 +1,23 @@ + + +# EDEX Data Access Plugins + +EDEX plugins which provide access to datasets via the [python-awips](http://python-awips.readthedocs.io/en/latest/) Data Access Framework: + +| Data Type | Plugin Name | +|:-----------------|:-----------------| +| ACARS | acars-dataaccess | +| AIREPs | airep-dataaccess | +| Lightning | binlightning-dataaccess | +| BUFR MOS | bufrmos-dataaccess | +| BURF UA | bufrua-dataaccess | +| Climate DB | climate-dataaccess | +| Model Soundings | modelsounding-dataaccess | +| METAR | obs-dataaccess | +| PIREPs | pirep-dataaccess | +| Wine Profiler | profiler-dataaccess | +| Synop/Marine Obs | sfcobs-dataaccess | +| Warnings | warning-dataaccess | + diff --git a/docs/edex/data-distribution-files.md b/docs/edex/data-distribution-files.md new file mode 100644 index 0000000000..064f9b473a --- /dev/null +++ b/docs/edex/data-distribution-files.md @@ -0,0 +1,189 @@ +# Data Distribution Files + +## Overview + +EDEX uses **distribution files** to alert the appropriate decoding plug-in that new data has been recieved. These files do so by use of XML and 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 its corresponding decoder to recognize and process. It is worth noting that more than one distribution file can recognize a single peice of data and notify their decoders to act. + +!!! note "Sometimes the distribution file will not look at the filename. If this file is coming in through the LDM using a proper FILE action, then the it is possible the distribution file will only look at the header and not the filename. If the file is ingested using the *manual* endpoint (/awips2/data_store/ingest/), then this behaviour could be different." + +If a piece of data **does not** match any distribution XML, EDEX will: + +* Create an entry in `/awips2/edex/logs/edex-ingest-unrecognized-files-yyyymmdd.log` + +* Skip processing of the unrecognized file. + +Distribution files are stored in the **common_static** branch of the *Localization Store* (series of directories that exist in **/awips2/edex/data/utility/**), and a list of available files can be found in the base-level directory. The base directory is: `/awips2/edex/data/utility/common_static/base/distribution/`. + +For each plug-in, the distribution file is named `[data-type].xml`. For example, the distribution file for radar data is `radar.xml`. The distribution files follow the AWIPS base/site localization pattern: + + [root@edex]# cd /awips2/edex/data/utility/common_static/base/distribution + [root@edex distribution]# ls + acars.xml goesr.xml poessounding.xml + airep.xml goessounding.xml profiler.xml + airmet.xml grib.xml radar.xml + atcf.xml intlsigmet.xml redbook.xml + aww.xml lsr.xml satellite.gini.xml + ... + +--- + +## Creating a Site Override + +* *Base* files are located in **/awips2/edex/data/utility/common_static/base/distribution/** + +* *Site* override distribution files are located in **/awips2/edex/data/utility/common_static/_site/XXX_/distribution/**, where **_XXX_** is the site identifier. + +Note that site-level files override the base files; as a result, local modifications to distribution files must be made as follows: + +1. The base distribution file must be copied from **/awips2/edex/data/utility/common_static/base/distribution** to **/awips2/edex/data/utility/common_static/site/XXX/distribution** + +2. The local modification must be made to the file in **/awips2/edex/data/utility/common_static/site/XXX/distribution** + +The basic structure of the distribution file is: + + + [pattern] + [pattern] + + +In each ** **tag, **_[pattern]_** 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. + +The contents of the base version of the radar distribution file: + + [root@edex]# cd /awips2/edex/data/utility/common_static/base/distribution/ + [root@edex]# tail -4 radar.xml + + + ^SDUS[234578]. .* + ^Level3.* + + +Looking at the base radar.xml distribution file in this example, there are two regular expressions. The first regular expression matches the standard WMO ID of radar products. Using 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 (which comes from the file header) 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. + +--- + +## Adding a REGEX to the Satellite Data Distribution File + +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. + +1. Copy the base version of **satellite.gini.xml** from the base distribution directory **/awips2/edex/data/utility/common_static/base/distribution** into the site distribution directory **/awips2/edex/data/utility/common_static/site/XXX/distribution** + +2. Edit the site version of **satellite.gini.xml**, adding a new ` ` tag immediately below the existing regular expression (` `) tag. The contents of the tag will be **^LOCAL.sat**. The final result will be: + +
+  <requestPatterns xmlns:ns2="group">
+      <regex>TI[CGT]... ....</regex>
+      <regex>rad/NEXRCOMP</regex>
+      <regex>.\*.gini.\*</regex>
+      <regex>^LOCAL.sat.*</regex>
+  </requestPatterns>
+
+ +3. Save the file and exit the editor. EDEX will automatically pick up the new distribution pattern. + +Raw files are written to subdirectories in **/awips2/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. + +--- + +## Editing an EDEX Data Distribution File + +Because these files are in the **common/_static** directory, they have to be manually edited using a text editor. You should not edit the base files; rather, as stated above, [you should copy the base version to your site and then edit the site version](#creating-a-site-override). + +The regular expressions in the distribution files do not necessarily need to correspond with the regular expressions in the LDM **_pqact.conf_** file. It is important to note that: + + * The regex in the **pqact.conf** file applies to the *productID* that is passed through the LDM. + +and + +* The regex in the **distribution** files (.xml) typically applies to the header in the file. It can also apply to the filename, if the file is coming through the manual endpoint, or if the data has no header to begin with. + +If patterns exist in **_pqact.conf_** but there are no corresponding matching regex expressions in any distribution file, then raw data files will be written to **/awips2/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**. + +--- + +## Examples + +### Surface Obs + +Its distribution file is located at: **/awips2/edex/data/utility/common_static/base/distribution/obs.xml**: + + + ^S[AP].* + + +It will process 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**). + +--- + +### Text Data + +Its distribution file is located at **/awips2/edex/data/utility/common_static/base/distribution/text.xml**: + + + ^[ACFNRUW][A-Z][A-Z0-9]{4} [A-Z0-9]{4} + ^S[A-CEG-Z].* + + ^T[BCX].* + ^SF[A-OQ-TV-Z].* + ^SDUS1.* + ^SDUS4[1-6].* + ^SDUS9[^7].* + ^SFU[^S].* + ^SFUS4[^1].* + ^SFP[^A].* + ^SFPA[^4].* + ^SFPA4[^12].* + ^BMBB91.* + ^N[A-Z][A-Z0-9]{4} [A-Z0-9]{4} + ^F[EHIJKLMQVWX].* + wcl_decrypted + ecmwf_mos_decrypted + + +Processes lots of WM patterns. The second pattern ^S[A-CEG-Z].\* matches any header that starts with **S** except for **SD** or **SF**. This is because it matches A through C (*A-C*), E, and G through Z (*G-Z*). 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. + +--- + +### Grib Data + +Its distribution file is located at **/awips2/edex/data/utility/common_static/base/distribution/grib.xml**: + + + + + ^[EHLMOYZ][A-Z]{3}\d{2} + + ^LZ[ABC][ABC]9[123] (KWBC|KNCF) + + + ecmwf_decrypted + + + \p{Alpha}{3}_nwps_CG1 + \p{Alpha}{3}_nwps_CG0_Trkng + + + .*grib.* + .*GRIB.* + .*grb.* + ^US058.* + ^CMC_reg.* + + +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 various *.grib* file extensions. It also includes an example of a *regexExclude* message which can be used to single out matching values that aren't to be included. + +--- + +### Addtional Information + +Important notes about regular expressions: + +* Any time a new entry is placed in the **pqact.conf** file on LDM, it is likely 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**. + +!!! note "The exception to this rule is if the new data coming from the LDM is a type of data that already exists and EDEX already has a distribution file with a matching regex that will recognize it." + +* If you have written a new regex for a distribution file to match on a filename, and it is not matching, then the file most likely has a header. In this case EDEX will only look at the header to match the regex. You must change your regex to something that matches the header, not the filename. diff --git a/docs/edex/data-grids.md b/docs/edex/data-grids.md new file mode 100644 index 0000000000..c2dc6a0ebe --- /dev/null +++ b/docs/edex/data-grids.md @@ -0,0 +1,704 @@ + +# Available IDD Grids + +The file `/awips2/ldm/etc/pqact.conf` defines which grids the LDM will request for EDEX ingest. After editing this file (as user `awips`) you should run `ldmadmin pqactHUP` to re-read the new edits (`ldmadmin restart` will also work). + +## GFS + +### GFS Global 0.25 degree + + CONDUIT ^data/nccf/com/.*gfs.t[0-9][0-9]z.pgrb2.0p25.*!grib2/[^/]*.*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.*! (......) + FILE -edex -log + /awips2/data_store/grid/GFS0p25/GFS_Global_0p25deg_\1\2\3_\4_\5-(seq).grib2 + +### GFS Global 1.0 degree + + CONDUIT ^data/nccf/com/.*gfs.t[0-9][0-9]z.pgrb2.1p00.*!grib2/[^/]*/.*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.*! (......) + FILE -edex -log + /awips2/data_store/grid/GFS1p0/GFS_Global_onedeg_\1\2\3_\4_\5-(seq).grib2 + +### GFS Global 2.5 degree + + CONDUIT ^data/nccf/com/.*gfs.t[0-9][0-9]z.pgrb2.2p50.*!grib2/[^/]*/.*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.*! (......) + FILE -edex -log + /awips2/data_store/grid/GFS2p5/GFS_Global_2p50deg_\1\2\3_\4_\5-(seq).grib2 + +### GFS Global 1.0 degree (NOAAPORT) + + NGRID ^[YZ].P... KWBC ...... !grib2/ncep/GFS.*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/GFS1p0_noaaport/GFS_Global_onedeg_noaaport_\1_\2_\3_\4.grib2 + +### GFS Pacific 40 km + + NGRID ^[LM].O... KWBC ...... !grib2.*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/GFSPacific-40km/GFSPacific-40km_\1_\2_\3_\4-(seq).grib2 + +### GFS Pacific 20 km Mercator + + NGRID ^[YZ].F... KWBC ...... !grib2.*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/GFSPacific-20km/GFSPacific-20km_\1_\2_\3_\4-(seq).grib2 + + +### GFS Puerto Rico 0.5 degree + + NGRID ^[LM].T... KWBC ...... !grib2.*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/PR-GFS0p5/PR-GFS0p5_\1_\2_\3_\4-(seq).grib2 + +### GFS Puerto Rico 20 km Lat/Lon 0.25 degree + + NGRID ^[YZ].E... KWBC ...... !grib2.*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/PR-GFS0p25/PR-GFS0p25_\1_\2_\3_\4-(seq).grib2 + +### GFS CONUS 80 km + + HDS ^[YZ].Q... KWBC ...... !grib.*/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/GFS80/GFS80_\1_\2_\3_\4-(seq).grib2 + +### GFS Alaska 95 km (GFS95) + + NGRID ^[LM].H... KWBC ...... !grib2/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/AK-GFS95/AK-GFS95\1_\2Z_\3_\4-(seq).grib2 + +### GFS CONUS 20 km (GFS20) + + NGRID ^[YZ].N... KWBC ...... !grib.*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/GFS20/GFS20_\1_\2_\3_\4-(seq).grib2 + +### GFS Alaska 20 km (AK-GFS22) + + NGRID ^[YZ].B... KWBC ...... !grib.*/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/AK-GFS20/AK-GFS20_\1_\2_\3_\4-(seq).grib2 + +### GFSGuide + + NGRID ^[LM].I... KWBJ ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/GFSGuide/GFSGuide_\1_\3_\4Z_\5_\6-(seq).grib2 + + +## RTMA and URMA + +### RTMA 197 (5km) + + NGRID ^[LM].M... KWBR ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/RTMA5/RTMA_5km_\1_\3_\4Z_\5_\6-(seq).grib2 + +### RTMA-Mosaic 2.5km (I) + + NGRID ^[LM].I... KWBR ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/RTMA/RTMA_2p5km_\1_\3_\4Z_\5_\6-(seq).grib2 + +### URMA2.5 (Q) + + NGRID ^[LM].Q... KWBR ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/URMA25/URMA_2p5km_\1_\3_\4Z_\5_\6-(seq).grib2 + +## NAM + +### NAM CONUS 12 km (NAM12) - NOAAport + + NGRID ^[LM].B... KWBE ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/NAM12/noaaport/NAM_CONUS_12km_noaaport_\1_\3_\4Z_\5_\6-(seq).grib2 + +### NAM Alaska 11 km (AK-NAM11) + + NGRID ^[LM].S... KWBE ...... !grib.*/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/AK-NAM11/NAM_Alaska_11km_\1_\2_\3_\4-(seq).grib2 + +### NAM Alaska 45 km GRID216 - CONDUIT (AK-NAM45) + + CONDUIT ^data/nccf/com/nam/prod/nam.*t(..)z.awipak.* !grib2/ncep/NAM_84/#000/(............)(F...)/(.*)/.* + FILE -edex -log + /awips2/data_store/grid/AK-NAM45/conduit/NAM_Alaska_45km_conduit_\2_\3_\4_\5-(seq).grib2 + +### NAM CONUS 12 km (NAM12) - CONDUIT + + CONDUIT ^data/nccf/com/nam/.*nam.*awip12.*!grib2/ncep/NAM_84/#[^/]*/([0-9]{8})([0-9]{4})(F[0-1]..)/([^/]*)/.*! (......) + FILE -edex -log + /awips2/data_store/grid/NAM12/conduit/NAM_CONUS_12km_conduit_\1_\2Z_\3_\4-(seq).\5.grib2 + +### NAM CONUS 40 km (NAM40) - CONDUIT + + CONDUIT ^data/nccf/com/nam/.*awip3d.*!grib2/ncep/NAM_84/#[^/]*/([0-9]{8})([0-9]{4})(F[0-1]..)/([^/]*)/.*! (......) + FILE -edex -log + /awips2/data_store/grid/NAM40/conduit/NAM_CONUS_40km_conduit_\1_\2Z_\3_\4-(seq).\5.grib2 + +### NAM CONUS 40 km (NAM40) - NOAAport + + HDS ^[YZ].[A-WYZ].{1,3} KWBD ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/NAM40/noaaport/NAM_CONUS_40km_noaaport_\1\2_\3_\4-(seq).grib + +### NAM Alaska 95 km (AK-NAM95) + + HDS ^[YZ].N... KWBE .......*/m(ETA|NAM) !grib.*/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/AK-NAM95/noaaport/NAM_Alaska_95km_\2_\3_\4_\5-(seq).grib2 + +### NAM CONUS 80 km (NAM80) + + HDS ^[YZ].Q... KWB. [0-3][0-9][0-2][0-9].*/m(ETA|NAM) !grib.*/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/NAM80/NAM_CONUS_80km_\1_\2Z_\3_\4-(seq).grib2 + +### NAM CONUS 20 km (NAM20) (removed??) + + HDS ^[YZ].U... KWB. [0-3][0-9][0-2][0-9].*/m(ETA|NAM) !grib.*/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/NAM20/NAM_CONUS_20km_\2_\3Z_\4_\5-(seq).\1.grib2 + +### NAM Alaska 45 km GRID216 - NOAAport (AK-NAM45) + + HDS ^[YZ].V... KWB. .......*/m(ETA|NAM) !grib.*/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/AK-NAM45/noaaport/NAM_Alaska_45km_noaaport_\2_\3_\4_\5-(seq).grib2 + +### NAM Alaska 22 km (AK-NAM22) + + HDS ^[YZ].Y... KWBE .......*/m(ETA|NAM) !grib.*/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/AK-NAM22/NAM_Alaska_22km_\2_\3_\4_\5-(seq).grib2 + +### NAM Puerto Rico Grid 237 (PR-NAM) + + HDS ^[YZ].Z.{1,3} KWBE .......*/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/PR-NAM12/GRID\8/Regional_NAM_GRID\8_\2_\3_\4_\5-(seq).grib + +### NAM Polar 90 km + + CONDUIT ^data/nccf/com/nam/prod/nam........./nam.t..z.grbgrd.*NAM_84/#[^/]*/([0-9]{8})([0-9]{4})(F[0-1]..)/([^/]*)/.*! (......) + FILE -edex -log + /awips2/data_store/grid/NAM90/NAM_Polar_90km_\1_\2Z_\3_\4.\5.grib2 + +### NAM Fire Weather Nest + + CONDUIT ^data/nccf/com/nam/prod/nam........./nam.t..z.firewxnest.*NMM_89/#[^/]*/([0-9]{8})([0-9]{4})(F[0-1]..)/([^/]*)/.*! (......) + FILE -edex -log + /awips2/data_store/grid/NAMFirewxnest/NAM_Firewxnest_\1_\2Z_\3_\4.\5.grib2 + +### NamDNG 2.5 km NGRID (NamDNG) + + NGRID ^[LM].I... KWBE ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/NamDNG/ngrid/NamDNG_2p5km_\1_\3_\4Z_\5_\6-(seq).grib2 + +### NamDNG 5 km (NamDNG5) + + NGRID ^[LM].M... KWBE ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/NamDNG5/NamDNG_5km_\1_\3_\4Z_\5_\6-(seq).grib2 + +### AK-NamDNG5 + + HDS ^[LM].A.{1,3} KWB. .......*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/AK-NamDNG5/AK-NamDNG5_\1_\2\3\4-(seq).grib2 + +### PR-NamDNG5 + + HDS ^[LM].C.{1,3} KWB. .......*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/PR-NamDNG5/PR-NamDNG5_\1_\2\3\4-(seq).grib2 + +### Hawaii-NamDNG5 + + HDS ^[LM].H.{1,3} KWB. .......*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/Hawaii-NamDNG5/Hawaii-NamDNG5_\1_\2\3\4-(seq).grib2 + +### AK NamDNG 3km + + HDS ^[LM].K.{1,3} KWB. .......*/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/AK-NamDNG-3km/AK-NamDNG-3km_\1_\2\3\4.grib2 + + + +## RAP + +### RAP CONUS 13 km (RAP13) + + NGRID ^[LM].D... KWBG ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/RAP13/RR_CONUS_13km_\3_\4Z_\5_\6-(seq).grib2 + +### RAP CONUS 20 km (RAP20) + + CONDUIT ^data/nccf/com/rap.*awp252.*!grib2/ncep/RUC2/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)/.*! (......) + FILE -edex -log + /awips2/data_store/grid/RAP20/RR_CONUS_20km_\1_\2Z_\3_\4-(seq).\5.grib2 + +### RAP CONUS 40 km (RAP40) - NOAAport + + HDS ^[YZ].W.{1,3} KWBG ......[^!]*!grib/ncep/RUC2/#236/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/RAP40/noaaport/RR_CONUS_40km_noaaport_\1_\2Z_\3_\4-(seq).grib + +### RAP CONUS 40 km (RAP40) - CONDIUT + + CONDUIT ^data/nccf/com/rap.*awp236.*!grib2/ncep/RUC2/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)/.*! (......) + FILE -edex -log + /awips2/data_store/grid/RAP40/conduit/RR_CONUS_40km_conduit_\1_\2Z_\3_\4-(seq).\5.grib2 + +## HRRR + +### HRRR - NOAAport 1hr + + NGRID Y.C.[0-9][0-9] KWBY ...... !grib2/[^/]*/[^/]*/#[^/]*/([0-9]{12})F(...)/(.*)/.* + FILE -edex -log + /awips2/data_store/grid/HRRR/HRRR_CONUS_2p5km_\1_F\2_\3-(seq).grib2 + +### HRRRX - Experimental GSD Hourly and Sub-Hourly + + FSL2 ^GRIB2\.FSL\.HRRR\.(.......)_Lambert\.(.*)(Minute|Hour)\.(.*)\.(.*)\.([0-9]{12}).* + FILE -edex -log + /awips2/data_store/grid/HRRRX/HRRRX_CONUS_3km_\6-\1_\3\2_\4_\5-(seq).grib2 + +## SHEF + +### SREF CONUS 40 km Ensemble Derived Products + + NGRID ^[LM].R... KWBL ...... !grib2/[^/]*/[^/]*/#[^/]*/([0-9]{12})F(...)/(.*)/.* + FILE -edex -log + /awips2/data_store/grid/SREF212/noaaport/SREF_CONUS_40km_ensprod_(\1:yyyy)(\1:mm)\1_\2.grib2 + +### SREF CONUS 40 km Bias Corrected Ensemble Derived Products + + CONDUIT ^data/nccf/com/sref/prod/sref\........./../(ensprod_biasc)/.*pgrb212.*!grib2/ncep/.*/#000/(............)(F...)/(.*)/.*! (......) + FILE -edex -log + /awips2/data_store/grid/SREF212/conduit/SREF_CONUS_40km_\1_\2_\3_\4_\5-(seq).grib2 + +### SREF CONUS 40 km Bias Corrected Ensemble Members + + CONDUIT ^data/nccf/com/sref/prod/sref\.(........)/(..)/(pgrb_biasc)/.*pgrb212.*!grib2/ncep/.*/#000/............(F...)/(.*)/.*! (......) + FILE -edex -log + /awips2/data_store/grid/SREF212/conduit/SREF_CONUS_40km_\3_\1_\200_\4_\5_\6.grib2 + +### SREF Alaska 45 km Ensemble Derived Products + + NGRID ^[LM].V... KWBL .......*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/AK-SREF45/SREF_Alaska_45km_ensprod_\1\2_\3_\4-(seq).grib2 + +### SREF Pacific Northeast 0.4 degree Ensemble Derived Products + + NGRID ^[LM].X... KWBL .......*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/EPac-SREF/SREF_PacificNE_0p4_ensprod_\1\2_\3_\4-(seq).grib2 + +## FNMOC + +### Navy Coupled Ocean Data Assimilation (NCODA) - Global 0.25 degree + + FNMOC ^US058.*0078_0200_(.*)_(.*)_(.*)-(.*) + FILE -edex -log + /awips2/data_store/grid/FNMOC-NCODA/fnmoc_NCODA_Global_Ocean_\1_\2_\3_\4.grib + +### NAVy Global Environmental Model (NAVGEM) - 0.5 degree + + FNMOC ^US058.*0018_0056_(.*)_(.*)_(.*)-(.*) + FILE -edex -log + /awips2/data_store/grid/FNMOC-NAVGEM/fnmoc_NAVGEM_Global_0p5deg_\1_\2_\3_\4.grib + +### Forecast of Aerosol Radiative Optical Properties (FAROP) - Global 1.0 degree + + FNMOC ^US058.*0135_0240_(.*)_(.*)_(.*)-(.*) + FILE -edex -log + /awips2/data_store/grid/FNMOC-FAROP/fnmoc_FAROP_Global_1p0deg_\1_\2_\3_\4.grib + +### WAVEWATCH III (WW3) - Global 1.0 degree + + FNMOC ^US058.*0110_0240_(.*)_(.*)_(.*)-(.*) + FILE -edex -log + /awips2/data_store/grid/FNMOC-WW3-Global_1p0deg/fnmoc_WW3_Global_1p0deg_\1_\2_\3_\4.grib + +### WW3 Europe + + FNMOC ^US058.{4}-GR1dyn\.WW3-EURO_EURO-..-.._.{5}.{4}(.{4})(..)(..)(..)(.*) + FILE -edex -log + /awips2/data_store/grid/FNMOC-WW3-Europe/fnmoc_WW3_Europe_\1\2\3_\400_\5.grib + +### Coupled Ocean/Atmospheric Mesoscale Prediction System (COAMPS) - Western Atlantic + + FNMOC ^US058.{4}-GR1dyn\.COAMPS-NWATL_.{5}-.{2}-.{2}_(.{9})(..........)(.*) + FILE -edex -log + /awips2/data_store/grid/FNMOC-COAMPS-Western_Atlantic/fnmoc_COAMPS_Western_Atlantic_\1\2\3-(seq).grib + +### COAMPS Europe + + FNMOC ^US058.{4}-GR1dyn\.COAMPS-EURO_.{4}-.{2}-.{2}_(.{9})(..........)(.*) + FILE -edex -log + /awips2/data_store/grid/FNMOC-COAMPS-Europe/fnmoc_COAMPS_Europe_\1\2\3-(seq).grib + +### COAMPS Equatorial America + + FNMOC ^US058.{4}-GR1dyn\.COAMPS-EQAM_.{4}-.{2}-.{2}_(.{9})(..........)(.*) + FILE -edex -log + /awips2/data_store/grid/FNMOC-COAMPS-Equatorial_America/fnmoc_COAMPS_Equatorial_America_\1\2\3-(seq).grib + +### COAMPS Northeast Pacific + + FNMOC ^US058.{4}-GR1dyn\.COAMPS-NEPAC_.{5}-.{2}-.{2}_(.{9})(..........)(.*) + FILE -edex -log + /awips2/data_store/grid/FNMOC-COAMPS-Northeast_Pacific/fnmoc_COAMPS_Northeast_Pacific_\1\2\3-(seq).grib + +### COAMPS Southern California + + FNMOC ^US058.{4}-GR1dyn\.COAMPS-SOCAL_.{5}-.{2}-.{2}_(.{9})(..........)(.*) + FILE -edex -log + /awips2/data_store/grid/FNMOC-COAMPS-Southern_California/fnmoc_COAMPS_Southern_California_\1\2\3-(seq).grib + + +## Multi-Radar Multi-Sensor (MRMS) - NOAAport + +### Full Feed + + NGRID ^YAU[CDLMPQS].. KWNR ...... !grib2/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.* + FILE -edex -log + /awips2/data_store/grid/MRMS/MRMS_\1_\2_\3_\4.grib2 + +### MRMS Precipitation Products + + NGRID ^YAU[DP].. KWNR ...... !grib2/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.* + FILE -edex -log + /awips2/data_store/grid/MRMS-precip/MRMS_\1_\2_\3_\4.grib2 + +### MRMS Model Parameters (on different grid) + + NGRID ^YAUM.. KWNR ...... !grib2/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.* + FILE -edex -log + /awips2/data_store/grid/MRMS-model/MRMS_\1_\2_\3_\4.grib2 + +### MRMS Lightning Products from NLDN + + NGRID ^YAUL.. KWNR ...... !grib2/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.* + FILE -edex -log + /awips2/data_store/grid/MRMS-lightning/MRMS_\1_\2_\3_\4.grib2 + +### MRMS Rotation Track Products (on different grid) + + NGRID ^YAUS0[0-4] KWNR ...... !grib2/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.* + FILE -edex -log + /awips2/data_store/grid/MRMS-rotation/MRMS_\1_\2_\3_\4.grib2 + +### MRMS Mid-level Rotation Track Products (on different grid) + + NGRID ^YAUS0[5-9] KWNR ...... !grib2/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.* + FILE -edex -log + /awips2/data_store/grid/MRMS-rotation-ml/MRMS_\1_\2_\3_\4.grib2 + +### MRMS Merged Base Reflectivity + + NGRID ^YAUQ.. KWNR ...... !grib2/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.* + FILE -edex -log + /awips2/data_store/grid/MRMS-merged/MRMS_\1_\2_\3_\4.grib2 + +### MRMS Radar Products + + NGRID ^YAU(C[0-9]|S[1-9])[0-9] KWNR ...... !grib2/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.* + FILE -edex -log + /awips2/data_store/grid/MRMS-radar/MRMS_\2_\3_\4_\5.grib2 + +### MRMS Anything else (mainly future proofing) + + NGRID ^YAU[ABE-KNORT-Z][0-9][0-9] KWNR ...... !grib2/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.* + FILE -edex -log + /awips2/data_store/grid/MRMS-other/MRMS_\1_\2_\3_\4.grib2 + +## ECMWF + +### ECMF-Global, ECMF1..ECMF12 + + HDS ^H..... ECM. ......[^!]*!grib.*/[^/]*/[^/]*/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/ECMWF/ECMWF-\1_\2_\3_\4_\5-(seq).grib + +## Other + +### Canadian GEM Regional Model (CMC) + + CMC ^CMC_reg_(.*)km_(..........)_P(...).grib2 + FILE -edex -log + /awips2/data_store/grid/CMC/CMC_reg_\1km_\2_P\3.grib2 + +### UKMET Global + + HDS ^H..... EGRR ......[^!]*!grib/ukmet/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/UKMET-\1-GRID\2/UKMET-\1-GRID\2_\3\4_\5_\6-(seq).grib1 + +### National Precipitation Verification Unit (NPVU) - RFC Multisensor Precipitation Estimates (MPE) (MPE-Local-..., MPE-Mosaic-...) + + HDS ^ZETA98 (....) ([0-3][0-9])([0-2][0-9]).*/m(.......) + FILE -edex -log + /awips2/data_store/grid/MPE-\1/MPE-\1_\4_(\2:yyyy)(\2:mm)\2.grib + +### Automated Satellite Precipitation Estimates from NESDIS (hourly) (AUTOSPE) + + HDS ^ZETA98 K[NW][EN][ES] ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})/([^/]*)/([^/]*) + FILE -edex -log + /awips2/data_store/grid/AUTOSPE/AUTOSPE-\1\2_\3_\4-(seq).grib2 + +### River Forecast Center (RFC) Quantitative Precipitation Estimation (QPE) + + HDS ^ZETA98 (KTUA|PACR|KSTR|KRSA|KORN|KRHA|KKRF|KMSR|KTAR|KPTR|KTIR|KALR|KFWR) ......[^!]*!(grib|grib2)/[^/]*/([^/]*)/#255/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/QPE-RFC/QPE-RFC-\1_\3_\4_\5_\6_\7-(seq).grib + +### Ocean Sea Surface Temperature (SST) Grids #61-64 + + HDS ^H.[T-W] + FILE -edex -log + /awips2/data_store/grid/SST/%Y%m%d%H%M.sst.grib + +### HPCGuide + + NGRID ^([LM][ABCDFGH]U...) (KWBN) (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/HPCGuide/GRID\8/HPCGuide_GRID\8_\(10)Z_\(11)_\(12)-\1_\2_\3\4\5-(seq).grib2 + +### National Convective Weather Forecast (NCWF) + + ANY ^ZDIA98 (....) ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})/(F[0-9]{3}) + FILE -edex -log + /awips2/data_store/grid/NCWF/NCWF_\2_\3_\4_\1-(seq).grib + +### National Operational Hydrologic Remote Sensing Center Snow Analysis (NOHRSC-SNOW) + + HDS ^[YZ][ES]QA88 KMSR ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/NOHRSC-SNOW/NOHRSC-SNOW_\1_\2_\3_\4-(seq).grib + +### GFS MOS-Based Localized Aviation MOS Program (LAMP) guidance - LAMP2p5, GFSLAMP5 + + NGRID ^([LM].[ABDHMNRSTU].{1,3}) (KWNO|KMDL) (..)(..)(..)[^!]*!(grib2)/[^/]*/(LAMP)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/LAMP/\7_\9_\(10)Z_\(11)_\(12)-\1_\2-(seq).grib2 + +### Radar Coded Messages (RCM) + + HDS ^HAXA00 KWBC ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/RCM/RCM_\1_\2_\3_\4-(seq).grib + +### National Digital Forecast Database (NDFD) + + CONDUIT grib2/nwstg/NWS_0/..../(........)(....)(F...)/(.*)/.*! (......) + FILE -edex -log + /awips2/data_store/grid/NDFD/NDFD_\1\2\3_\4-\5.grib2 + +### NDFD WPC Quantitative Precipitation Forecast (HPCqpfNDFD) + + NGRID ^[LM].[MN].98 KWNH ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/HPCqpf-ngrid/HPCqpf_\1_\2_\3_\4-(seq).grib2 + +### NDFD WPC Day 1-3 Excessive Rainfall Outlook (HPCqpfNDFD) + + HDS ^[LM].[MN].98 KWNH ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/HPCqpf-hds/HPCqpf_\1_\2_\3_\4-(seq).grib + +### MOSGuide/MOSGuideExtended/GMOS + + NGRID ^(Y.UZ9[0-9]) (KWB.) (..)(..)(..) + FILE -edex -log + /awips2/data_store/grid/MOSGuide/MOSGuide_\1_\2_\3\4\5-(seq).grib2 + + +### Flash Flood Guidance (FFG) grids - 1HR=HPBL, 3HR=5WAVH, 6HR=CNWAT (FFG-PTR...) + + HDS ^ZEGZ98 K.{3} .......*/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/FFG/FFG-\1_\2_\3_\4_\5-(seq).grib + +### PROB3HR/#236 + + HDS ^Z[DE]W[A-D][89]8 KWNO ...... /m0 !grib.*/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/PROB3HR/PROB3HR_\1_\2_\3_\4-(seq).grib + +### National Data Buoy Center (NDBC) High Frequency Radar (HFR) Total Vector Velocity (TVV) + + NGRID ^OUTA98 KWNB (......)[^!]*!grib2 + FILE -edex -log + /awips2/data_store/grid/HFR/HFR_\1-(seq).grib2 + +### Regional River Forecast Cebter (RFC) Quantitative Precipitation Forecast (QPF) (RFCqpf) + + HDS ^YEI.[89]8 (KALR|KFWR|KKRF|KMSR|KORN|KPTR|KRHA|KRSA|KSTR|KTAR|KTIR|KTUA) .......*/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})/[^/]*/([^/]*) + FILE -edex -log + /awips2/data_store/grid/Regional_RFC_QPF/GRID\2/\3_\4_\5_\6-(seq).grib + +### GRID218 = HPCqpf + + HDS ^(ZEX.98) KWNH (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#218/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/HPCqpf/HPCqpf_\9Z_\(10)_\(11)-\1_KWNH_\2\3\4-(seq).grib + +### Regional River Forecast Cebter (RFC) Quantitative Precipitation Forecast (QPF) + + HDS ^(YEI.[89]8) KWNH (..)(..)(..)[^!]*!(grib|grib2)/ncep/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/RFC_QPF_GRID\7/\9Z_\(10)_\(11)-\1_KWNH_\2\3\4-(seq).grib + + +## Ocean Models + +### WAVE 233 Grid - Global NOAA WAVEWATCH III (WaveWatch) + + HDS ^O.J.88 KWBJ.*!grib/ncep/[^/]*/#[^/]*/(............)/F(...)/(.*)/(.*)/ + FILE -edex -log + /awips2/data_store/grid/WAVE-HDS-WaveWatch/WaveWatch_\1_F\2_\3_\4_%H%M%S.grib + +### WAVE 238 Grid - Regional Western North Atlantic (WAVE-WNA) + + HDS ^O.M.88 KWBJ.*!grib/ncep/[^/]*/#[^/]*/(............)/F(...)/(.*)/(.*)/ + FILE -edex -log + /awips2/data_store/grid/WAVE-HDS-WNAWAVE238/WNAWAVE238_\1_F\2_\3_\4_%H%M%S.grib + +### WAVE 238 Grid - Regional Western North Atlantic Hurricane (WAVE-WNA-Hurr) + + HDS ^O.O.88 KWBJ.*!grib/ncep/[^/]*/#[^/]*/(............)/F(...)/(.*)/(.*)/ + FILE -edex -log + /awips2/data_store/grid/WAVE-HDS-HurWave238/HurWave238_\1_F\2_\3_\4_%H%M%S.grib + +### WAVE 239 Grid - Regional Alaska Waters (WAVE-AK) + + HDS ^O.N.88 KWBJ.*!grib/ncep/[^/]*/#[^/]*/(............)/F(...)/(.*)/(.*)/ + FILE -edex -log + /awips2/data_store/grid/WAVE-HDS-AKWAVE239/AKWAVE239_\1_F\2_\3_\4_%H%M%S.grib + +### WAVE 253 Grid - Regional Eastern North Pacific (WAVE-ENP) + + HDS ^O.S.88 KWBJ.*!grib/ncep/[^/]*/#[^/]*/(............)/F(...)/(.*)/(.*)/ + FILE -edex -log + /awips2/data_store/grid/WAVE-HDS-ENPWAVE253/ENPWAVE253_\1_F\2_\3_\4_%H%M%S.grib + +### WAVE 253 Grid - Regional Eastern North Pacific Hurricane (WAVE-ENP-Hurr) + + HDS ^O.Q.88 KWBJ.*!grib/ncep/[^/]*/#[^/]*/(............)/F(...)/(.*)/(.*)/ + FILE -edex -log + /awips2/data_store/grid/WAVE-HDS-HurWave253/HurWave253\1_F\2_\3_\4_%H%M%S.grib + +### WW3 Global + + NGRID E.A.88 KWBJ.*ncep/[^/]*/#[^/]*/(............)F(...)/.* + FILE -edex -log + /awips2/data_store/grid/WW3_Global/WW3_Global_\1_\200.grib2 + +### WW3 Regional Alaska + + NGRID E.E.88 KWBJ.*ncep/[^/]*/#[^/]*/(............)F(...)/.* + FILE -edex -log + /awips2/data_store/grid/WW3_Regional_Alaska/WW3_Regional_Alaska_\1_\200.grib2 + +### WW3 Coastal Alaska + + NGRID E.F.88 KWBJ.*ncep/[^/]*/#[^/]*/(............)F(...)/.* + FILE -edex -log + /awips2/data_store/grid/WW3_Coastal_Alaska/WW3_Coastal_Alaska_\1_\200.grib2 + +### WW3 Eastern Pacific (Regional) + + NGRID E.D.88 KWBJ.*ncep/[^/]*/#[^/]*/(............)F(...)/.* + FILE -edex -log + /awips2/data_store/grid/WW3_Regional_Eastern_Pacific/WW3_Regional_Eastern_Pacific_\1_\200.grib2 + +### WW3 US East Coast (Regional) + + NGRID E.B.88 KWBJ.*ncep/[^/]*/#[^/]*/(............)F(...)/.* + FILE -edex -log + /awips2/data_store/grid/WW3_Regional_US_East_Coast/WW3_Regional_US_East_Coast_\1_\200.grib2 + +### WW3 US East Coast (Coastal) + + NGRID E.H.88 KWBJ.*ncep/[^/]*/#[^/]*/(............)F(...)/.* + FILE -edex -log + /awips2/data_store/grid/WW3_Coastal_US_East_Coast/WW3_Coastal_US_East_Coast_\1_\200.grib2 + +### WW3 US West Coast (Regional) + + NGRID E.C.88 KWBJ.*ncep/[^/]*/#[^/]*/(............)F(...)/.* + FILE -edex -log + /awips2/data_store/grid/WW3_Regional_US_West_Coast/WW3_Regional_US_West_Coast_\1_\200.grib2 + +### WW3 US West Coast (Coastal) + + NGRID E.G.88 KWBJ.*ncep/[^/]*/#[^/]*/(............)F(...)/.* + FILE -edex -log + /awips2/data_store/grid/WW3_Coastal_US_West_Coast/WW3_Coastal_US_West_Coast_\1_\200.grib2 + +### ESTOFS - US + + NGRID ^E[EHC]I[A-Z]88 KWBM ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/ESTOFS/ESTOFS_\1_\2_\3_\4-(seq).grib + +### ESTOFS - Puerto Rico + + NGRID ^E[EHC]P[A-Z]88 KWBM ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/ESTOFS-PR/ESTOFS-PR_\1_\2_\3_\4-(seq).grib + +### ESTOFS Pacific - Alaska + + NGRID ^E[EHC]A[A-Z]88 KWBM ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/ESTOFS-AK/ESTOFS-AK_\1_\2_\3_\4-(seq).grib + + +### ESTOFS Pacific - CONUS (West Coast) + + NGRID ^E[EHC]D[A-Z]88 KWBM ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/ESTOFS-WC/ESTOFS-WC_\1_\2_\3_\4-(seq).grib + +### ESTOFS Pacific - Hawaii + + NGRID ^E[EHC]H[A-Z]88 KWBM ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*) + FILE -edex -log + /awips2/data_store/grid/ESTOFS-HI/ESTOFS-HI_\1_\2_\3_\4-(seq).grib + +### Extra-Tropical Storm Surge (ETSS) + + NGRID ^MHU... KNHC (..)(..)(..) + FILE -edex -log + /awips2/data_store/grid/ETSS/ETSS_\1\2\3-(seq).grib2 + +### GLERL + + HDS ^O.N.88 KWNB.*!grib/161/([^/]*)/#([^/]*)/(............)/F(...)/.* + FILE -edex -log + /awips2/data_store/grid/GLERL/GLERL_\1_F\2_%H%M%S.grib + + + + +# Important Files and Directories + + +|---|---| +| location on disk | **/awips2/edex/data/hdf5/grid** | +| definition files | **/awips2/edex/data/utility/edex_static/base/grib/models** | +| navigation files | **/awips2/edex/data/utility/edex_static/base/grib/grids** | +| grib1 definitions | **/awips2/edex/data/utility/common_static/base/grid** | +| D2D files | **/awips2/edex/data/utility/edex_static/base/grib/grids** | +| metadata tables | **grid** | +| | **grid_info** | +| | **gridcoverage** | diff --git a/docs/edex/data-plugins.md b/docs/edex/data-plugins.md new file mode 100644 index 0000000000..9391fd1bb3 --- /dev/null +++ b/docs/edex/data-plugins.md @@ -0,0 +1,117 @@ + + +# AWIPS Plugins and Supported Data Types + + +| NAME | DESCRIPTION | +|:-------|:--------------| +| aqi | [Air Quality Index](https://www.epa.gov/outdoor-air-quality-data) data | +| bufrmos | [Model Output Statistics](http://www.nws.noaa.gov/mdl/synop/bufr.php) | +| bufrua | Upper air radiosonde data | +| climate-hmdb | Climate text products | +| geodata | NetCDF [JTS Geometry](http://docs.geotools.org/stable/userguide/library/jts/geometry.html) records | +| geomag | [SWPC Geomagnetic Forecast](https://www.swpc.noaa.gov/products/3-day-geomagnetic-forecast) (RTKP) | +| gfe | [Graphical Forecast Editor](https://esrl.noaa.gov/gsd/eds/gfesuite/pubs/IFPS-Graphical-Forecast-Editor.pdf) grids | +| ghcd | [SWPC Generic High Cadence Data](https://www.swpc.noaa.gov/content/wmo/geomagnetic-activity) | +| gpd | NCEP Generic Point Data | +| grid | Binary gridded data [grib1/grib2](https://www.wmo.int/pages/prog/www/WDM/Guides/Guide-binary-2.html) | +| idft | Ice Drift Forecasts | +| madis | NCEP Meteorological Assimilation Data Ingest System ([MADIS](https://madis.noaa.gov/))| +| manualIngest | Manual data ingest plugin | +| metartohmdb | Adds metar records to the [Verification and Climate database](http://www.nws.noaa.gov/ohd/hrl/ihfs/database/html/databases.php) | +| modelsounding | Individual grid point soundings from the GFS and NAM models | +| mping | Meteorological Phenomena Identification Near the Ground ([mPING](https://mping.nssl.noaa.gov/)) | +| ncpafm | [Point/Area Forecast Matrices](https://www.weather.gov/bmx/pfm) 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 | + +## AWIPS Plugins for Remote Sensing/Lightning +| 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 | + + +## AWIPS Plugins for Decision Assistance (Watch/Warn/Hazards/Hydro) +| 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 “ZEGZ98”. ) | +| fog | [Fog Monitor](http://www.nws.noaa.gov/mdl/fog_monitor/). Raw data inputs: METAR, Mesonet, maritime, buoys, MAROBs, and satellite [visible, 3.9 µm, and 10.7 µm]) | +| 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 RAP13 fields. Radar data [with WSR-88D product mnemonics and numbers] needed for SCAN’s QPF are 0.5 degree Base Reflectivity [Z, 19], 4 km Vertically Integrated Liquid [VIL, 57], and Storm Track [STI, 58]. The RAP13 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 | + +## AWIPS Plugins for Aviation +| NAME | DESCRIPTION | +|:-------|:--------------| +| acars | [Aircraft Communications Addressing and Reporting System (ACARS)](http://www.nco.ncep.noaa.gov/sib/restricted_data/restricted_data_sib/acars+amdar/) observations | +| acarssounding | Vertical profiles derived from ACARS data | +| airep | [Automated Aircraft Reports](https://www.aviationweather.gov/airep) | +| airmet | “Airmen’s Meteorological Information”: 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](https://www.aviationweather.gov/airep) | +| taf | Terminal Aerodrome Forecasts | \ No newline at end of file diff --git a/docs/edex/data-purge.md b/docs/edex/data-purge.md new file mode 100644 index 0000000000..6a36aa00aa --- /dev/null +++ b/docs/edex/data-purge.md @@ -0,0 +1,185 @@ +# Purging and Retention + +## Purge Types + +There are two main forms of data purging in AWIPS. The most often thought of is the purging for [**processed data**](#processed-data-purging). This has to do with how long data is stored for **after** it has been decoded and processed. + +The second type of purging has to do with [**raw data**](#raw-data-purging). This has to do with how long data is stored for **before** it has been decoded. + +## Processed Data Purging + +AWIPS uses a plugin-based purge strategy for processed **HDF5 data**. This allows the user to change the purge frequency for each plugin individually, and even set purge rules for specific products for a particular plugin. There is also a default purge rules file for those products which do not have specific rules written. + +> **Note**: Purging is triggered by a quartz timer event that fires at 30 minutes after each hour. + +Purging rules are defined in XML files in the Localization Store. On EDEX, most are located in `/awips2/edex/data/utility/common_static/base/purge`, and follow the **base/site** localization pattern (e.g. site purge files are in `site/XXX/purge` rather than `base/purge`, where XXX is the site identifier). + +Each data set can have a purge rule defined, and the xml file is named after the data set: + + ls /awips2/edex/data/utility/common_static/base/purge/ + + acarsPurgeRules.xml bufruaPurgeRules.xml pirepPurgeRules.xml + acarssoundingPurgeRules.xml ccfpPurgeRules.xml poessoundingPurgeRules.xml + aggregatePurgeRules.xml convsigmetPurgeRules.xml pointsetPurgeRules.xml + airepPurgeRules.xml cwaPurgeRules.xml profilerPurgeRules.xml + ... + +--- + +### Time-based purge + +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>
+    <defaultRule>
+        <period>01-00:00:00</period>
+    </defaultRule>
+</purgeRuleSet>
+
+ +Time-based purging is set with the *period* tag and uses the *reference time* of the data. The reference time of the data is determined by the decoder. + +--- + +### 30-day NEXRAD3 Example + +Modify `/awips2/edex/data/utility/common_static/base/purge/radarPurgeRules.xml` to increase the data retention period from 1 to 31 days: + +
+<purgeRuleSet>
+        <defaultRule>
+                <period>31-00:00:00</period>
+        </defaultRule>
+</purgeRuleSet>
+
+ +>**Note**: you do NOT have to restart EDEX when you change a purge rule! + +--- + +### Frame-Based Purge + +Some plugins use frame-base purging, retaining and certain number of product "versions". + +`/awips2/edex/data/utility/common_static/base/purge/gridPurgeRules.xml` + +
    
+<defaultRule>
+    <versionsToKeep>2</versionsToKeep>
+    <period>07-00:00:00</period>
+  </defaultRule>
+  <rule>
+    <keyValue>LAPS</keyValue>
+    <versionsToKeep>30</versionsToKeep>
+  </rule>
+  <rule regex="true">
+    <keyValue>NAM(?:12|20|40)</keyValue>
+    <versionsToKeep>2</versionsToKeep>
+    <modTimeToWait>00-00:15:00</modTimeToWait>
+  </rule>
+  ...
+
+ +In the above example, notice a *default rule* (2) is specified, as well as specific models with their own rules. +The tag *modTimeToWait* can be used in conjunction with *versionsToKeep* and will increase the versionsToKeep by 1 if data matching this rule has been stored within modTimeToWait. + +--- + +### Purge Logs + +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 + + --------START LOG PURGE--------- + INFO 2012-03-27 00:30:00,027 [DefaultQuartzScheduler_Worker-3] PurgeLogger: EDEX - PURGE LOGS::Skipped file with invalid fileName: afos-trigger.log + INFO 2012-03-27 00:30:00,193 [DefaultQuartzScheduler_Worker-3] PurgeLogger: EDEX - PURGE LOGS::Removed 1 old files + INFO 2012-03-27 00:31:23,155 [DefaultQuartzScheduler_Worker-3] PurgeLogger: EDEX - PURGE LOGS::Archived 14 files + INFO 2012-03-27 00:31:23,155 [DefaultQuartzScheduler_Worker-3] PurgeLogger: EDEX - PURGE LOGS::Skipped processing 1 files + INFO 2012-03-27 00:31:23,155 [DefaultQuartzScheduler_Worker-3] PurgeLogger: EDEX - PURGE LOGS::---------END LOG PURGE----------- + +--- + +### All Purge Rules + +To see all purge rule directories (base, site, configured): + + find /awips2/edex/data/utility -name purge + + /awips2/edex/data/utility/common_static/base/purge + +If any overrides have been made, then it's possible that *site* directories may show up as results from the find command as well. + +--- + +## Raw Data Purging + +Raw data are files that have been brought in by the LDM and recognized by an action in the **pqact.conf** file. These files are written to subdirectories of `/awips2/data_store/`. This data will wait here until it is purged, from the purging rules defined in `/awips2/edex/data/utility/common_static/base/archiver/purger/RAW_DATA.xml`. + +If the purge time is too short, and the processing latencies on EDEX are too long, it is possible that EDEX will miss some of this data, and the purge times will need to be adjusted by changing the [``](#default-retention) or [``](#selected-retention) tag on the relevent data sets. + +--- + +### Default Retention + +The **defaultRetentionHours** tag is defined at the beginning of the RAW_DATA.xml file. It is the duration that will apply to any piece of data that does not fall under an explicitly defined [category](#selected-retention). + +The default value for our EDEX is 1 hour: + +
+<archive>
+  <name>Raw</name>
+  <rootDir>/awips2/data_store/</rootDir>
+  <defaultRetentionHours>1</defaultRetentionHours>
+  <category>
+  ...
+
+ +--- + +### Selected Retention + +Data sets are broken up into *categories* in the RAW_DATA.xml file. These categories are groupings of similar data. Each category has a **selectedRetentionHours** tag which specifies how long the matching data will be kept for. + +For example, there is a **Model** category which sets the purge time to 3 hours for all grib, bufrmos, and modelsounding data: + +
+...
+<category>
+    <name>Model</name>
+    <selectedRetentionHours>3</selectedRetentionHours>
+    <dataSet>
+      <dirPattern>(grib|grib2)/(\d{4})(\d{2})(\d{2})/(\d{2})/(.*)</dirPattern>
+      <displayLabel>{1} - {6}</displayLabel>
+      <dateGroupIndices>2,3,4,5</dateGroupIndices>
+    </dataSet>
+    <dataSet>
+      <dirPattern>(bufrmos|modelsounding)/(\d{4})(\d{2})(\d{2})/(\d{2})</dirPattern>
+      <displayLabel>{1}</displayLabel>
+      <dateGroupIndices>2,3,4,5</dateGroupIndices>
+    </dataSet>
+</category>
+...
+
+ +### Logging + +Raw data purging can be seen in the **purge** logs as well (`/awips2/edex/logs/edex-ingest-purge-[yyyymmdd].log` where `[yyyymmdd]` is the date stamp). + + [centos@tg-atm160027-edex-dev purge]$ grep -i 'archive' /awips2/edex/logs/edex-ingest-purge-20200728.log + INFO 2020-07-28 20:05:23,959 2329 [Purge-Archive] ArchivePurgeManager: EDEX - Start purge of category Raw - Observation, directory "/awips2/data_store/bufrhdw". + INFO 2020-07-28 20:05:23,960 2330 [Purge-Archive] ArchivePurgeManager: EDEX - End purge of category Raw - Observation, directory "/awips2/data_store/bufrhdw", deleted 0 files and directories. + INFO 2020-07-28 20:05:23,961 2331 [Purge-Archive] ArchivePurgeManager: EDEX - Unlocked: "/awips2/data_store/bufrhdw" + INFO 2020-07-28 20:05:23,963 2332 [Purge-Archive] ArchivePurgeManager: EDEX - Locked: "/awips2/data_store/xml" + INFO 2020-07-28 20:05:23,963 2333 [Purge-Archive] ArchivePurgeManager: EDEX - Start purge of category Raw - Products, directory "/awips2/data_store/xml". + INFO 2020-07-28 20:05:23,964 2334 [Purge-Archive] ArchivePurgeManager: EDEX - End purge of category Raw - Products, directory "/awips2/data_store/xml", deleted 5 files and directories. + INFO 2020-07-28 20:05:23,967 2335 [Purge-Archive] ArchivePurgeManager: EDEX - Unlocked: "/awips2/data_store/xml" + INFO 2020-07-28 20:05:23,967 2336 [Purge-Archive] ArchivePurger: EDEX - Raw::Archive Purged 28387 files in 23.8s. + INFO 2020-07-28 20:05:23,979 2337 [Purge-Archive] ArchivePurgeManager: EDEX - Purging directory: "/awips2/edex/data/archive". + INFO 2020-07-28 20:05:23,992 2338 [Purge-Archive] ArchivePurger: EDEX - Processed::Archive Purged 0 files in 25ms. + INFO 2020-07-28 20:05:23,992 2339 [Purge-Archive] ArchivePurger: EDEX - Archive Purge finished. Time to run: 23.9s + ... diff --git a/docs/edex/data-radar.md b/docs/edex/data-radar.md new file mode 100644 index 0000000000..2cba6bd487 --- /dev/null +++ b/docs/edex/data-radar.md @@ -0,0 +1,21 @@ + +### Level 3 Radar (All) + + NEXRAD3 ^(SDUS[23578].) .... (......) /p(...)(...) + FILE -overwrite -close -edex /awips2/data_store/radar/\4/\3/\1_\4_\3_\2_(seq).rad + +### Level 3 Radar (Subset) + + NEXRAD3 ^(SDUS[23578].) .... (......) /p(DHR|DPR|DSP|DTA|DAA|DU3|DU6|DVL|EET|HHC|N3P|N0C|N0K|N0Q|N0S|N0U|N0X|N0Z|NCR|NMD|OHA)(...) + FILE -overwrite -close -edex /awips2/data_store/radar/\4/\3/\1_\4_\3_\2_(seq).rad + +### FNEXRAD Composites + + FNEXRAD ^rad/NEXRCOMP/(...)/(...)_(........)_(....) + FILE -close -edex + /awips2/data_store/sat/nexrcomp_\3\4_\2.gini.png + +## WSR-88D Localizations + + +WFO diff --git a/docs/edex/data-satellite.md b/docs/edex/data-satellite.md new file mode 100644 index 0000000000..1642169ce3 --- /dev/null +++ b/docs/edex/data-satellite.md @@ -0,0 +1,155 @@ + +# Satellite Imagery + +## NOAAport GINI Images + + NIMAGE ^satz/ch[0-9]/.*/(.*)/([12][0-9])([0-9][0-9])([01][0-9])([0-3][0-9]) ([0-2][0-9])([0-5][0-9])/(.*)/(.*km)/ + FILE -close -overwrite -edex /awips2/data_store/sat/\8/\9/\1_\2\3\4\5_\6\7 + +## UNIWISC GOES-East/West Northern Hemisphere Composites + + # GOES-East/West VIS composites + UNIWISC ^pnga2area Q. (CV) (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_GEWCOMP_\5_VIS_VIS_\6_\7 + # GOES-East/West 3.9 um composites + UNIWISC ^pnga2area Q. (CS) (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_GEWCOMP_\5_3.9_3.9_\6_\7 + # GOES-East/West WV composites + UNIWISC ^pnga2area Q. (CW) (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_GEWCOMP_\5_WV_WV_\6_\7 + # GOES-East/West IR composites + UNIWISC ^pnga2area Q. (CI) (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_GEWCOMP_\5_IR_IR_\6_\7 + # GOES-East/West 13.3 um composites + UNIWISC ^pnga2area Q. (CL) (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_GEWCOMP_\5_13.3_13.3_\6_\7 + +## 20km Rectilinear Global Composites + + # Global WV composite + UNIWISC ^pnga2area Q. (GW) (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_GLOBAL_\5_WV_WVCOMP_\6_\7 + # Global IR composites + UNIWISC ^pnga2area Q. (GI) (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_GLOBAL_\5_IR_IRCOMP_\6_\7 + +## 30km Mollweide Global Composites + + # Mollweide Global Water Vapor + UNIWISC ^pnga2area Q. (UY) (.*) (.*)_IMG (.*)um (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_MOLLWEIDE_30km_WV_MOLLWV_\6_\7 + # Mollweide Global IR + UNIWISC ^pnga2area Q. (UX) (.*) (.*)_IMG (.*)um (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_MOLLWEIDE_30km_IR_MOLLIR_\6_\7 + # These work + # GOES Visible (UV 4km VIS disabled) + UNIWISC ^pnga2area Q. (EV|U9) (.*) (.*)_IMG (.*)um (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_\1_\3_\5_VIS_\4_\6_\7 + # GOES Water Vapor + UNIWISC ^pnga2area Q. (UW|UB) (.*) (.*)_IMG (.*)um (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_\1_\3_\5_WV_\4_\6_\7 + # GOES Thermal Infrared + UNIWISC ^pnga2area Q. (UI|U5) (.*) (.*)_IMG (.*)um (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_\1_\3_\5_IR_\4_\6_\7 + # GOES other + UNIWISC ^pnga2area Q. (UD|UE|U7|U8|) (.*) (.*)_IMG (.*)um (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_\1_\3_\5_\4_\6_\7 + +## Arctic Composite Imagery + + UNIWISC ^pnga2area Q. (U[LNGHO]) (.*) (.*) (.*)um (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_ARCTIC_4km_\4_\6_\7 + +## Antarctic Composite Imagery + + # Antarctic VIS Composite + UNIWISC ^pnga2area Q. (UJ) (.*) (.*)_IMG (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_ANTARCTIC_4km_VIS_\3_\4_\6_\7 + # Antarctic PCOL Composite + UNIWISC ^pnga2area Q. (UK) (.*) (.*)_IMG (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_ANTARCTIC_4km_PCOL_\3_\4_\6_\7 + # Antarctic WV Composite + UNIWISC ^pnga2area Q. (UF) (.*) (.*)_IMG (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_ANTARCTIC_4km_WV_\3_\4_\6_\7 + # Antarctic Composite IR + UNIWISC ^pnga2area Q. (U1) (.*) (.*)_IMG (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_ANTARCTIC_4km_IR_\3_\4_\6_\7 + +## GOES Sounder Derived Imagery + + # CIMSS CAPE - McIDAS product code CE + UNIWISC ^pnga2area Q0 CE .... (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_CAPE_\4_\5 + # CIMSS Cloud Top Pressure - McIDAS product code CA + UNIWISC ^pnga2area Q0 CA .... (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_CTP_\4_\5 + # CIMSS Lifted Index - McIDAS product code CD + UNIWISC ^pnga2area Q0 CD .... (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_LI_\4_\5 + # CIMSS Ozone - McIDAS product code CF + UNIWISC ^pnga2area Q0 CF .... (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_OZONE_\4_\5 + # CIMSS Total Column Precipitable Water - McIDAS product code CB + UNIWISC ^pnga2area Q0 CB .... (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_PW_\4_\5 + # CIMSS Sea Surface Temperature - McIDAS product code CC + UNIWISC ^pnga2area Q0 CC .... (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_SST_\4_\5 + # CIMSS Northern Hemisphere Wildfire ABBA - McIDAS product code CG (inactive) + UNIWISC ^pnga2area Q0 CG (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_FIRESNH_\4_\5 + # CIMSS Southern Hemisphere Wildfire ABBA - McIDAS product code CH (inactive) + UNIWISC ^pnga2area Q0 CH (.*) (.*) (.*) (.*) (........) (....) + PIPE -close -log + pnga2area -vl logs/pnga2area.log + /awips2/data_store/ingest/uniwisc_SOUNDER_\3_FIRESSH_\4_\5 diff --git a/docs/edex/derived-parameters.md b/docs/edex/derived-parameters.md new file mode 100644 index 0000000000..8462d98060 --- /dev/null +++ b/docs/edex/derived-parameters.md @@ -0,0 +1,100 @@ + +AWIPS will calculate derived parameters using XML file definitions which refer to Python scripts where the actual calculations take place. If and when there is an effort to verify calculated fields in Unidata Python packages, these should come in handy (along with the GEMPAK FORTRAN routines). + +For gridded data there are three directories to know which contain derived parm XML files: +awips2 com.raytheon.uf.common.dataplugin.grid https://github.com/Unidata/awips2/tree/unidata_16.1.5/edexOsgi/com.raytheon.uf.common.dataplugin.grid/utility/common_static/base/derivedParameters/definitions +awips2-core com.raytheon.uf.common.derivparam https://github.com/Unidata/awips2-core/tree/unidata_16.1.4/common/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions +awips2-core com.raytheon.uf.common.derivparam.python https://github.com/Unidata/awips2-core/tree/unidata_16.1.4/common/com.raytheon.uf.common.derivparam.python/utility/common_static/base/derivedParameters +Notice the first is from the "awips2" repo, while the others are from "awips2-core", so if a derived parm field is not showing up in directory listings or search results for one repo, be sure to search the other. + +Helicity, for example, from https://github.com/Unidata/awips2-core/blob/unidata_16.1.4/common/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/Heli.xml + + + + + + + + + + + + + + + + + + + +The first three blocks act as constructors allowing for different levels to be passed the main method, which determines the calculation to be performed. Name="Heli" here refers to the derivedParameter file Heli.py located at https://github.com/Unidata/awips2-core/blob/unidata_16.1.4/common/com.raytheon.uf.common.derivparam.python/utility/common_static/base/derivedParameters/functions/Heli.py + +So three fields will be passed to Heli.py for the calculation (uWStk, vWStk, RM5), but each is a derived paremeter as well, with its own xml (let's go deeper). +uWStk https://github.com/Unidata/awips2/blob/unidata_16.1.5/edexOsgi/com.raytheon.uf.common.dataplugin.grid/utility/common_static/base/derivedParameters/definitions/uStk.xml + + + + + + + + + + + + + + + +vWStk https://github.com/Unidata/awips2/blob/unidata_16.1.5/edexOsgi/com.raytheon.uf.common.dataplugin.grid/utility/common_static/base/derivedParameters/definitions/vStk.xml + + + + + + + + + + + + + + +RM5 https://github.com/Unidata/awips2/blob/unidata_16.1.5/edexOsgi/com.raytheon.uf.common.dataplugin.grid/utility/common_static/base/derivedParameters/definitions/RM5.xml + + + + + + + + + + + + +Finally, the Python function Heli.py +https://github.com/Unidata/awips2-core/blob/unidata_16.1.4/common/com.raytheon.uf.common.derivparam.python/utility/common_static/base/derivedParameters/functions/Heli.py + +def execute(uStk, vStk, RM5): + + umot,vmot = RM5 + u1 = uStk[0] + v1 = vStk[0] + u2 = uStk[-1] + v2 = vStk[-1] + # First do our motion, lower bulk shear computation. + hptr = (v2-v1)*umot+(u1-u2)*vmot + for i in range(1, len(uStk)): + u1 = uStk[i-1] + v1 = vStk[i-1] + u2 = uStk[i] + v2 = vStk[i] + hptr += u2*v1-u1*v2 + return hptr + + +from the three files above, we can see that the grid fields used to calculate helicity are uW, vW, USTM, and VSTM, with the last two used by yet another function Vector.py: https://github.com/Unidata/awips2-core/blob/unidata_16.1.4/common/com.raytheon.uf.common.derivparam.python/utility/common_static/base/derivedParameters/functions/Vector.py + +Method names like Or, Union, and Alias that don't map to Python functions are handled by Java in com.raytheon.uf.common.derivparam (see https://github.com/Unidata/awips2-core/tree/unidata_16.1.4/common/com.raytheon.uf.common.derivparam/src/com/raytheon/uf/common/derivparam/tree) diff --git a/docs/edex/distributed-computing.md b/docs/edex/distributed-computing.md new file mode 100644 index 0000000000..cdfe79658c --- /dev/null +++ b/docs/edex/distributed-computing.md @@ -0,0 +1,222 @@ +# Distributed EDEX + +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 machines to handle this firehose of data. + +--- + +## Unidata's Current EDEX Server + +Currently, we use a distributed architecture comprised of three machines: 1 **main EDEX** machine and 2 **ancillary EDEX** machines. The main EDEX machine decodes and processes the majority of the data, while serving and storing all of the data. Our two ancillary machines -- one for radar data and one for satellite data -- each decode and process a subset of the data and send it back to the main EDEX for storage and requesting. + +The main EDEX is an instance of our [Database and Request Server](#databaserequest-server) and more information on our [ancillary EDEX machines](#ancillary-edex-server-ingestdecode-edex-server) is below as well. + +--- + +## Example Installation + +This walkthrough will install different EDEX components on two machines in the XSEDE Jetstream Cloud, the first is used to **store and serve** while the second is used to **ingest and decode** data. + +![](/images/awips2_distributed.png) + +--- + +### Database/Request Server + +For this example, this server will be referred to by the IP address **10.0.0.9**. + +#### 1. Install + + wget https://downloads.unidata.ucar.edu/awips2/current/linux/awips_install.sh + chmod 755 awips_install.sh + sudo ./awips_install.sh --database + + +#### 2. IPtables Config + +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 + + *filter + :INPUT DROP [0:0] + :FORWARD DROP [0:0] + :OUTPUT ACCEPT [0:0] + :EXTERNAL - [0:0] + :EDEX - [0:0] + -A INPUT -i lo -j ACCEPT + -A INPUT -p icmp --icmp-type any -j ACCEPT + -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT + -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT + -A INPUT -m state --state NEW -m tcp -p tcp --dport 9581 -j ACCEPT + -A INPUT -m state --state NEW -m tcp -p tcp --dport 9582 -j ACCEPT + -A INPUT -s 10.0.0.7 -j EDEX + -A INPUT -j EXTERNAL + -A EXTERNAL -j REJECT + -A EDEX -m state --state NEW -p tcp --dport 5432 -j ACCEPT + -A EDEX -m state --state NEW -p tcp --dport 5672 -j ACCEPT + -A EDEX -j REJECT + COMMIT + +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). + +!!! Note "The two ports left open to all connections (9581,9582) in addition to default port 22 are for outside CAVE client connections" + +#### 3. Database Config + +In the file `/awips2/database/data/pg_hba.conf` you define remote connections for all postgres tables with as `/32`, after the block of IPv4 local connections and generic `` for hostnossl: + + vi /awips2/database/data/pg_hba.conf + + # "local" is for Unix domain socket connections only + local all all trust + hostssl all all 162.0.0.0/8 cert clientcert=1 + hostssl all all 127.0.0.1/32 cert clientcert=1 + + hostssl all all 10.0.0.7/32 cert clientcert=1 + hostnossl postgres all 10.0.0.0/24 md5 + hostnossl fxatext all 10.0.0.0/24 md5 + hostnossl metadata all 10.0.0.0/24 md5 + + # IPv6 local connections: + hostssl all all ::1/128 cert clientcert=1 + hostnossl all all ::1/128 md5 + +#### 4. Start EDEX + + 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) + +#### 5. Monitor Services + +The command `edex` will show which services are running, and for a Database/Request server, will not include the LDM, EDEXingest, or EDEXgrib: + + edex + + [edex status] + postgres :: running :: pid 571 + pypies :: running :: pid 639 + qpid :: running :: pid 674 + EDEXingest :: not running + EDEXgrib :: not running + EDEXrequest :: 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 request + +!!! warning "Confirm that EDEX Request connects to PostgreSQL!" + With the above `edex log request`, ensure that the log progresses **past this point**: + + Spring-enabled Plugins: + ----------------------- + acars-common, acars-common-dataaccess, acarssounding-common, activetable-common, + activetable-request, airep-common, airep-common-dataaccess, airmet-common, + atcf-common, atcf-request, auth-request, awipstools-request, aww-common... + + JAXB context for PersistencePathKeySet inited in: 5ms + INFO 20:21:09,134 5584 [EDEXMain] Reflections: Reflections took 436 ms to scan 258 urls, producing 31 keys and 3637 values + Found 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` + +--- + +### Ancillary EDEX Server (Ingest/Decode EDEX Server) + +For this example, this server will be referred to by the IP address **10.0.0.7**. +The **Main EDEX** server will be referred to by the IP address **10.0.0.9**. + +#### 1. Install + + wget https://downloads.unidata.ucar.edu/awips2/current/linux/awips_install.sh + chmod 755 awips_install.sh + sudo ./awips_install.sh --ingest + +#### 2. EDEX Config + +`vi /awips2/edex/bin/setup.env` + +Here you should redefine `DB_ADDR` and `PYPIES_SERVER` to point to the **Main** or **Database/Request** server (10.0.0.9) and the `EXT_ADDR` to point to the current **Ingest** server (10.0.0.7) + + export EXT_ADDR=10.0.0.7 + + # postgres connection + export DB_ADDR=10.0.0.9 + export DB_PORT=5432 + + # pypies hdf5 connection + export PYPIES_SERVER=http://10.0.0.9:9582 + + # qpid connection + export BROKER_ADDR=${EXT_ADDR} + +Notice that `EXT_ADDR` and `BROKER_ADDR` (qpid) should remain defined as the *localhost* IP address (10.0.0.7) + +#### 3. Modify the edexServiceList + + Most likely if you are running a distributed EDEX setup, you are only processing a subset of data. You can change your edexServiceList to only run the processes you need. You will need to update the `/etc/init.d/edexServiceList` file. For example replace the services with the associated right column based on the data you're processing: + + export SERVICES=('') + + | Data Processing: | edexServiceList | + |---------------| ------------| + | radar | ingestRadar | + | satellite | ingestGoesR | + | model | ingestGrids, ingestGrib | + + +#### 4. Configure your LDM + + +You'll want to modify your pqact.conf file to store only the data you want processed. There are example files in `/awips2/ldm/etc` that you can copy over to the main pqact.conf file. For example if you are wanting to process goesr data only, you can do the following steps: + + cd /awips2/ldm/etc + mv pqact.conf pqact.conf.orig + cp pqact.goesr pqact.conf + +You will also want to edit the `pqact.conf` file on your **Main EDEX** and comment out any entries you're processing on this EDEX server. + +#### 5. Start EDEX + + edex start + +This will start LDM, Qpid and the specified EDEX Ingest JVMs (and not start PostgreSQL, httpd-pypies, or the EDEX Request JVM) + +#### 4. Monitor Services + +Watch the edex JVM log with the command + + edex log + +!!! warning "Confirm that EDEX connects to PostgreSQL!" + With the above `edex log`, ensure that the log progresses **past this point**: + + Spring-enabled Plugins: + ----------------------- + acars-common, acars-common-dataaccess, acarssounding-common, activetable-common, + activetable-ingest, airep-common, airep-common-dataaccess, airmet-common, + atcf-common, atcf-ingest, aww-common... + + JAXB context for PersistencePathKeySet inited in: 5ms + INFO 20:21:09,134 5584 [EDEXMain] Reflections: Reflections took 436 ms to scan 258 urls, producing 31 keys and 3637 values + Found 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 + psql -U awips -h -p 5432 metadata + + Where the default passwd is *awips* and is defined in files in `/awips2/edex/conf/db/hibernateConfig/` + +--- + +## Additional Notes + +* 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](#2-iptables-config). diff --git a/docs/edex/edex-ingest-docker-container.md b/docs/edex/edex-ingest-docker-container.md new file mode 100644 index 0000000000..151b2ad989 --- /dev/null +++ b/docs/edex/edex-ingest-docker-container.md @@ -0,0 +1,126 @@ +# Docker EDEX + +Project home: [https://github.com/Unidata/edex-docker](https://github.com/Unidata/edex-docker) + +--- + +EDEX can be run inside a docker container, which allows you to process data into an AWIPS system without requiring accessing and altering the machine's native CentOS installation and configuration. + +The [EDEX Docker Image](https://github.com/Unidata/edex-docker) is built on CentOS 7 and contains the latest Unidata AWIPS release (18.1.1). + +This container is an **ingest-only** install, meaning there is **no database or request server**. This example requires a Database/Request server be configured for you to access remotely. See the [**Distributed EDEX**](https://unidata.github.io/awips2/edex/distributed-computing/) document for more. + +--- + +## Download and Install Docker + +Download and install Docker and Docker Compose: + +* [Docker for CentOS 7 Linux](https://docs.docker.com/install/linux/docker-ce/centos/) +* [Docker for Mac](https://docs.docker.com/docker-for-mac/) +* [Docker for Windows](https://docs.docker.com/docker-for-windows/install/) +* [docker-compose](https://docs.docker.com/compose/) (it should be bundled with Docker by default on Mac and Windows) + +--- + +## Run the EDEX Ingest Container + +Clone the source repository: + + git clone https://github.com/Unidata/edex-docker.git + cd edex-docker + +Run the container with docker-compose: + + docker-compose up -d edex-ingest + +Confirm the container is running: + + docker ps -a + +Enter the container: + + docker exec -it edex-ingest bash + +Stop the container: + + docker-compose stop + +Delete the container (keep the image): + + docker-compose rm -f + +Run commands inside the container, such as: + + docker exec edex-ingest edex + +which should return something like: + + [edex status] + qpid :: running :: pid 22474 + EDEXingest :: running :: pid 21860 31513 + EDEXgrib :: not running + ldmadmin :: running :: pid 22483 + + edex (status|start|stop|setup|log|purge|qpid|users) + +To update to the latest version and restart: + +```bash +docker pull unidata/edex-ingest:latest +docker-compose stop +docker-compose up -d edex-ingest +``` + +--- + +## Configuration and Customization + +The file `docker-compose.yml` defines files to mount to the container and which ports to open: + + edex-ingest: + image: unidata/edex-ingest:latest + container_name: edex-ingest + volumes: + - ./etc/ldmd.conf:/awips2/ldm/etc/ldmd.conf + - ./etc/pqact.conf:/awips2/ldm/etc/pqact.conf + - ./bin/setup.env:/awips2/edex/bin/setup.env + - ./bin/runedex.sh:/awips2/edex/bin/runedex.sh + ports: + - "388:388" + ulimits: + nofile: + soft: 1024 + hard: 1024 + +--- + +## Mounted Files + +### etc/ldmd.conf + +Defines which data feeds to receive. By default there is only one active request line (`REQUEST IDS|DDPLUS ".*" idd.unidata.ucar.edu`) to not overwhelm small EDEX containers ingesting large volumes of radar and gridded data files. Any updates to the file `etc/ldmd.conf` will be read the next time you restart the container. + +### etc/pqact.conf + +Defines how products are processed and where they are written to on the filesystem. This is the full set of pattern actions used in Unidata AWIPS, and generally you do not need to edit this file. Instead control which data feeds are requested in `ldmd.conf` (above). + +### bin/setup.env + +Defines the remote EDEX Database/Request server: + + ### EDEX localization related variables ### + export AW_SITE_IDENTIFIER=OAX + export EXT_ADDR=js-157-198.jetstream-cloud.org + +> **Note**: *EXT_ADDR* must be set to an allowed EDEX Database/Request Server. In this example we are using a JetStream Cloud instance, which controls our *edex-ingest* access with IPtables, SSL certificates, and PostgreSQL pg_hba.conf rules. This server will not allow outside connections, you must change this to point to an appropriate server. + +### bin/runedex.sh + +The default script run when the container is started, acts as a sort-of service manager for EDEX and the LDM (see `ENTRYPOINT ["/awips2/edex/bin/runedex.sh"]` in *Dockerfile.edex*), essentially: + + /awips2/qpid/bin/qpid-wrapper & + /awips2/edex/bin/start.sh -noConsole ingest & + ldmadmin mkqueue + ldmadmin start + diff --git a/docs/edex/edex-users.md b/docs/edex/edex-users.md new file mode 100644 index 0000000000..538b585789 --- /dev/null +++ b/docs/edex/edex-users.md @@ -0,0 +1,34 @@ +# Monitor Users + +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 + + -- EDEX Users 20160826 -- + user@101.253.20.225 + user@192.168.1.67 + awips@0.0.0.0 + awips@sdsmt.edu + ... + + + +## Logging Daily EDEX Users + +To get a running log of who has accessed EDEX, you can create a short script. + +The example below is a script that runs once daily at 20 minutes after 00 UTC, appending each day's `edex users` list to a logfile `/home/awips/edex-users.log`: + + +1. + vi~/edexUsers.sh + + #!/bin/bash + /awips2/edex/bin/edex users >> /home/awips/edex-users.log + +2. + crontab -e + + 0 20 * * * /home/awips/edexUsers.sh 1>> /dev/null 2>&1 + + diff --git a/docs/edex/ldm-gempak.md b/docs/edex/ldm-gempak.md new file mode 100644 index 0000000000..9dcb6fe2e2 --- /dev/null +++ b/docs/edex/ldm-gempak.md @@ -0,0 +1,18 @@ + +# LDM for AWIPS and GEMPAK + +It is possible to have two LDM installs (since AWIPS LDM installs to `/awips2/ldm` and is owned and run by user **awips:awips**. But two LDM clients doubles your bandwidth and uncessary. This document explains how the LDM keeps its EDEX processing separate from other processing (GEMPAK decoders, TDS, etc.). + +### /awips2/ldm/etc/ldmd.conf + +The defailt AWIPS LDM config file executes a single **pqact** process with the **-e** flag (for EDEX). The **edexBridge** server name is defined (typically the local machine name): + + EXEC "pqact -e /awips2/ldm/etc/pqact.conf" + EXEC "edexBridge -s $HOSTNAME" + +A separate **EXEC** line should be added for GEMPAK decoders, *without* the **-e** flag: + + EXEC "pqact -f IDS-DDPLUS /awips2/ldm/etc/pqact.gempak_decoders" + +yum install apr-devel apr-util-devel "libdb-4.7.so()(64bit)" + diff --git a/docs/edex/ldm.md b/docs/edex/ldm.md new file mode 100644 index 0000000000..a772676c27 --- /dev/null +++ b/docs/edex/ldm.md @@ -0,0 +1,82 @@ +# LDM Feeds + +## Default LDM Feeds for EDEX + +Data feeds are defined by the **ldmd.conf** file in `/awips2/ldm/etc/ldmd.conf`. The default feeds that come "turned on" with our EDEX are the following: + + REQUEST FNEXRAD ".*" idd.unidata.ucar.edu # MRMS - Unidata feed via NCEP + REQUEST NEXRAD3 ".*" idd.unidata.ucar.edu # Radar Level3 + REQUEST HDS "^SDUS6.*" idd.unidata.ucar.edu # Radar Level3 - specific files + REQUEST WMO ".*" idd.unidata.ucar.edu # WMO Feedtype includes HDS|IDS|DDPLUS + REQUEST UNIWISC|NIMAGE ".*" idd.unidata.ucar.edu # AREA/GINI and GOES Products + REQUEST DIFAX "GLM" idd.unidata.ucar.edu # GOES GLM Gridded Product (Texas Tech-Eric Bruning) + REQUEST NOTHER "^TI[A-W]... KNES" idd.unidata.ucar.edu # VIIRS and GOES CMI via SBN + REQUEST NOTHER "^IXT[WXY]01" idd.unidata.ucar.edu #Special SBN GOES Derived products-different WMO (COD, CPS, CTP) + REQUEST NGRID ".*" idd.unidata.ucar.edu + REQUEST CONDUIT "nam" idd.unidata.ucar.edu # NAM12 + REQUEST CONDUIT "pgrb2" idd.unidata.ucar.edu # GFS + +--- + +## Optional LDM Feeds + +Some additional feeds are included but commented out using '#'. To activate the feed, simply remove the #, save the file, and [restart the LDM](#restart-the-ldm). + +### FNMOC and CMC models + + REQUEST FNMOC ".*" idd.unidata.ucar.edu + REQUEST CMC ".*" idd.unidata.ucar.edu + +### Lightning (restricted to educational use with rebroadcasting restricted) + + REQUEST LIGHTNING ".*" striker2.atmos.albany.edu + REQUEST LIGHTNING ".*" idd.unidata.ucar.edu + +### FSL/GSD Experimental HRRR (Sub-hourly) + + REQUEST FSL2 "^GRIB2.FSL.HRRR" hrrr.unidata.ucar.edu + +--- + +## Restart the LDM + +Use the following commands to restart the LDM: + + sudo service edex_ldm restart + + ldmadmin restart + +--- + +## Monitor Incoming Data Feeds + +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 + +--- + +## LDM Logging + +To open a real-time readout of LDM logging you can run use the `edex` command. To exit, press `CTRL+C`. + + edex log ldm + + [edex] EDEX Log Viewer + + :: Viewing /awips2/ldm/logs/ldmd.log. Press CTRL+C to exit + + Aug 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 + Aug 26 15:05:11 edextest edexBridge[5812] NOTE: Sent 2 messages (0 at the end of the queue, 2 normally). + Aug 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 + Aug 26 15:05:12 edextest edexBridge[5812] NOTE: Sent 9 messages (0 at the end of the queue, 9 normally). + Aug 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 + Aug 26 15:05:13 edextest edexBridge[5812] NOTE: Sent 1 messages (0 at the end of the queue, 1 normally). diff --git a/docs/edex/linux-tools.md b/docs/edex/linux-tools.md new file mode 100644 index 0000000000..d7b62debf5 --- /dev/null +++ b/docs/edex/linux-tools.md @@ -0,0 +1,58 @@ + +## Using Standard Linux Tools + +Several standard Linux tools can be used to monitor the EDEX processes, and for the purposes of this document and the Unidata AWIPS Training Workshop, it is assumed that all are available and that the user has some knowledge of how they are used. Regardless, this document includes the full command syntax that can be copy and pasted from the document to the terminal. + + + +* ps - Display information about specific processes + + ps aux | grep edex + + +* cat - Used to display a text file in a terminal + + cat /awips2/ldm/etc/pqact.conf + +* tail - Used to provide a dynamic picture of process logs + + tail -f /awips2/ldm/logs/ldmd.conf + +* grep - Used to filter content of process logs; used to filter output of other tools + + grep edexBridge /awips2/ldm/etc/ldmd.conf + +* top - Provides a dynamic view of the memory and cpu usage of the EDEX processes + +* psql - A terminal-based front-end to PostgreSQL. We will be executing SQL queries. You do not need to have previous experience with SQL to follow this guide, but navigating AWIPS metadata is made much easier with some experience. + + + [awips@edex ~]$ psql metadata + psql (9.2.4) + Type "help" for help. + + metadata=# help + You are using psql, the command-line interface to PostgreSQL. + Type: \copyright for distribution terms + \h for help with SQL commands + \? for help with psql commands + \g or terminate with semicolon to execute query + \q to quit + metadata=# \dt sat* + List of relations + Schema | Name | Type | Owner + --------+-----------------------------------+-------+------- + awips | satellite | table | awips + awips | satellite_creating_entities | table | awips + awips | satellite_geostationary_positions | table | awips + awips | satellite_physical_elements | table | awips + awips | satellite_sector_ids | table | awips + awips | satellite_sources | table | awips + awips | satellite_spatial | table | awips + awips | satellite_units | table | awips + (8 rows) + + metadata=# \q + + + diff --git a/docs/edex/new-grid-grib1-old.md b/docs/edex/new-grid-grib1-old.md new file mode 100644 index 0000000000..433886e80b --- /dev/null +++ b/docs/edex/new-grid-grib1-old.md @@ -0,0 +1,279 @@ +# Ingest a New Grid Using .grib Files + +Unrecognized grids can be decoded by EDEX simply by dropping `*.grib` or `*.grib2` files into `/awips2/data_store/ingest/` + +To add support for a new grid, two edits must be made: + +* **Geospatial projection** must be defined in a [***grid navigation file***](#create-grid-projection-file) +* **Grid name**, **center**, **subcenter**, and **process ID** must be defined in a [***model definition file***](#create-model-definition) + +If the parameters in the grib file haven't been previously specified, another change *may* be needed as well: + +* **Center**, **subcenter**, **discipline**, **category**, and possibly **parameter ID** information may need to be defined in a [***table***](#adding-a-table) + +--- + +## Ingest an Unsupported Grid + +### Download Test Data + +Download an example grib1 file and rename to a `*.grib` extension, then copy to the manual ingest point `/awips2/data_store/ingest/` + + wget https://downloads.unidata.ucar.edu/awips2/current/files/14102318_nmm_d01.GrbF00600 -O wrf.grib + + cp wrf.grib /awips2/data_store/ingest/ + +Remember that the data distribution file (`/awips2/edex/data/utility/common_static/base/distribution/grib.xml`) will match filenames which have the `*.grib*` extension. + +### Check Grib Logs + +Confirm that the grib file decodes in the grib log file: + + edex log grib + + INFO [Ingest.GribDecode] /awips2/data_store/ingest/grib/20141026/14/wrf.grib processed in: 0.1200 (sec) Latency: 21.8080 (sec) + INFO [Ingest.GribDecode] /awips2/data_store/ingest/grib/20141026/14/wrf.grib processed in: 0.1180 (sec) Latency: 21.8140 (sec) + INFO [Ingest.GribDecode] /awips2/data_store/ingest/grib/20141026/14/wrf.grib processed in: 0.4230 (sec) Latency: 21.8360 (sec) + INFO [Ingest.GribDecode] /awips2/data_store/ingest/grib/20141026/14/wrf.grib processed in: 0.2240 (sec) Latency: 21.9140 (sec) + + ... + +### Check HDF5 Data + +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). + +--- + +## Determine Grid Projection + +When the grid was ingested a record was added to the `grid_coverage` table with its navigation information: + + psql metadata + + metadata=# 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'); + nx | ny | dx | dy | majoraxis | minoraxis | la1 | lo1 | lov | latin1 | latin2 + -----+-----+------------------+------------------+-----------+-----------+------------------+-------------------+-------------------+------------------+------------------ + 201 | 155 | 4.29699993133545 | 4.29699993133545 | 6378160 | 6356775 | 42.2830009460449 | -72.3610000610352 | -67.0770034790039 | 45.3680000305176 | 45.3680000305176 + (1 row) + +Compare with the projection info returned by wgrib on the original file (look at the bolded sections below and make sure they match up with the corresponding entries returned from the database above): + +
+wgrib -V wrf.grib  
+rec 799:27785754:date 2014102318 ALBDO kpds5=84 kpds6=1 kpds7=0 levels=(0,0) grid=255 sfc 6hr fcst: bitmap: 736 undef
+  ALBDO=Albedo [%]
+  timerange 0 P1 6 P2 0 TimeU 1  nx 201 ny 155 GDS grid 3 num_in_ave 0 missing 0
+  center 7 subcenter 0 process 89 Table 2 scan: WE:SN winds(grid) 
+  Lambert Conf: Lat1 42.283000 Lon1 -72.361000 Lov -67.077000
+      Latin1 45.368000 Latin2 45.368000 LatSP 0.000000 LonSP 0.000000
+      North Pole (201 x 155) Dx 4.297000 Dy 4.297000 scan 64 mode 8
+  min/max data 5 21.9  num bits 8  BDS_Ref 50  DecScale 1 BinScale 0
+
+ +Notice that our grib file has a **Lambert Conformal** projection. We will need these values for the next step. + +!!! note "**There is a tolerance of +/- 0.1 degrees** to keep in mind when defining your coverage area." + +--- + +## Create Grid Projection File + +### Projection Types + +Grid projection files are stored in `/awips2/edex/data/utility/common_static/base/grib/grids/` and there are four grid coverage types available: + +1. **lambertConformalGridCoverage** (example: `RUCIcing.xml`) + + + 305 + Regional - CONUS (Lambert Conformal) + 16.322 + -125.955 + LowerLeft + 151 + 113 + 40.63525 + 40.63525 + km + 6356775.0 + 6378160.0 + -95.0 + 25.0 + 25.0 + + +2. **polarStereoGridCoverage** (example `seaice_south1_grid.xml`) + + + 405 + Sea Ice south 690X710 13km grid + -36.866 + 139.806 + LowerLeft + 690 + 710 + 12.7 + 12.7 + km + 6371229.0 + 6371229.0 + 100.0 + + +3. **latLonGridCoverage** (example `UkmetHR-SHemisphere.xml`) + + + 864162002 + UKMet HiRes combined - Southern Hemisphere + Longitude range 71.25E - 70.416E + -89.721 + 71.25 + LowerLeft + 864 + 162 + 0.833 + 0.556 + degree + -0.278 + 70.416 + + +4. **mercatorGridCoverage** (example `gridNBM_PR.xml`) + + + NBM_PR + National Blend Grid over Puerto Rico - (1.25 km) + 16.9775 + -68.0278 + LowerLeft + 339 + 225 + 1.25 + 1.25 + 19.3750032477232 + -63.984399999999994 + 20 + km + 6371200 + 6371200 + + +### Creating a New Projection File + +Copy an existing xml file with the same grid projection type (in this case **lambertConformalGridCoverage**) to a new file `wrf.xml`: + + cd /awips2/edex/data/utility/common_static/base/grib/grids/ + cp RUCIcing.xml wrf.xml + +And edit the new `wrf.xml` to define the projection values using the [output from wgrib or the database](#determine-grid-projection) (example provided): + + vi wrf.xml + + + 201155 + Regional - CONUS (Lambert Conformal) + 42.2830009460449 + -72.3610000610352 + LowerLeft + 201 + 155 + 4.29699993133545 + 4.29699993133545 + km + 6356775.0 + 6378160.0 + -67.0770034790039 + 45.3680000305176 + 45.3680000305176 + + +!!! note "Notice the `201155` tag was created by using the number of grid points (201 and 155). This name can be anything as long as it is unique and will be used to match against in the model definition." + +--- + +## Create Model Definition + +Model definition XML files are found in **/awips2/edex/data/utility/common_static/base/grib/models/**. + +Since our grib file has a center ID of 7 (NCEP) we will edit the **gribModels_NCEP-7.xml** file. + + cd /awips2/edex/data/utility/common_static/base/grib/models/ + + vi gribModels_NCEP-7.xml + +In `` add an entry: + + + WRF +
7
+ 0 + 201155 + + 89 + +
+ +Save the file and restart EDEX for the changes to take effect: + + sudo service edex_camel restart ingestGrib + +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 wrf.grib /awips2/data_store/ingest/ + + edex 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](../cave/d2d-edit-menus.md). + +--- + +## Adding a Table + +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. + +The tables are located in **/awips2/edex/data/utility/common_static/base/grib/tables/**. They are then broken into subdirectories using the following structure: **/[Center]/[Subcenter]/4.2.[Discipine].[Category].table**. + +The center and subcenter have been identified previously [here](#determine-grid-projection), as 7 and 0, respectively. So, the corresponding directory is: + + /awips2/edex/data/utility/common_static/base/grib/tables/7/0/ + +To find the **discipline** of a grib product, you need the **process** and **table** values from the grib file. These are output with the `wgrib -V` command: + +
+wgrib -V wrf.grib  
+rec 799:27785754:date 2014102318 ALBDO kpds5=84 kpds6=1 kpds7=0 levels=(0,0) grid=255 sfc 6hr fcst: bitmap: 736 undef
+  ALBDO=Albedo [%]
+  timerange 0 P1 6 P2 0 TimeU 1  nx 201 ny 155 GDS grid 3 num_in_ave 0 missing 0
+  center 7 subcenter 0 process 89 Table 2 scan: WE:SN winds(grid) 
+  Lambert Conf: Lat1 42.283000 Lon1 -72.361000 Lov -67.077000
+      Latin1 45.368000 Latin2 45.368000< LatSP 0.000000 LonSP 0.000000
+      North Pole (201 x 155) Dx 4.297000 Dy 4.297000 scan 64 mode 8
+  min/max data 5 21.9  num bits 8  BDS_Ref 50  DecScale 1 BinScale 0
+
+ +For our example, the process is **89** and table is **2**. Next, take a look in: + + /awips2/edex/data/utility/common_static/base/grid/grib1ParameterConvTable.xml + +And find the entry that has grib1 data with TableVersion 2 and Value 89: + + +
7
+ 2 + 89 + 0 + 3 + 10 +
+ +Here, we can see the discipline and category values (referred to as x above) are 0 and 3, respectively. + +So, the table needed for our example file is: + + /awips2/edex/data/utility/common_static/base/grib/tables/7/0/4.2.0.3.table diff --git a/docs/edex/new-grid.md b/docs/edex/new-grid.md new file mode 100644 index 0000000000..67a417b998 --- /dev/null +++ b/docs/edex/new-grid.md @@ -0,0 +1,364 @@ +# Ingest a New Grid + +Unrecognized grids can be decoded by EDEX simply by dropping `*.grib` or `*.grib2` files into `/awips2/data_store/ingest/` + +!!! note "This page explains how to ingest `.grib2` products. To view information about `.grib` products, [please see this page](../new-grid-grib1-old)." + +To add support for a new grid, two edits must be made: + +* **Geospatial projection** must be defined in a [***grid navigation file***](#create-grid-projection-file) +* **Grid name**, **center**, **subcenter**, and **process ID** must be defined in a [***model definition file***](#create-model-definition) + +If the parameters in the grib file haven't been previously specified, another change *may* be needed as well: + +* **Center**, **subcenter**, **discipline**, **category**, and possibly **parameter ID** information may need to be defined in a [***table***](#adding-a-table) + +--- + +## Ingest an Unsupported Grid + +### Download Test Data + +Download an example grib2 file (make sure the extension is `.grib2` or the [EDEX distribution file](../data-distribution-files/#editing-an-edex-data-distribution-file) may not recognize it), and then copy to the manual ingest point `/awips2/data_store/ingest/`: + + wget https://downloads.unidata.ucar.edu/awips2/current/files/CPTI_00.50_20180502-000144.grib2 -O cpti.grib2 + + cp cpti.grib2 /awips2/data_store/ingest/ + +### Check Grib Logs + +Confirm that the grib file decodes in the grib log file. + +Look in the current log file (/awips2/edex/logs/edex-ingestGrib-[YYYYMMDD].log) for the following: + + INFO [Ingest.GribDecode] /awips2/data_store/ingest/cpti.grib2 processed in: 0.1200 (sec) Latency: 21.8080 (sec) + INFO [Ingest.GribDecode] /awips2/data_store/ingest/cpti.grib2 processed in: 0.1180 (sec) Latency: 21.8140 (sec) + INFO [Ingest.GribDecode] /awips2/data_store/ingest/cpti.grib2 processed in: 0.4230 (sec) Latency: 21.8360 (sec) + INFO [Ingest.GribDecode] /awips2/data_store/ingest/cpti.grib2 processed in: 0.2240 (sec) Latency: 21.9140 (sec) + + ... + +!!! warning "This step will fail for our example because the parameter is not yet defined. The error will look like:" + +
+INFO  2020-07-20 20:34:17,710 2565 [GribPersist-1] GridDao: EDEX - Discarding record due to missing or unknown parameter mapping: /grid/2018-05-02_00:01:44.0_(0)/GribModel:161:0:97/null/null/403/Missing/FH/500.0/-999999.0
+INFO  2020-07-20 20:34:17,710 2566 [GribPersist-1] Ingest: EDEX: Ingest - grib2:: /awips2/data_store/ingest/CPTI_00.50_20180502-000144.grib2 processed in: 2.3550 (sec)
+INFO  2020-07-20 20:34:17,827 2567 [Ingest.GribDecode-6] grib: EDEX - No parameter information for center[161], subcenter[0], tableName[4.2.209.3], parameter value[61]
+
+ +In order to successfully ingest the example file, you must [**define the appropriate table**](#adding-a-table). + +### Check HDF5 Data + +Check that the hdf5 data directory exists for our unnamed grid + + ls -latr /awips2/edex/data/hdf5/grid/GribModel:161:0:97 + +Though the grib file has been decoded, it has been given a generic name with its **center, subcenter, and process IDs** (161, 0, 97, respectively). + +--- + +## Determine Grid Projection + +When a grid is ingested a record is added to the `grid_coverage` table with its navigation information: + + psql metadata + + metadata=> select nx,ny,dx,dy,majoraxis,minoraxis,la1,lo1,lov,latin1,latin2,spacingunit,lad,la2,latin,lo2,firstgridpointcorner from gridcoverage where id=(select distinct(location_id) from grid_info where datasetid='GribModel:161:0:97'); + nx | ny | dx | dy | majoraxis | minoraxis | la1 | lo1 | lov | latin1 | latin2 | spacingunit | lad | la2 | latin | lo2 | firstgridpointcorner + -----+-----+-------+-------+-----------+-----------+-----------+-----+-----+--------+--------+-------------+-----+-----+-------+-----+---------------------- + 600 | 640 | 0.005 | 0.005 | | | 40.799999 | 261 | | | | degree | | | | | UpperLeft + (1 row) + Compare with the projection info returned by wgrib2 on the original file (look at the bolded sections below and make sure they match up with the corresponding entries returned from the database above): + +
+wgrib2 -grid -nxny cpti.grib2
+1:0:grid_template=0:winds(N/S):
+	lat-lon grid:(600 x 640) units 1e-06 input WE:NS output WE:SN res 48
+	lat 40.799999 to 37.599999 by 0.005000
+	lon 260.999999 to 263.999999 by 0.005000 #points=384000:(600 x 640)
+  ...
+
+Notice that our grib2 file has a **Lat/lon Grid** projection, that starts in the **UpperLeft** corner (as defined by input West to East, North to South). Where: + +* **nx** is **600** +* **ny** is **640** +* **dx** is **0.005** +* **dy** is **0.005** +* **la1** is **40.799999** +* **lo1** is **261** + +We will need these values for the next step. + +!!! note "**There is a tolerance of +/- 0.1 degrees** to keep in mind when defining your coverage (la1 and lo1) area." + +--- + +## Create Grid Projection File + +### Projection Types + +!!! note "You may not have information for every tag listed, for example it's not required for the latLonGridCoverage to have spacingUnit, la2, lo2." + +Grid projection files are stored in `/awips2/edex/data/utility/common_static/base/grib/grids/` and there are four grid coverage types available: + +1. **lambertConformalGridCoverage** (example: `RUCIcing.xml`) + + + 305 + Regional - CONUS (Lambert Conformal) + 16.322 + -125.955 + LowerLeft + 151 + 113 + 40.63525 + 40.63525 + km + 6356775.0 + 6378160.0 + -95.0 + 25.0 + 25.0 + + +2. **polarStereoGridCoverage** (example `seaice_south1_grid.xml`) + + + 405 + Sea Ice south 690X710 13km grid + -36.866 + 139.806 + LowerLeft + 690 + 710 + 12.7 + 12.7 + km + 6371229.0 + 6371229.0 + 100.0 + + +3. **latLonGridCoverage** (example `UkmetHR-SHemisphere.xml`) + + + 864162002 + UKMet HiRes combined - Southern Hemisphere + Longitude range 71.25E - 70.416E + -89.721 + 71.25 + LowerLeft + 864 + 162 + 0.833 + 0.556 + degree + -0.278 + 70.416 + + +4. **mercatorGridCoverage** (example `gridNBM_PR.xml`) + + + NBM_PR + National Blend Grid over Puerto Rico - (1.25 km) + 16.9775 + -68.0278 + LowerLeft + 339 + 225 + 1.25 + 1.25 + 19.3750032477232 + -63.984399999999994 + 20 + km + 6371200 + 6371200 + + +### Creating a New Projection File + +Copy an existing xml file with the same grid projection type (in this case **latLonGridCoverage**) to a new file `cpti.xml`: + + cd /awips2/edex/data/utility/common_static/base/grib/grids/ + cp MRMS-1km-CONUS.xml cpti.xml + +And edit the new `cpti.xml` to define the projection values using the [output from wgrib2 or the database](#determine-grid-projection) (example provided): + + vi cpti.xml + + + 600640 + Small domain for CPTI products + 40.799999 + 261 + UpperLeft + 600 + 640 + 0.005 + 0.005 + degree + + +!!! note "Notice the `600640` tag was created by using the number of grid points (600 and 640). This name can be anything as long as it is unique and will be used to match against in the model definition." + +--- + +## Create Model Definition + +Model definition XML files are found in **/awips2/edex/data/utility/common_static/base/grib/models/**. + +Since our grib2 file has a center of 161 (NOAA) we will edit the **gribModels_NOAA-161.xml** file. + + cd /awips2/edex/data/utility/common_static/base/grib/models/ + + vi gribModels_NOAA-161.xml + +In ``, under the `<-- Subcenter 0 -->` comment, add an entry: + + + CPTI +
161
+ 0 + 600640 + + 97 + +
+ +Save the model file and restart edex: + + sudo service edex_camel restart ingestGrib + +Now if you drop `cpti.grib2` into the manual endpoint again, it should ingest without any persistence errors. + +--- + +## Adding a Table + +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. + +The tables are located in **/awips2/edex/data/utility/common_static/base/grib/tables/**. They are then broken into subdirectories using the following structure: **/[Center]/[Subcenter]/4.2.[Discipine].[Category].table**. + +!!! note "There are also default parameters that all grib products may access located in this directory: **/awips2/edex/data/utility/common_static/base/grib/tables/-1/-1/**" + +If you are using a grib2 file, then you can use either the log output or the `-center`, `-subcenter`, and `-full_name` options on `wgrib2` to get the center, subcenter, discipline, category, and parameter information: + +The table would be found in the directory structure using this file's center and subcenter. + +### Finding Center +The center can be found by either: + + * Running the following command: + + wgrib2 -center cpti.grib2 + 1:0:center=US NOAA Office of Oceanic and Atmospheric Research + ... + + And then looking up the corresponding value for "US NOAA Office of Oceanic and Atmospheric Research" at [**this website**](https://www.nco.ncep.noaa.gov/pmb/docs/on388/table0.html), where it happens to be **161**. + +**OR:** + +* Running the following command: +
+wgrib2 -varX cpti.grib2
+1:0:var209_255_1_161_3_61
+...
+ + Where the 4th argument after "var" is the center id, in this case **161**. + +### Finding Subcenter + +To get the subcenter, simply run: +
+wgrib2 -subcenter cpti.grib2
+  1:0:subcenter=0
+...
+
+The subcenter of this file is **0**. + +Based on the center and subcenter, the corresponding directory is: + + /awips2/edex/data/utility/common_static/base/grib/tables/161/0/ + +### Finding Discipline and Category + +To find the exact table, we need the discipline and category: + +
+wgrib2 -full_name cpti.grib2
+	1:0:var209_3_61.500_m_above_mean_sea_level
+  ...
+
+ +In this case the **discipline is 209** and **category is 3**, so the corresponding table is: + + 4.2.209.3.table + +### Corresponding Table + +The full path to the corresponding table would be: + + /awips2/edex/data/utility/common_static/base/grib/tables/161/0/4.2.209.3.table + +The parameter ID was also listed in that output as **61**. Make sure that specific parameter information is defined in the table: +
+...
+56:56:Reflectivity at -20C:dBZ:ReflectivityM20C
+57:57:Reflectivity At Lowest Altitude (RALA):dBZ:ReflectivityAtLowestAltitude
+58:58:Merged Reflectivity At Lowest Altitude (RALA):dBZ:MergedReflectivityAtLowestAltitude
+59:59:CPTI 80mph+:%:CPTI80mph
+61:61:CPTI 110mph+:%:CPTI110mph
+
+ +You will have to restart ingestGrib for the changes to take place: + + sudo service edex_camel restart ingestGrib + +Now you can try [re-ingesting the grib2 file](#download-test-data). + +--- + +## Creating Menu Items + +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](../cave/d2d-edit-menus.md). + +--- + +## Implementing a Production Process + +The [ingest method](#download-test-data) mentioned earlier is strictly meant to only be used during testing and development of ingesting new grid data. The reasoning is because the manual end point is very inefficent during its ingest. It creates copies of the data file and uses more resources than you'd want in a production process. + +Once you are satisfied with the data ingest and display in CAVE, then we highly recommend you implement a production process for ingest that does not involve the manual directory (`/awips2/data_store/ingest/`). + +The recommended way is to make use of a Python script we distribute with AWIPS (EDEX). This script is called `notifyAWIPS2-unidata.py` and located in th `/awips2/ldm/dev/` directory. If you are already using a script to manually gather the data, then adding an additional call like the one below, should ingest your data to EDEX in an efficient manner: +``` +/awips2/ldm/dev/notifyAWIPS2-unidata.py [path-to-new-grib-file] +``` + +!!! note "Make sure the python script is executable. To do this you may have to run `chmod +x /awips2/ldm/dev/notifyAWIPS2-unidata.py`" + +--- + +## Using wgrib2 + +Mentioned in this page are a few command parameters for `wgrib2` such as `-grid`, `varX`, `-center`, `-subcenter`, and `-full_name`. + +A complete [list of all available parameters can be found here](https://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/long_cmd_list.html). + +--- + +## Troubleshooting Grib Ingest + +* 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* can be useful in determining the information that must be added to correctly process a new grib file. + +* If you are experiencing `Segmentation fault` errors when running wgrib2, it may be best to install the latest version using the following command: + + yum install wgrib2 + And then you may either need to change where `wgrib2` points to, or use `/bin/wgrib2` to run the recently downloaded version. diff --git a/docs/edex/settings.md b/docs/edex/settings.md new file mode 100644 index 0000000000..67a58680ff --- /dev/null +++ b/docs/edex/settings.md @@ -0,0 +1,129 @@ +# EDEX Settings + +## Plugin Configuration + +The directory **/awips2/edex/conf/resources** contains configuration text files for specific plugins, which allow for user-defined values which are read by AWIPS plugins on EDEX start: + + acarssounding.properties + autobldsrv.properties + com.raytheon.edex.plugin.gfe.properties + com.raytheon.edex.text.properties + com.raytheon.uf.common.registry.ebxml.properties + com.raytheon.uf.edex.archive.cron.properties + com.raytheon.uf.edex.database.properties + com.raytheon.uf.edex.registry.ebxml.properties + distribution.properties + edex-localization-http.properties + edex-requestsrv.properties + edex-uengine.properties + eventBus.properties + ftp.properties + goesr.properties + grib.properties + maintenance.properties + proxy.properties + purge.properties + quartz.properties + radar.properties + stats.properties + textdbsrv.properties + warning.properties + +Look at **purge.properties** for example: + + # Master switch to enable and disable purging + purge.enabled=true + + # Interval at which the purge job kicks off + purge.cron=0+0/15+*+*+*+? + + # Interval at which the outgoing files are purged + purge.outgoing.cron=0+30+*+*+*+? + + # Interval at which the logs are purged + purge.logs.cron=0+30+0+*+*+? + + # Interval at which hdf5 orphans are purged + purge.orphan.period=24h + + # Number of days older than the earliest known data to delete. + purge.orphan.buffer=7 + ... + + +In **grib.properties**, **goesr.properties**, and **radar.properties** you can adjust the number of decoder threads for each plugin. + + cat radar.properties + + # Number threads for radar products ingested from the SBN + radar-decode.sbn.threads=5 + +--- + +## Ingest Modes + +By default, EDEX starts three "modes": *ingest*, *ingestGrib*, and *request* (each as its own JVM). + +The file **/awips2/edex/conf/modes/modes.xml** contains all available mode definitions, including some specific modes for Hydro Server Applications, ebXML Registries, Data Delivery, and more. + +EDEX services are registered through spring, and by including or excluding specific spring files (usually by datatype plugin name) we can finely customize EDEX startup. + +In **/awips2/edex/conf/modes/modes.xml** there are a number of unused plugin decoders excluded because the data are not available outside of the SBN: + + ... + + .*request.* + edex-security.xml + ebxml.*\.xml + grib-decode.xml + grid-staticdata-process.xml + .*(dpa|taf|nctext).* + webservices.xml + .*datadelivery.* + .*bandwidth.* + .*sbn-simulator.* + hydrodualpol-ingest.xml + grid-metadata.xml + .*ogc.* + obs-ingest-metarshef.xml + ffmp-ingest.xml + scan-ingest.xml + cwat-ingest.xml + fog-ingest.xml + vil-ingest.xml + preciprate-ingest.xml + qpf-ingest.xml + fssobs-ingest.xml + cpgsrv-spring.xml + + ... + +In this example, request, ebXML, grib plugins, OGC and other plugins are excluded because they are included in their own mode/JVM. + +> **Note**: TAF and NCTEXT plugins are disabled here due to performance issues. + +--- + +## JVM Memory + +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/ + -rw-r--r-- 1 awips fxalpha 1287 Jul 24 18:41 centralRegistry.sh + -rw-r--r-- 1 awips fxalpha 1155 Jul 24 18:42 default.sh + -rw-r--r-- 1 awips fxalpha 1956 Jul 24 18:41 ingestGrib.sh + -rw-r--r-- 1 awips fxalpha 337 Jul 24 18:36 ingest.sh + -rw-r--r-- 1 awips fxalpha 848 Jul 24 18:42 profiler.sh + -rw-r--r-- 1 awips fxalpha 1188 Jul 24 18:41 registry.sh + -rw-r--r-- 1 awips fxalpha 601 Jul 24 18:36 request.sh + +Each file contains the **Xmx** definition for maximum memory: + + ... + export INIT_MEM=512 # in Meg + export MAX_MEM=4096 # in Meg + ... + +After editing these files, you must restart : `service edex_camel restart`. + +--- diff --git a/docs/images/.DS_Store b/docs/images/.DS_Store new file mode 100644 index 0000000000..5008ddfcf5 Binary files /dev/null and b/docs/images/.DS_Store differ diff --git a/docs/images/2panelReadout.gif b/docs/images/2panelReadout.gif new file mode 100644 index 0000000000..851dee81d0 Binary files /dev/null and b/docs/images/2panelReadout.gif differ diff --git a/docs/images/CAVE_map.png b/docs/images/CAVE_map.png new file mode 100755 index 0000000000..4f027b4977 Binary files /dev/null and b/docs/images/CAVE_map.png differ diff --git a/docs/images/GOESEW.png b/docs/images/GOESEW.png new file mode 100644 index 0000000000..2e6fc72181 Binary files /dev/null and b/docs/images/GOESEW.png differ diff --git a/docs/images/Unidata_AWIPS2_CAVE.png b/docs/images/Unidata_AWIPS2_CAVE.png new file mode 100644 index 0000000000..fd7a8bfe07 Binary files /dev/null and b/docs/images/Unidata_AWIPS2_CAVE.png differ diff --git a/docs/images/aboutMac.png b/docs/images/aboutMac.png new file mode 100644 index 0000000000..cd44f0f36c Binary files /dev/null and b/docs/images/aboutMac.png differ diff --git a/docs/images/awips2_coms.png b/docs/images/awips2_coms.png new file mode 100644 index 0000000000..d0e9f21456 Binary files /dev/null and b/docs/images/awips2_coms.png differ diff --git a/docs/images/awipsTips.png b/docs/images/awipsTips.png new file mode 100644 index 0000000000..9b6c23f150 Binary files /dev/null and b/docs/images/awipsTips.png differ diff --git a/docs/images/az-range-overlay.gif b/docs/images/az-range-overlay.gif new file mode 100644 index 0000000000..8173612bf9 Binary files /dev/null and b/docs/images/az-range-overlay.gif differ diff --git a/docs/images/baselines.png b/docs/images/baselines.png new file mode 100644 index 0000000000..af98c502c8 Binary files /dev/null and b/docs/images/baselines.png differ diff --git a/docs/images/cave.png b/docs/images/cave.png new file mode 100644 index 0000000000..0f2550ce75 Binary files /dev/null and b/docs/images/cave.png differ diff --git a/docs/images/caveHeader.png b/docs/images/caveHeader.png new file mode 100644 index 0000000000..b4a84d94f6 Binary files /dev/null and b/docs/images/caveHeader.png differ diff --git a/docs/images/caveMacGraphicsCard.png b/docs/images/caveMacGraphicsCard.png new file mode 100644 index 0000000000..7943f5ea8b Binary files /dev/null and b/docs/images/caveMacGraphicsCard.png differ diff --git a/docs/images/caveSpringError.png b/docs/images/caveSpringError.png new file mode 100644 index 0000000000..0aa9de15e3 Binary files /dev/null and b/docs/images/caveSpringError.png differ diff --git a/docs/images/changeLegends.gif b/docs/images/changeLegends.gif new file mode 100755 index 0000000000..94afdcddd2 Binary files /dev/null and b/docs/images/changeLegends.gif differ diff --git a/docs/images/chooseByID.png b/docs/images/chooseByID.png new file mode 100644 index 0000000000..48c97baa2e Binary files /dev/null and b/docs/images/chooseByID.png differ diff --git a/docs/images/cleanEclipse.png b/docs/images/cleanEclipse.png new file mode 100644 index 0000000000..22aa980175 Binary files /dev/null and b/docs/images/cleanEclipse.png differ diff --git a/docs/images/connectWindow.png b/docs/images/connectWindow.png new file mode 100644 index 0000000000..c78853d1d1 Binary files /dev/null and b/docs/images/connectWindow.png differ diff --git a/docs/images/copyToMenu.png b/docs/images/copyToMenu.png new file mode 100644 index 0000000000..f7355b39a4 Binary files /dev/null and b/docs/images/copyToMenu.png differ diff --git a/docs/images/createProjection.png b/docs/images/createProjection.png new file mode 100644 index 0000000000..68618578a3 Binary files /dev/null and b/docs/images/createProjection.png differ diff --git a/docs/images/cycleResource.gif b/docs/images/cycleResource.gif new file mode 100755 index 0000000000..3d7c86e1da Binary files /dev/null and b/docs/images/cycleResource.gif differ diff --git a/docs/images/debugApplication.png b/docs/images/debugApplication.png new file mode 100644 index 0000000000..1012d1bdca Binary files /dev/null and b/docs/images/debugApplication.png differ diff --git a/docs/images/delete-display.gif b/docs/images/delete-display.gif new file mode 100755 index 0000000000..b3dbaf8767 Binary files /dev/null and b/docs/images/delete-display.gif differ diff --git a/docs/images/displayPanelUnload.png b/docs/images/displayPanelUnload.png new file mode 100644 index 0000000000..a2204fae4a Binary files /dev/null and b/docs/images/displayPanelUnload.png differ diff --git a/docs/images/displayProperties.png b/docs/images/displayProperties.png new file mode 100644 index 0000000000..a3728edc7e Binary files /dev/null and b/docs/images/displayProperties.png differ diff --git a/docs/images/distanceBearing.png b/docs/images/distanceBearing.png new file mode 100644 index 0000000000..82b5ec61fa Binary files /dev/null and b/docs/images/distanceBearing.png differ diff --git a/docs/images/distanceScale.gif b/docs/images/distanceScale.gif new file mode 100644 index 0000000000..f6765b5965 Binary files /dev/null and b/docs/images/distanceScale.gif differ diff --git a/docs/images/distanceSpeed.gif b/docs/images/distanceSpeed.gif new file mode 100644 index 0000000000..7309f2a29d Binary files /dev/null and b/docs/images/distanceSpeed.gif differ diff --git a/docs/images/errorPurgingLogs.png b/docs/images/errorPurgingLogs.png new file mode 100644 index 0000000000..0fba901b7a Binary files /dev/null and b/docs/images/errorPurgingLogs.png differ diff --git a/docs/images/errorWorkbenchNull.png b/docs/images/errorWorkbenchNull.png new file mode 100644 index 0000000000..ca20f2176f Binary files /dev/null and b/docs/images/errorWorkbenchNull.png differ diff --git a/docs/images/estimatedActualVelocity.gif b/docs/images/estimatedActualVelocity.gif new file mode 100644 index 0000000000..766344011f Binary files /dev/null and b/docs/images/estimatedActualVelocity.gif differ diff --git a/docs/images/exportImageDialog.png b/docs/images/exportImageDialog.png new file mode 100644 index 0000000000..6a4d8c5aec Binary files /dev/null and b/docs/images/exportImageDialog.png differ diff --git a/docs/images/exportKML.png b/docs/images/exportKML.png new file mode 100644 index 0000000000..d63b6a9e86 Binary files /dev/null and b/docs/images/exportKML.png differ diff --git a/docs/images/exportMenu.png b/docs/images/exportMenu.png new file mode 100644 index 0000000000..7cd04a28fd Binary files /dev/null and b/docs/images/exportMenu.png differ diff --git a/docs/images/failedJepMetarLoad.png b/docs/images/failedJepMetarLoad.png new file mode 100644 index 0000000000..0ade01bc46 Binary files /dev/null and b/docs/images/failedJepMetarLoad.png differ diff --git a/docs/images/fileMenuNewMap.png b/docs/images/fileMenuNewMap.png new file mode 100644 index 0000000000..af6b1a10af Binary files /dev/null and b/docs/images/fileMenuNewMap.png differ diff --git a/docs/images/gis-gui.png b/docs/images/gis-gui.png new file mode 100644 index 0000000000..71daa41078 Binary files /dev/null and b/docs/images/gis-gui.png differ diff --git a/docs/images/gis-label.png b/docs/images/gis-label.png new file mode 100644 index 0000000000..22aeb136f7 Binary files /dev/null and b/docs/images/gis-label.png differ diff --git a/docs/images/gis-preferences.png b/docs/images/gis-preferences.png new file mode 100644 index 0000000000..7062b0c771 Binary files /dev/null and b/docs/images/gis-preferences.png differ diff --git a/docs/images/gisattr.png b/docs/images/gisattr.png new file mode 100644 index 0000000000..354be918aa Binary files /dev/null and b/docs/images/gisattr.png differ diff --git a/docs/images/gitImport1.png b/docs/images/gitImport1.png new file mode 100644 index 0000000000..59707226d1 Binary files /dev/null and b/docs/images/gitImport1.png differ diff --git a/docs/images/gitImport2.png b/docs/images/gitImport2.png new file mode 100644 index 0000000000..dc74148c23 Binary files /dev/null and b/docs/images/gitImport2.png differ diff --git a/docs/images/gitImport3.png b/docs/images/gitImport3.png new file mode 100644 index 0000000000..cd874ae0e4 Binary files /dev/null and b/docs/images/gitImport3.png differ diff --git a/docs/images/gitImportCave.png b/docs/images/gitImportCave.png new file mode 100644 index 0000000000..18705a92ce Binary files /dev/null and b/docs/images/gitImportCave.png differ diff --git a/docs/images/gitImportEdexOsgi.png b/docs/images/gitImportEdexOsgi.png new file mode 100644 index 0000000000..19115bc3c2 Binary files /dev/null and b/docs/images/gitImportEdexOsgi.png differ diff --git a/docs/images/goesCiraNotebook.png b/docs/images/goesCiraNotebook.png new file mode 100644 index 0000000000..c4dce97fce Binary files /dev/null and b/docs/images/goesCiraNotebook.png differ diff --git a/docs/images/goesCiraNotebookWebpage.png b/docs/images/goesCiraNotebookWebpage.png new file mode 100644 index 0000000000..ffb10861c2 Binary files /dev/null and b/docs/images/goesCiraNotebookWebpage.png differ diff --git a/docs/images/home.png b/docs/images/home.png new file mode 100644 index 0000000000..4ae763ce38 Binary files /dev/null and b/docs/images/home.png differ diff --git a/docs/images/imagePropsIcon.png b/docs/images/imagePropsIcon.png new file mode 100644 index 0000000000..37104f9599 Binary files /dev/null and b/docs/images/imagePropsIcon.png differ diff --git a/docs/images/image_1.png b/docs/images/image_1.png new file mode 100644 index 0000000000..ad073f5928 Binary files /dev/null and b/docs/images/image_1.png differ diff --git a/docs/images/image_2.jpg b/docs/images/image_2.jpg new file mode 100644 index 0000000000..c8c67b409d Binary files /dev/null and b/docs/images/image_2.jpg differ diff --git a/docs/images/importMenu.png b/docs/images/importMenu.png new file mode 100644 index 0000000000..ffaf8fdc75 Binary files /dev/null and b/docs/images/importMenu.png differ diff --git a/docs/images/ipv6ProblemStep2.png b/docs/images/ipv6ProblemStep2.png new file mode 100644 index 0000000000..cd19c2a9f0 Binary files /dev/null and b/docs/images/ipv6ProblemStep2.png differ diff --git a/docs/images/ipv6ProblemStep3a.png b/docs/images/ipv6ProblemStep3a.png new file mode 100644 index 0000000000..dcca3ffbc0 Binary files /dev/null and b/docs/images/ipv6ProblemStep3a.png differ diff --git a/docs/images/ipv6ProblemStep3b.png b/docs/images/ipv6ProblemStep3b.png new file mode 100644 index 0000000000..6174714576 Binary files /dev/null and b/docs/images/ipv6ProblemStep3b.png differ diff --git a/docs/images/ipv6ProblemStep4.png b/docs/images/ipv6ProblemStep4.png new file mode 100644 index 0000000000..d7d74b776c Binary files /dev/null and b/docs/images/ipv6ProblemStep4.png differ diff --git a/docs/images/ipv6ProblemStep5.png b/docs/images/ipv6ProblemStep5.png new file mode 100644 index 0000000000..5a803a46fe Binary files /dev/null and b/docs/images/ipv6ProblemStep5.png differ diff --git a/docs/images/ipv6ProblemStep6.png b/docs/images/ipv6ProblemStep6.png new file mode 100644 index 0000000000..b71406f494 Binary files /dev/null and b/docs/images/ipv6ProblemStep6.png differ diff --git a/docs/images/learnAwipsCaveBanner.png b/docs/images/learnAwipsCaveBanner.png new file mode 100644 index 0000000000..df8d2e9c57 Binary files /dev/null and b/docs/images/learnAwipsCaveBanner.png differ diff --git a/docs/images/learnPythonAwipsBanner.png b/docs/images/learnPythonAwipsBanner.png new file mode 100644 index 0000000000..190603680b Binary files /dev/null and b/docs/images/learnPythonAwipsBanner.png differ diff --git a/docs/images/load-display.gif b/docs/images/load-display.gif new file mode 100755 index 0000000000..36235bcfb4 Binary files /dev/null and b/docs/images/load-display.gif differ diff --git a/docs/images/load-local-display.gif b/docs/images/load-local-display.gif new file mode 100755 index 0000000000..74249404b8 Binary files /dev/null and b/docs/images/load-local-display.gif differ diff --git a/docs/images/load-procedures.gif b/docs/images/load-procedures.gif new file mode 100755 index 0000000000..90fcc6feec Binary files /dev/null and b/docs/images/load-procedures.gif differ diff --git a/docs/images/loadToThisPanel.gif b/docs/images/loadToThisPanel.gif new file mode 100755 index 0000000000..91c23346c9 Binary files /dev/null and b/docs/images/loadToThisPanel.gif differ diff --git a/docs/images/loadToThisPanel.png b/docs/images/loadToThisPanel.png new file mode 100644 index 0000000000..a0f8629748 Binary files /dev/null and b/docs/images/loadToThisPanel.png differ diff --git a/docs/images/localization-preferences-changed.png b/docs/images/localization-preferences-changed.png new file mode 100644 index 0000000000..88117fc87d Binary files /dev/null and b/docs/images/localization-preferences-changed.png differ diff --git a/docs/images/localization-preferences.png b/docs/images/localization-preferences.png new file mode 100644 index 0000000000..ccb6f25bda Binary files /dev/null and b/docs/images/localization-preferences.png differ diff --git a/docs/images/localizationEditor.png b/docs/images/localizationEditor.png new file mode 100644 index 0000000000..0676c57cee Binary files /dev/null and b/docs/images/localizationEditor.png differ diff --git a/docs/images/localizationHierarchy.png b/docs/images/localizationHierarchy.png new file mode 100644 index 0000000000..d080e50ec6 Binary files /dev/null and b/docs/images/localizationHierarchy.png differ diff --git a/docs/images/localizationPreferences.png b/docs/images/localizationPreferences.png new file mode 100644 index 0000000000..09564efc93 Binary files /dev/null and b/docs/images/localizationPreferences.png differ diff --git a/docs/images/mac-cave-internet-download2.png b/docs/images/mac-cave-internet-download2.png new file mode 100644 index 0000000000..09afe138aa Binary files /dev/null and b/docs/images/mac-cave-internet-download2.png differ diff --git a/docs/images/mac-install.png b/docs/images/mac-install.png new file mode 100644 index 0000000000..f1b87755de Binary files /dev/null and b/docs/images/mac-install.png differ diff --git a/docs/images/map_scales.png b/docs/images/map_scales.png new file mode 100644 index 0000000000..4cf2a2657c Binary files /dev/null and b/docs/images/map_scales.png differ diff --git a/docs/images/menuBar.png b/docs/images/menuBar.png new file mode 100644 index 0000000000..882ec7c64b Binary files /dev/null and b/docs/images/menuBar.png differ diff --git a/docs/images/monterey-warning.png b/docs/images/monterey-warning.png new file mode 100644 index 0000000000..409cbc334f Binary files /dev/null and b/docs/images/monterey-warning.png differ diff --git a/docs/images/nsharpControls.png b/docs/images/nsharpControls.png new file mode 100644 index 0000000000..ad97d1b84b Binary files /dev/null and b/docs/images/nsharpControls.png differ diff --git a/docs/images/nsharpControlsGraphs.png b/docs/images/nsharpControlsGraphs.png new file mode 100644 index 0000000000..74c8a93adb Binary files /dev/null and b/docs/images/nsharpControlsGraphs.png differ diff --git a/docs/images/nsharpControlsInsets.png b/docs/images/nsharpControlsInsets.png new file mode 100644 index 0000000000..add8957b36 Binary files /dev/null and b/docs/images/nsharpControlsInsets.png differ diff --git a/docs/images/nsharpControlsTables.png b/docs/images/nsharpControlsTables.png new file mode 100644 index 0000000000..0e0c9e3eff Binary files /dev/null and b/docs/images/nsharpControlsTables.png differ diff --git a/docs/images/nsharpGraphs.png b/docs/images/nsharpGraphs.png new file mode 100644 index 0000000000..400ee9c7cb Binary files /dev/null and b/docs/images/nsharpGraphs.png differ diff --git a/docs/images/nsharpHodograph.png b/docs/images/nsharpHodograph.png new file mode 100644 index 0000000000..9f1aaa3114 Binary files /dev/null and b/docs/images/nsharpHodograph.png differ diff --git a/docs/images/nsharpIcon.png b/docs/images/nsharpIcon.png new file mode 100644 index 0000000000..59443d0d88 Binary files /dev/null and b/docs/images/nsharpIcon.png differ diff --git a/docs/images/nsharpInsets.png b/docs/images/nsharpInsets.png new file mode 100644 index 0000000000..529a866a03 Binary files /dev/null and b/docs/images/nsharpInsets.png differ diff --git a/docs/images/nsharpInventory.png b/docs/images/nsharpInventory.png new file mode 100644 index 0000000000..cc91191046 Binary files /dev/null and b/docs/images/nsharpInventory.png differ diff --git a/docs/images/nsharpSkewT.png b/docs/images/nsharpSkewT.png new file mode 100644 index 0000000000..5c3b9272f7 Binary files /dev/null and b/docs/images/nsharpSkewT.png differ diff --git a/docs/images/nsharpTables.png b/docs/images/nsharpTables.png new file mode 100644 index 0000000000..a1dfbb6f85 Binary files /dev/null and b/docs/images/nsharpTables.png differ diff --git a/docs/images/nsharpWindHeightTemp.png b/docs/images/nsharpWindHeightTemp.png new file mode 100644 index 0000000000..64e6c434a4 Binary files /dev/null and b/docs/images/nsharpWindHeightTemp.png differ diff --git a/docs/images/openProductBrowser.gif b/docs/images/openProductBrowser.gif new file mode 100755 index 0000000000..db6216aa3d Binary files /dev/null and b/docs/images/openProductBrowser.gif differ diff --git a/docs/images/perspectivesMenu.png b/docs/images/perspectivesMenu.png new file mode 100644 index 0000000000..17f7c4fa9a Binary files /dev/null and b/docs/images/perspectivesMenu.png differ diff --git a/docs/images/productBrowserIcon.png b/docs/images/productBrowserIcon.png new file mode 100644 index 0000000000..c67ecff4c2 Binary files /dev/null and b/docs/images/productBrowserIcon.png differ diff --git a/docs/images/radarDisplayControls.png b/docs/images/radarDisplayControls.png new file mode 100644 index 0000000000..ee2cc89186 Binary files /dev/null and b/docs/images/radarDisplayControls.png differ diff --git a/docs/images/rangeRings.png b/docs/images/rangeRings.png new file mode 100644 index 0000000000..7c2fb5a891 Binary files /dev/null and b/docs/images/rangeRings.png differ diff --git a/docs/images/renameMapEditor.gif b/docs/images/renameMapEditor.gif new file mode 100755 index 0000000000..90b11ed232 Binary files /dev/null and b/docs/images/renameMapEditor.gif differ diff --git a/docs/images/resourceMenu.gif b/docs/images/resourceMenu.gif new file mode 100755 index 0000000000..ac2baa2898 Binary files /dev/null and b/docs/images/resourceMenu.gif differ diff --git a/docs/images/rightClickNewMap.gif b/docs/images/rightClickNewMap.gif new file mode 100755 index 0000000000..0a42049db6 Binary files /dev/null and b/docs/images/rightClickNewMap.gif differ diff --git a/docs/images/runApplication.png b/docs/images/runApplication.png new file mode 100644 index 0000000000..d404d88a72 Binary files /dev/null and b/docs/images/runApplication.png differ diff --git a/docs/images/sample.gif b/docs/images/sample.gif new file mode 100755 index 0000000000..fffefb1e48 Binary files /dev/null and b/docs/images/sample.gif differ diff --git a/docs/images/save-procedure.gif b/docs/images/save-procedure.gif new file mode 100755 index 0000000000..131d0084ed Binary files /dev/null and b/docs/images/save-procedure.gif differ diff --git a/docs/images/showHideResource.gif b/docs/images/showHideResource.gif new file mode 100644 index 0000000000..eccc30426c Binary files /dev/null and b/docs/images/showHideResource.gif differ diff --git a/docs/images/singlePanelLoad.gif b/docs/images/singlePanelLoad.gif new file mode 100755 index 0000000000..cd95166781 Binary files /dev/null and b/docs/images/singlePanelLoad.gif differ diff --git a/docs/images/sunset-sunrise.png b/docs/images/sunset-sunrise.png new file mode 100644 index 0000000000..48b3e6af35 Binary files /dev/null and b/docs/images/sunset-sunrise.png differ diff --git a/docs/images/synchronizeDeveloperProduct.png b/docs/images/synchronizeDeveloperProduct.png new file mode 100644 index 0000000000..63a1a15c53 Binary files /dev/null and b/docs/images/synchronizeDeveloperProduct.png differ diff --git a/docs/images/textWorkstation.png b/docs/images/textWorkstation.png new file mode 100644 index 0000000000..dc3712f543 Binary files /dev/null and b/docs/images/textWorkstation.png differ diff --git a/docs/images/toolsMenuDisplayTools.png b/docs/images/toolsMenuDisplayTools.png new file mode 100644 index 0000000000..f39eafaaf7 Binary files /dev/null and b/docs/images/toolsMenuDisplayTools.png differ diff --git a/docs/images/toolsMenuRadarTools.png b/docs/images/toolsMenuRadarTools.png new file mode 100644 index 0000000000..4b79313cba Binary files /dev/null and b/docs/images/toolsMenuRadarTools.png differ diff --git a/docs/images/unitsCalculator.png b/docs/images/unitsCalculator.png new file mode 100644 index 0000000000..f91e3847b7 Binary files /dev/null and b/docs/images/unitsCalculator.png differ diff --git a/docs/images/vmwareplayer-update-dpi.png b/docs/images/vmwareplayer-update-dpi.png new file mode 100644 index 0000000000..528f2ae8d8 Binary files /dev/null and b/docs/images/vmwareplayer-update-dpi.png differ diff --git a/docs/images/volumeBrowserAnimationMenu.png b/docs/images/volumeBrowserAnimationMenu.png new file mode 100644 index 0000000000..eecf39a4d8 Binary files /dev/null and b/docs/images/volumeBrowserAnimationMenu.png differ diff --git a/docs/images/volumeBrowserDisplayMenu.png b/docs/images/volumeBrowserDisplayMenu.png new file mode 100644 index 0000000000..96503f02c1 Binary files /dev/null and b/docs/images/volumeBrowserDisplayMenu.png differ diff --git a/docs/images/volumeBrowserFields.png b/docs/images/volumeBrowserFields.png new file mode 100644 index 0000000000..de636a4b88 Binary files /dev/null and b/docs/images/volumeBrowserFields.png differ diff --git a/docs/images/volumeBrowserLabeled.png b/docs/images/volumeBrowserLabeled.png new file mode 100644 index 0000000000..7010beca19 Binary files /dev/null and b/docs/images/volumeBrowserLabeled.png differ diff --git a/docs/images/volumeBrowserLoad.png b/docs/images/volumeBrowserLoad.png new file mode 100644 index 0000000000..4692d4b8aa Binary files /dev/null and b/docs/images/volumeBrowserLoad.png differ diff --git a/docs/images/volumeBrowserSoundingMenu.png b/docs/images/volumeBrowserSoundingMenu.png new file mode 100644 index 0000000000..3267170748 Binary files /dev/null and b/docs/images/volumeBrowserSoundingMenu.png differ diff --git a/docs/images/volumeBrowserSources1.png b/docs/images/volumeBrowserSources1.png new file mode 100644 index 0000000000..dc202456c2 Binary files /dev/null and b/docs/images/volumeBrowserSources1.png differ diff --git a/docs/images/volumeBrowserSources2.png b/docs/images/volumeBrowserSources2.png new file mode 100644 index 0000000000..425bb4a3c1 Binary files /dev/null and b/docs/images/volumeBrowserSources2.png differ diff --git a/docs/images/volumeBrowserToolsMenu.png b/docs/images/volumeBrowserToolsMenu.png new file mode 100644 index 0000000000..52d7545208 Binary files /dev/null and b/docs/images/volumeBrowserToolsMenu.png differ diff --git a/docs/images/warngen.png b/docs/images/warngen.png new file mode 100644 index 0000000000..b952ca8dac Binary files /dev/null and b/docs/images/warngen.png differ diff --git a/docs/images/warngenDMTS.png b/docs/images/warngenDMTS.png new file mode 100755 index 0000000000..e4fc7fe5d1 Binary files /dev/null and b/docs/images/warngenDMTS.png differ diff --git a/docs/images/warngenHeaderBlock.png b/docs/images/warngenHeaderBlock.png new file mode 100755 index 0000000000..65630ea946 Binary files /dev/null and b/docs/images/warngenHeaderBlock.png differ diff --git a/docs/images/warngenIcon.png b/docs/images/warngenIcon.png new file mode 100644 index 0000000000..b8a504af27 Binary files /dev/null and b/docs/images/warngenIcon.png differ diff --git a/docs/images/warngenLocalRadar1.png b/docs/images/warngenLocalRadar1.png new file mode 100644 index 0000000000..02f01ab66c Binary files /dev/null and b/docs/images/warngenLocalRadar1.png differ diff --git a/docs/images/warngenLocalRadar2.png b/docs/images/warngenLocalRadar2.png new file mode 100644 index 0000000000..4f19e2e628 Binary files /dev/null and b/docs/images/warngenLocalRadar2.png differ diff --git a/docs/images/warngenLocalization.png b/docs/images/warngenLocalization.png new file mode 100644 index 0000000000..4f405e9138 Binary files /dev/null and b/docs/images/warngenLocalization.png differ diff --git a/docs/images/warngenPoly.png b/docs/images/warngenPoly.png new file mode 100644 index 0000000000..2f6f8f310d Binary files /dev/null and b/docs/images/warngenPoly.png differ diff --git a/docs/images/warngenTextWindow.png b/docs/images/warngenTextWindow.png new file mode 100644 index 0000000000..0ca54dad4a Binary files /dev/null and b/docs/images/warngenTextWindow.png differ diff --git a/docs/images/windowsRemoveCavedata.png b/docs/images/windowsRemoveCavedata.png new file mode 100644 index 0000000000..bf258a176c Binary files /dev/null and b/docs/images/windowsRemoveCavedata.png differ diff --git a/docs/images/youtube-logo.png b/docs/images/youtube-logo.png new file mode 100644 index 0000000000..7e2166cb6f Binary files /dev/null and b/docs/images/youtube-logo.png differ diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000000..61308300f7 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,124 @@ +# Unidata AWIPS User Manual + +[https://www.unidata.ucar.edu/software/awips2](https://www.unidata.ucar.edu/software/awips2) + +--- + +[ldm]: https://www.unidata.ucar.edu/software/ldm/ +[idd]: https://www.unidata.ucar.edu/projects/#idd +[gempak]: https://www.unidata.ucar.edu/software/gempak/ +[awips2]: https://www.unidata.ucar.edu/software/awips2/ +[ncep]: http://www.ncep.noaa.gov +[apache]: http://httpd.apache.org +[postgres]: www.postgresql.org +[hdf5]: http://www.hdfgroup.org/HDF5/ +[eclipse]: http://www.eclipse.org +[camel]: http://camel.apache.org/ +[spring]: http://www.springsource.org/ +[hibernate]: http://www.hibernate.org/ +[qpid]: http://qpid.apache.org + + + The Advanced Weather Interactive Processing System (AWIPS) is a meteorological software package. It is used for decoding, displaying, and analyzing data, and was originally developed for the National Weather Service (NWS) by Raytheon. There is a division here at UCAR called the Unidata Program Center (UPC) which develops and supports a modified non-operational version of AWIPS for use in research and education by [UCAR member institutions](http://president.ucar.edu/governance/members/universities-representatives). This is released as open source software, free to download and use by anyone. + +AWIPS takes a unified approach to data ingest, where most data ingested into the system comes through the [LDM](#ldm) client pulling data feeds from the [Unidata IDD](https://www.unidata.ucar.edu/projects/#idd). Various raw data and product files (netCDF, grib, BUFR, ASCII text, gini, AREA) are decoded and stored as HDF5 files and Postgres metadata by [EDEX](install/install-edex), which serves products and data over http. + +Unidata supports two data visualization frameworks: [CAVE](install/install-cave) (an Eclipse-built Java application which runs on Linux, Mac, and Windows), and [python-awips](python/overview) (a python package). + +![CAVE](images/Unidata_AWIPS2_CAVE.png) + +--- + +## [Download and Install CAVE](install/install-cave) + +--- + +## [Download and Install EDEX](install/install-edex) + +--- + +## [Work with Python-AWIPS](python/overview) + +--- + +## License + +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 license information can be found [here](https://github.com/Unidata/awips2/blob/unidata_18.2.1/LICENSE). + +--- + +## AWIPS Data in the Cloud + +Unidata and XSEDE Jetstream have partnered to offer an EDEX data server in the cloud, open to the community. Select the server in the Connectivity Preferences dialog, or enter **`edex-cloud.unidata.ucar.edu`** (without *http://* before, or *:9581/services* after). + +![EDEX in the cloud](images/connectWindow.png) + +--- + +## Distributed Computing + +AWIPS makes use of service-oriented architecture to request, process, and serve real-time meteorological data. Because AWIPS was originally developed for use on internal NWS forecast office networks, where operational installations of AWIPS can consist of a dozen servers or more, Unidata modified the package to be more applicable in the University setting. 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 (SSD) could handle most of the entire NOAAport data volume. However, with GOES-R(16) now online, and more gridded forecast models being created at finer temporal and spatial resolutions, there was a need to distribute EDEX data decoding in order to handle this firehose of data. + +* Read More: [Distributed EDEX](edex/distributed-computing) + +--- + + + +## Software Components + +* [EDEX](#edex) +* [CAVE](#cave) +* [LDM](#ldm) +* [edexBridge](#edexbridge) +* [Qpid](#qpid) +* [PostgreSQL](#postgresql) +* [HDF5](#hdf5) +* [PyPIES](#pypies) + +### EDEX + +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](install/install-edex) + +### CAVE + +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](install/install-cave) + + +### LDM + +[https://www.unidata.ucar.edu/software/ldm/](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` + +### edexBridge + +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. + +### Qpid + +[http://qpid.apache.org](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` + +### PostgreSQL + +[http://www.postgresql.org](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` + +### HDF5 + +[http://www.hdfgroup.org/HDF5/](http://www.hdfgroup.org/HDF5/) + +[**Hierarchical Data Format (v.5)**][hdf5] 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 data is stored on the EDEX server in `/awips2/edex/data/hdf5/`. + +### PyPIES + +**PyPIES**, Python Process Isolated Enhanced Storage, (httpd-pypies) 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`. diff --git a/docs/install/install-cave.md b/docs/install/install-cave.md new file mode 100644 index 0000000000..3e9caba468 --- /dev/null +++ b/docs/install/install-cave.md @@ -0,0 +1,210 @@ +# Install CAVE + +CAVE is the **C**ommon **A**WIPS **V**isualization **E**nvironment that is used for rendering and analyzing data for AWIPS. The installer may require administrator priviledges to install and may require other system changes (environment variables, etc) as well. + +--- + +## Latest CAVE Versions + +- [**Linux: 20.3.2-1**](#linux) +- [**Windows: 20.3.2-1**](#windows) +- [**Mac: 20.3.2-1**](#macos) + +[**View release notes**](https://www.unidata.ucar.edu/blogs/news/tags/awips-release) + +!!! note "Version 20.\* of CAVE is not compatible with Version 18.\* EDEX and vice versa, Version 18.\* of CAVE is not compatible with Version 20.\* EDEX." + +--- + +## Functionality/Reporting + +If you come across issues/bugs/missing functionality, we also encourage you to report it using this short form. + +--- + +## General Requirements + +Regardless of what Operating System CAVE is running on, these general requirements are recommended in order for CAVE to perform optimally: + +- Local machine + + !!! error "Running CAVE via X11 forwarding or ssh tunneling is **not** supported. Using a [VNC connection is the only remote option](../appendix/common-problems.md#remotely-connecting-to-cave), and may result in worse performance than running locally." + +- OpenGL 2.0 Compatible Devices +- At least 4GB RAM +- At least 2GB Disk Space for Caching +- NVIDIA Graphics Card +- [Latest NVIDIA Driver](http://www.nvidia.com/Download/index.aspx?lang=en-us) + + !!! warning "While other graphics cards *may* work, NVIDIA Quadro graphics card is recommended for full visualization capability" + +--- + +## Linux   + +**Latest Version: 20.3.2-1** + +### System Requirements + +- 64 bit CentOS/Red Hat 7 +- Bash shell environment + +!!! note "While CentOS8 has reach End of Life as of Dec. 31, 2021, CentOS7 End of Life isn't until June 30, 2024." + +### Download and Installation Instructions + +1. Download the following installer: [**awips_install.sh** ](https://downloads.unidata.ucar.edu/awips2/current/linux/awips_install.sh) +2. In a terminal, go to the download directory +3. Make the installer an executable by running: `chmod 755 awips_install.sh` +4. Run the installer: `sudo ./awips_install.sh --cave` + - This will install the application in `/awips2/cave/` and set the local cache to `~/caveData/` + +### Run CAVE + +To run CAVE either: + +- Use the terminal and type the command `cave` +- Find the application in the Linux Desktop menu: Applications > Internet > AWIPS CAVE + +Additionally users can choose to run a [virtual machine (VM)](#linux-virtual-machine) on Linux. + +--- + +## Windows   + +**Latest Version: 20.3.2-1** + +For Windows, Unidata offers two installation options: a [**Direct Windows Installation**](#method-1-direct-windows-install), or a [**Linux Virtual Machine**](#method-2-linux-virtual-machine). + +!!! warning "The virtual machine option won't render RGB composites of satellite imagery." + +!!! note "For those running CAVE in a lab or needing it installed at the system level for multiple users, please contact support-awips@ucar.unidata.edu" + +### Method 1: Direct Windows Install + +#### Download and Installation Instructions + +1. Download and install: [**awips-cave.msi** ](https://downloads.unidata.ucar.edu/awips2/current/windows/awips-cave.msi) + +#### Run CAVE + +To run CAVE, either: + +- Double click on the CAVE icon on your desktop +- Type "cave" in the start bar and hit enter +- Find and run CAVE app in the file browser: `C:\Users\%USER%\AppData\Roaming\UCAR Unidata\AWIPS CAVE\CAVE.bat` + +### Method 2: Linux Virtual Machine + +Please note, running CAVE in a Virtual Machine does have reduced functionality than running CAVE directly on hardware (ex: rendering RGB satellite images). + +#### System Requirements + +- [VMWare Workstation Player](https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html) must be installed (free software): +- For high definition monitors (4k), you will want to enable the high DPI setting for VMWare Workstation Player + 1. Create a desktop shortcut for VMWare Workstation Player + 1. Right-click the shortcut and select Properties + 1. Open the Compatability Tab + 1. Select the "Change high DPI settings" button + 1. Check the "High DPI scaling ovveride" checkbox and choose "Application" in the enabled dropdown + + ![VMWare Workstation Player DPI Setting](../images/vmwareplayer-update-dpi.png) + + +#### Download and Installation Instructions + +1. Download the zipped file containing the virtual machine: [**CentOS7-Unidata-CAVE-20.3.2-1** ](https://downloads.unidata.ucar.edu/awips2/current/windows/unidata_cave.zip) +2. Unzip the folder. +3. Open VMWare Player and go to **Player** > **File...** > **Open** and locate the folder that was created from the downloaded zipped file. Select the file called **"CentOS 7 - Unidata CAVE 20.3.2-1.vmx"**. +4. Run this new VM option. If it asks if it's been moved or copied, select **"I Copied It"**. + - There will be a user in the Linux machine named "awips" and the password is "awips" + - The root password is "unidataAWIPS" if ever needed + +#### Run CAVE + +Once inside the VM, to run CAVE either: + +- Use the desktop icon +- Use the terminal and type the command `cave` +- Find the application in the Linux Desktop menu: Applications > Internet > AWIPS CAVE + +--- + +## macOS   + +**Latest Version: 20.3.2-1** + +### System Requirements + +- Nvidia Graphics Card (Some Intel Graphics cards seem to work as well) + +### Download and Installation Instructions + +1. Download and install CAVE: [awips-cave.dmg](https://downloads.unidata.ucar.edu/awips2/current/mac/awips-cave.dmg) + ![Cave System Install](../images/mac-install.png) + - You can click and drag the CAVE icon into the Applications Directory to install at the System Application level -- this may require Administrator Privileges + - You can drag that icon to any other location (Desktop, local user's Applications directory, etc) to install CAVE at that location -- this will not require Administrator Privileges + +### Run CAVE + +To run CAVE either: + +- Use the System Menu Go > Applications > CAVE +- Type ⌘ + Spacebar and then type "cave", the application should appear and you can hit **enter** to run it + +!!! note "The first time CAVE is opened, it will ask you if you are sure you want to run it, because it was downloaded from the internet and not the Apple Store. This is normal, and hit Open. Your message my differ slightly but should look like the image below:" +![internet warning](../images/mac-cave-internet-download2.png) + +--- + +## EDEX Connection + +Unidata and Jetstream2 have partnered to offer a EDEX data server in the cloud, open to the public. Select the server in the Connectivity Preferences dialog, or enter **edex-cloud.unidata.ucar.edu**. + +![EDEX in the cloud](../images/connectWindow.png) + +--- + +## Local Cache + +After connecting to an EDEX server, you will have a local directory named **caveData** which contains files synced from EDEX as well as a client-side cache for data and map resources. + +You can reset CAVE by removing the **caveData** directory and reconnecting 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.). + +- Linux: `/home//caveData/` +- macOS: `/Users//Library/caveData/` +- Windows: `C:\Users\\caveData\` + +--- + +## Uninstalling CAVE (Linux) +These are instructions to manually uninstall CAVE. However, the [`awips_install.sh`](#download-and-installation-instructions) script will do these steps for you if you are installing a newer version of CAVE. + +**1. Make sure you have exited out of any CAVE sessions** + +!!! note "Check to make sure your `/etc/yum.repos.d/awips2.repo` file has `enabled=1`." + +**2. Remove currently installed CAVE** +``` +sudo yum clean all +sudo yum groupremove "AWIPS CAVE" +``` + +!!! note "If you are having trouble removing a group, see the [troubleshooting](../appendix/common-problems.md#troubleshooting-uninstalling-edex) section." + +**3. Check to make sure all awips rpms have been removed** +``` +rpm -qa | grep awips2 +``` + +If you still have rpms installed, remove them + +``` +sudo yum remove awips2-* +``` + +**4. Remove the cave directory in /awips2 and caveData from your home directory** +``` +rm -rf /awips2/cave +rm -rf ~/caveData +``` diff --git a/docs/install/install-distributed.md b/docs/install/install-distributed.md new file mode 100644 index 0000000000..b2b59069d1 --- /dev/null +++ b/docs/install/install-distributed.md @@ -0,0 +1,134 @@ + +An example of a two-server configuration (LDM and EDEX seperately) using Microsoft Azure CentOS 7.2 virtual machines (Unidata EDEX is supported on CentOS/RHEL 7 since 16.2.2). + +# cifs setup + +Following the guide [https://docs.microsoft.com/en-us/azure/storage/storage-how-to-use-files-linux](https://docs.microsoft.com/en-us/azure/storage/storage-how-to-use-files-linux), our two Azure VMs will share a single file storage directory mounted via Samba **cifs**. LDM will write to the file share, and EDEX will read from it to ingest and decode IDD products. + +In the [Azure portal](https://portal.azure.com): + +* Create a new **Standard** storage account (e.g. **edex7203**) +* Create a new **File service** within the storange account (e.g. **datastore**), 100GB minimum. +* The file service will be located at **//edex7203.file.core.windows.net/datastore** +* Select the **Configuration** tab and confirm **Standard Performance** and **Locally-redundant storage (LRS)** for Replication (these should be defaults). +* Select the **Access keys** tab and copy one of the keys for `/etc/fstab` + +`/etc/fstab` should look like this (**for both machines**): + + UUID=0177d0ac-2605-4bfb-9873-5bdefea12fe2 / xfs defaults 0 0 + //edex7203.file.core.windows.net/datastore /awips2/data_store cifs vers=3.0,password=YOUR_KEY_HERE,user=edex7203,dir_mode=0777,file_mode=0777 + +Note the `YOUR_KEY_HERE` placeholder above, that's where your key will go. + +Now run `mount -a` and confirm `/awips2/data_store` is mounted with the command `df -h` + + Filesystem Size Used Avail Use% Mounted on + /dev/sda1 30G 7.4G 23G 25% / + /dev/sdb1 14G 41M 13G 1% /mnt/resource + //edex7203.file.core.windows.net/datastore 100G 1M 100G 1% /awips2/data_store + +--- + + +# EDEX server (10.0.0.1) + +In the [Azure portal](https://portal.azure.com): + +1. Create a new virtual machine with an *awips* user account + * **CentOS 7.2** + * **DS5_V2 Standard** (16 cores, 56 GB) +2. Ensure that this VM is on the same **Virtual Network** as the LDM machine (both on the 10.0.0.\* subnet). +3. Select the new vm, then select **Disks**, and modify the attached **OS Disk** to be 512GB or greater (vm must be stopped for this). +4. Start the VM, log in as root, and follow the steps in the guide [Step by Step: how to resize a Linux VM OS disk in Azure](https://blogs.msdn.microsoft.com/cloud_solution_architect/2016/05/24/step-by-step-how-to-resize-a-linux-vm-os-disk-in-azure-arm/) (with one dfference in step 5 below) + * **fdisk /dev/sda** + * type "**u**" to change the units to sectors. + * type "**p**" to list current partition details. + * type "**d**" to delete the current partition. + * type "**n**" to create a new partition. Select defaults (p for primary partition, 1 for first part). + * type "**w**" to write the partition. + +5. Reboot the machine and log in again (as root). +6. Run `xfs_growfs /dev/sda1` and check that the OS disk mounts with the new partition size with `df -h` + + > We use **xfs_growfs** here for XFS here ([read more...](http://ask.xmodulo.com/expand-xfs-file-system.html)) instead of **resize2fs** for EXT2/EXT3/EXT4. + +7. `yum install iptables-services` + +8. `vi /etc/sysconfig/iptables` + + *filter + :INPUT ACCEPT [0:0] + :FORWARD ACCEPT [0:0] + :OUTPUT ACCEPT [0:0] + -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT + -A INPUT -p icmp -j ACCEPT + -A INPUT -i lo -j ACCEPT + -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT + -A INPUT -m state --state NEW -m tcp -p tcp --dport 5672 -j ACCEPT + -A INPUT -m state --state NEW -m tcp -p tcp --dport 9581 -j ACCEPT + -A INPUT -m state --state NEW -m tcp -p tcp --dport 9582 -j ACCEPT + # -A INPUT -m state --state NEW -m tcp -p tcp --dport 9588 -j ACCEPT # registry/dd + -A INPUT -j REJECT --reject-with icmp-host-prohibited + -A FORWARD -j REJECT --reject-with icmp-host-prohibited + COMMIT + +9. `service iptables restart` + +10. `vi /etc/sysconfig/selinux` ([read more about selinux at redhat.com](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Enabling_and_Disabling_SELinux-Disabling_SELinux.html)) + + # This file controls the state of SELinux on the system. + # SELINUX= can take one of these three values: + # enforcing - SELinux security policy is enforced. + # permissive - SELinux prints warnings instead of enforcing. + # disabled - No SELinux policy is loaded. + SELINUX=disabled + # SELINUXTYPE= can take one of these two values: + # targeted - Targeted processes are protected, + # mls - Multi Level Security protection. + SELINUXTYPE=targeted + +11. `reboot` for the selinux changes to take effect. + +12. Create user and group **awips:fxalpha** + + `groupadd fxalpha && useradd -G fxalpha awips` + + or if the awips account already exists: + + `groupadd fxalpha && usermod -G fxalpha awips` + +13. Finally, install the EDEX server + + `wget https://downloads.unidata.ucar.edu/awips2/current/linux/awips_install.sh` + + `chmod 755 ./awips_install.sh` + + `sudo ./awips_install.sh --edex` + +--- + +# LDM server (10.0.0.2) + +A small LDM server to write data files to the file share `/awips2/data_store` and send messages to the EDEX machine (10.0.0.1) via **edexBridge**. + +In the [Azure portal](https://portal.azure.com): + +1. Create a new virtual machine with an *awips* user account + * **CentOS 7.2** + * **DS2_V2 Standard** (2 cores, 7 GB) +2. Start the VM, log in and `sudo su -` to root, then run + + * `wget -O /etc/yum.repos.d/awips2.repo https://downloads.unidata.ucar.edu/awips2/current/linux/awips2.repo` + + * `yum clean all` + + * `yum groupinstall awips2-ldm-server` + + * `vi /awips2/ldm/etc/ldmd.conf` to define the **edexBridge** server nane + + EXEC "edexBridge -s 10.0.0.1" + + * `service edex_ldm start` + + > Note: You *do not* need to configure iptables on an LDM-only machine (only for EDEX). + diff --git a/docs/install/install-edex.md b/docs/install/install-edex.md new file mode 100644 index 0000000000..4320b40fac --- /dev/null +++ b/docs/install/install-edex.md @@ -0,0 +1,414 @@ +# Install EDEX + +EDEX is the **E**nvironmental **D**ata **Ex**change system that represents the backend server for AWIPS. EDEX is only supported for Linux systems: CentOS and RHEL, and ideally, it should be on its own dedicated machine. It requires administrator priviledges to make root-level changes. EDEX can run on a single machine or be spread across multiple machines. To learn more about that please look at [Distributed EDEX, Installing Across Multiple Machines](../../edex/distributed-computing/) + +--- + +## Latest Version + +**20.3.2-1** + +[**View release notes**](https://www.unidata.ucar.edu/blogs/news/tags/awips-release) + +!!! note "Version 20.\* of CAVE is not compatible with Version 18.\* EDEX and vice versa, Version 18.\* of CAVE is not compatible with Version 20.\* EDEX." + +--- + +## Functionality/Reporting + +If you come across issues/bugs/missing functionality, we also encourage you to report it using this short form. + +--- + + +## System requirements + +- 64-bit CentOS/RHEL 7 + +!!! note "While CentOS8 has reach End of Life as of Dec. 31, 2021, CentOS7 End of Life isn't until June 30, 2024." + +- Bash shell environment +- 16+ CPU cores (each CPU core can run a decorder in parallel) +- 24GB RAM +- 700GB+ Disk Space +- gcc-c++ package +- A **Solid State Drive (SSD)** is recommended + - A SSD should be mounted either to `/awips2` (to contain the entire EDEX system) or to `/awips2/edex/data/hdf5` (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. + +!!! note "EDEX is only supported for 64-bit CentOS and RHEL 7 Operating Systems." + +!!! warning "EDEX is **not** supported in Debian, Ubuntu, SUSE, Solaris, macOS, or Windows. You may have luck with Fedora Core 12 to 14 and Scientific Linux, but we will not provide support." + +--- + +## Download and Installation Instructions + +The first 3 steps should all be run as **root** + +### 1. Install EDEX + +Download and run the installer: [**awips_install.sh** ](https://downloads.unidata.ucar.edu/awips2/current/linux/awips_install.sh) + +``` +wget https://downloads.unidata.ucar.edu/awips2/current/linux/awips_install.sh +chmod 755 awips_install-v20.sh +sudo ./awips_install-v20.sh --edex +``` + + +!!! note "**awips_install-v20.sh --edex** will perform the following steps (it's always a good idea to review downloaded shell scripts):" + + 1. Checks to see if EDEX is currently running, if so stops the processes with the `edex stop` command + 2. If EDEX is installed, asks the user if it can be removed and where to backup the data to and does a `yum groupremove awips2-server` + 3. If the user/group awips:fxalpha does not exist, it gets created + 4. Saves the appropriate yum repo file to `/etc/yum.repos.d/awips2.repo` + 5. Increases process and file limits for the the *awips* account in `/etc/security/limits.conf` + 6. Creates `/awips2/data_store` if it does not exist already + 7. Runs `yum groupinstall awips2-server` + +!!! warning "If you receive an error relating to yum, then please run" + + ``` + sudo su - -c "[PATH_TO_INSTALL_FILE]/awips_install-v20.sh --edex" + ``` + + +### 2. EDEX Setup +The external and localhost addresses need to be specified in `/etc/hosts` + +``` +127.0.0.1 localhost localhost.localdomain +XXX.XXX.XXX.XXX edex-cloud edex-cloud.unidata.ucar.edu + +``` + +### 3. Configure iptables + +This should be a one time configuration change. Configure iptables to allow TCP connections on ports 9581 and 9582 if you want to serve data publicly to CAVE clients and the Python API. + +#### Open Port 9588 + +If you are running a Registry (Data Delivery) server, you will also want to open port **9588**. + +##### To open ports to all connections + +``` +vi /etc/sysconfig/iptables + +*filter +:INPUT ACCEPT [0:0] +:FORWARD ACCEPT [0:0] +:OUTPUT ACCEPT [0:0] +-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT +-A INPUT -p icmp -j ACCEPT +-A INPUT -i lo -j ACCEPT +-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT +-A INPUT -m state --state NEW -m tcp -p tcp --dport 9581 -j ACCEPT +-A INPUT -m state --state NEW -m tcp -p tcp --dport 9582 -j ACCEPT +#-A INPUT -m state --state NEW -m tcp -p tcp --dport 9588 -j ACCEPT # for registry/dd +-A INPUT -j REJECT --reject-with icmp-host-prohibited +-A FORWARD -j REJECT --reject-with icmp-host-prohibited +COMMIT +``` + +##### To open ports to specific IP addresses + +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.\*. + +``` +vi /etc/sysconfig/iptables + +*filter +:INPUT DROP [0:0] +:FORWARD DROP [0:0] +:OUTPUT ACCEPT [0:0] +:EXTERNAL - [0:0] +:EDEX - [0:0] +-A INPUT -i lo -j ACCEPT +-A INPUT -p icmp --icmp-type any -j ACCEPT +-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT +-A INPUT -s 128.117.140.0/24 -j EDEX +-A INPUT -s 128.117.156.0/24 -j EDEX +-A INPUT -j EXTERNAL +-A EXTERNAL -j REJECT +-A EDEX -m state --state NEW -p tcp --dport 22 -j ACCEPT +-A EDEX -m state --state NEW -p tcp --dport 9581 -j ACCEPT +-A EDEX -m state --state NEW -p tcp --dport 9582 -j ACCEPT +#-A EDEX -m state --state NEW -p tcp --dport 9588 -j ACCEPT # for registry/dd +-A EDEX -j REJECT +COMMIT +``` + +#### Restart iptables + +``` +service iptables restart +``` + +#### Troubleshooting + +For CentOS 7 error: + +``` +Redirecting to /bin/systemctl restart iptables.service +Failed to restart iptables.service: Unit iptables.service failed to load: No such file or directory. +``` + + +The solution is: +``` +yum install iptables-services +systemctl enable iptables +service iptables restart +``` + +### 4. Start EDEX + +!!! note "These steps should be run as user *awips* with sudo. Switch to the user by running `su - awips`." + +``` +edex start +``` +To manually start, stop, and restart: +``` +service edex_postgres start +service httpd-pypies start +service qpidd start +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. Start ldm manually: +``` +service edex_ldm start +``` +To restart EDEX +``` +edex restart +``` + +--- + +## Additional Notes + +### Ensure SELinux is Disabled + +``` +vi /etc/sysconfig/selinux + +# This file controls the state of SELinux on the system. +# SELINUX= can take one of these three values: +# enforcing - SELinux security policy is enforced. +# permissive - SELinux prints warnings instead of enforcing. +# disabled - No SELinux policy is loaded. +SELINUX=disabled +# SELINUXTYPE= can take one of these two values: +# targeted - Targeted processes are protected, +# mls - Multi Level Security protection. +SELINUXTYPE=targeted +``` + +!!! note "Read more about selinux at [redhat.com](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Enabling_and_Disabling_SELinux-Disabling_SELinux.html)" + +--- + +### SSD Mount + +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](/edex/data-purge/) are configured such that the processed data in **/awips2** does not exceed 450GB. The raw data is located in **/awips2/data_store**, and 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 +/dev/sda1 30G 2.5G 26G 9% / +tmpfs 28G 0 28G 0% /dev/shm +/dev/sdc1 788G 81G 667G 11% /awips2 +/dev/sdb1 788G 41G 708G 10% /awips2/edex/data/hdf5 +``` + +--- + +### Configure LDM Feeds + +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: + +#### Configuration file: /awips2/ldm/etc/ldmd.conf + +This file 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 +REQUEST FNEXRAD|IDS|DDPLUS|UNIWISC ".*" idd.unidata.ucar.edu +REQUEST NGRID ".*" idd.unidata.ucar.edu +REQUEST NOTHER "^TIP... KNES.*" idd.unidata.ucar.edu +``` + +!!! note "[Read more about ldmd.conf in the LDM User Manual](https://www.unidata.ucar.edu/software/ldm/ldm-current/basics/ldmd.conf.html)" + +#### Configuration File: /awips2/ldm/etc/pqact.conf + +This file specifies the WMO headers and file pattern actions to request: + +``` +# Redbook graphics +ANY ^([PQ][A-Z0-9]{3,5}) (....) (..)(..)(..) !redbook [^/]*/([^/]*)/([^/]*)/([^/]*)/([0-9]{8}) + FILE -overwrite -close -edex /awips2/data_store/redbook/\8/\4\5Z_\8_\7_\6-\1_\2_(seq).rb.%Y%m%d%H +# NOAAPORT GINI images +NIMAGE ^(sat[^/]*)/ch[0-9]/([^/]*)/([^/]*)/([^ ]*) ([^/]*)/([^/]*)/([^/]*)/ (T[^ ]*) ([^ ]*) (..)(..)(..) + FILE -overwrite -close -edex /awips2/data_store/sat/\(11)\(12)Z_\3_\7_\6-\8_\9_(seq).satz.%Y%m%d%H +``` + +!!! note "[Read more about pqact.conf in the LDM User Manual](https://www.unidata.ucar.edu/software/ldm/ldm-current/basics/pqact.conf.html)" +!!! tip "[See available AWIPS LDM feeds](/edex/ldm/)" + +#### Configuration File: /awips2/ldm/etc/registry.xml + +This file specifies configuration and runtime parameters. If you are pulling in a lot of data, you may want to consider increasing your LDM queue size: + +``` + + /awips2/ldm/var/queues/ldm.pq + 24GB + default + +``` + +!!! note "[Read more about registry.xml in the LDM User Manual](https://www.unidata.ucar.edu/software/ldm/ldm-current/basics/LDM-registry.html)" + +--- + +### Directories to Know + +* `/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. + +--- + +### What Version is my EDEX? +``` +rpm -qa | grep awips2-edex +``` + +--- + +## Uninstalling EDEX +These are instructions to manually uninstall EDEX. However, the [`awips_install.sh`](#1-install-edex) script will do all of these steps for you if you are installing a newer version of EDEX. + +**1. Make sure all EDEX processes are stopped** +``` +sudo edex stop +sudo edex status + +[edex status] + postgres :: not running + pypies :: not running + qpid :: not running + EDEXingest :: not running + EDEXgrib :: not running + EDEXrequest :: not running + ldmadmin :: not running +``` + +**2. Backup any important configuration files that you may want to reference** + +Here are some possible important directories/files to backup: + +``` +/awips2/database/data/pg_hba.conf +/awips2/edex/data/utility/* +/awips2/edex/bin/* +/awips2/ldm/* +/awips2/dev/* +/awips2/edex/conf* +/awips2/edex/etc/* +/awips2/edex/logs/* +/usr/bin/edex/* +/etc/init.d/edexServiceList +``` + +**3. See what AWIPS yum groups are currently installed** + +In this case the ```AWIPS EDEX Server``` group is installed + +``` +sudo yum grouplist + +Available Environment Groups: + Minimal Install + Compute Node + Infrastructure Server + File and Print Server + Cinnamon Desktop + MATE Desktop + Basic Web Server + Virtualization Host + Server with GUI + GNOME Desktop + KDE Plasma Workspaces + Development and Creative Workstation +Installed Groups: + AWIPS EDEX Server + Development Tools +Available Groups: + AWIPS ADE SERVER + AWIPS CAVE + AWIPS Development + AWIPS EDEX DAT Server + AWIPS EDEX Database/Request Server + AWIPS EDEX Decode/Ingest Node (No Database, PyPIES, GFE) + Cinnamon + Compatibility Libraries + Console Internet Tools + Educational Software + Electronic Lab + Fedora Packager + General Purpose Desktop + Graphical Administration Tools + Haskell + LXQt Desktop + Legacy UNIX Compatibility + MATE + Milkymist + Scientific Support + Security Tools + Smart Card Support + System Administration Tools + System Management + TurboGears application framework + Xfce +``` + +**4. Remove any currently installed AWIPS yum groups** +``` +sudo yum clean all +sudo yum groupremove "AWIPS EDEX Server" +``` + +!!! note "If you are having trouble removing a group, see the [troubleshooting](../appendix/common-problems.md#troubleshooting-uninstalling-edex) section." + +**5. Check to make sure all awips rpms have been removed** +``` +rpm -qa | grep awips2 +``` + +If you still have rpms installed, remove them + +``` +sudo yum remove awips2-* +``` + +**6. Remove everything in the /awips2 directory** +``` +rm -rf /awips2/* +``` diff --git a/docs/install/start-edex.md b/docs/install/start-edex.md new file mode 100644 index 0000000000..25607db313 --- /dev/null +++ b/docs/install/start-edex.md @@ -0,0 +1,189 @@ +# EDEX Basic Commands + +!!! note "These steps should be run as user *awips* with sudo. Switch to the user by running `su - awips`." + +Unidata's EDEX install also comes with a [simple **`edex`** program](#edex-commands) that can help execute basic EDEX utilities. The most basic of the commands are the following: + +To start all EDEX services: + + edex start + +To stop all EDEX services: + + edex stop + +--- + +## Service and Boot Settings + +These commands will start and stop five EDEX service files installed into **/etc/init.d/**, four of which are run on boot: + + service postgres start + service httpd-pypies start + service qpidd start + service 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 the single program: `edex` as mentioned above. + +### LDM Troubleshooting + +If the EDEX machine is shut down abruptly, when restarted, it should start up the processes mentioned [above](#service-and-boot-settings). If `sudo service edex_ldm start` does not start up LDM smoothly, please try these steps: + +!!! note "All of the following commands should be run as user *awips* and the `service` commands may need to be run with `sudo`." + +- Run `sudo service edex_ldm start` or `ldmadmin start` and recieve this message: + + ldmadmin start + + start_ldm(): PID-file "/awips2/ldm/ldmd.pid" exists. Verify that all + is well and then execute "ldmadmin clean" to remove the PID-file. + +- Run `ldmadmin clean` and `sudo service edex_ldm start` and receive this error: + + ldmadmin clean + sudo service edex_ldm start + + Checking the product-queue... + The writer-counter of the product-queue isn't zero. Either a process + has the product-queue open for writing or the queue might be corrupt. + Terminate the process and recheck or use + pqcat -l- -s -q /awips2/ldm/var/queues/ldm.pq && pqcheck -F -q + /awips2/ldm/var/queues/ldm.pq + to validate the queue and set the writer-counter to zero. + LDM not started + +- To resolve the above, run: + + pqcat -l- -s -q /awips2/ldm/var/queues/ldm.pq && pqcheck -F -q /awips2/ldm/var/queues/ldm.pq + ldmadmin delqueue + ldmadmin mkqueue + sudo service edex_ldm start + +--- + +## EDEX Commands + +Unidata's version of EDEX installs with a helpful `edex` script that can be used for basic EDEX tasks. + +### edex start + + edex start + + Starting EDEX PostgreSQL: [ OK ] + Starting httpd: [ OK ] + Starting QPID [ OK ] + Starting EDEX Camel (request): + Starting EDEX Camel (ingest): + Starting EDEX Camel (ingestGrib): + Starting AWIPS LDM:The product-queue is OK. + ... + +### edex start base + +To start all EDEX services *except* the LDM: + + edex start base + +--- + +### edex stop + + edex stop + + Stopping EDEX Camel (request): + Stopping EDEX Camel (ingest): + Stopping EDEX Camel (ingestGrib): + Stopping QPID [ OK ] + Stopping httpd: [ OK ] + Stopping EDEX PostgreSQL: [ OK ] + Stopping AWIPS LDM:Stopping the LDM server... + ... + +--- + +### edex setup + + edex setup + + [edex] EDEX IP and Hostname Setup + Checking /awips2/database/data/pg_hba.conf [OK] + Checking /awips2/edex/bin/setup.env [OK] + + [edit] Hostname edex.unidata.ucar.edu added to /awips2/ldm/etc/ldmd.conf + [done] + +This command configures and/or confirms that the EDEX hostname and IP address definitions exist (`edex setup` is run by `edex start`). + +> **Note**: 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*. + +--- + +### edex log + + edex log + + [edex] EDEX Log Viewer + + :: No log specified - Defaulting to ingest log + :: Viewing /awips2/edex/logs/edex-ingest-20151209.log. Press CTRL+C to exit + + INFO [Ingest.binlightning-1] /awips2/data_store/SFPA42_KWBC_091833_38031177.2015120918 processed in: 0.0050 (sec) Latency: 0.0550 (sec) + INFO [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 + edex log request + edex log ldm + edex log radar + edex log satellite + edex log text + +--- + +### edex qpid + +Shows a list of the the Qpid message queue to monitor data ingest (messages in vs messages out, i.e. decoded): + + [centos@js-156-89 ~]$ edex qpid + Queues + queue dur excl msg msgIn msgOut bytes bytesIn bytesOut cons bind + ================================================================================================ + external.dropbox Y Y 11 1.26m 1.26m 621 79.6m 79.6m 5 1 + Ingest.Radar Y Y 4 589k 589k 184 27.1m 27.1m 5 1 + Ingest.GribDecode Y Y 0 370k 370k 0 103m 103m 11 1 + Ingest.GribSplit Y Y 2 361k 361k 201 31.9m 31.9m 5 1 + Ingest.modelsounding Y Y 0 100k 100k 0 6.54m 6.54m 1 1 + Ingest.Text Y Y 0 97.8k 97.8k 0 5.25m 5.25m 2 1 + Ingest.GOESR Y Y 0 83.4k 83.4k 0 6.92m 6.92m 2 1 + Ingest.obs Y Y 0 46.2k 46.2k 0 2.40m 2.40m 1 1 + Grid.PostProcess Y Y 0 20.2k 20.2k 0 6.68m 6.68m 1 1 + Ingest.sfcobs Y Y 0 10.5k 10.5k 0 577k 577k 1 1 + Ingest.goessounding Y Y 0 6.68k 6.68k 0 427k 427k 1 1 + Ingest.Glm Y Y 0 5.61k 5.61k 0 581k 581k 1 1 + Ingest.aww Y Y 0 3.32k 3.32k 0 182k 182k 1 1 + + +--- + +### edex users + +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 + + -- EDEX Users 20160826 -- + user@101.253.20.225 + user@192.168.1.67 + awips@0.0.0.0 + awips@sdsmt.edu + +--- + +### edex purge + +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`. diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml new file mode 100644 index 0000000000..542d6acaff --- /dev/null +++ b/docs/mkdocs.yml @@ -0,0 +1,102 @@ +site_name: Unidata AWIPS User Manual +site_url: http://unidata.github.io/awips2/ +site_description: Documentation for all things AWIPS. +site_author: support-awips@unidata.ucar.edu +theme: + name: unidata + search_index_only: true +repo_url: https://github.com/Unidata/awips2 +edit_uri: edit/unidata_18.2.1/docs/ +site_favicon: images/favicon.ico +remote_name: unidata + +# Options +extra: + palette: + primary: 'blue grey' + accent: 'light blue' + corner_logo: 'images/cave.png' + feature: + tabs: false + social: + - type: globe + link: https://www.unidata.ucar.edu/software/awips2 + - type: github-alt + link: https://github.com/Unidata/awips2 + - type: twitter + link: https://twitter.com/Unidata + - type: facebook + link: https://facebook.com/Unidata + logo: 'images/home.png' + +nav: + - Home: index.md + - Install CAVE: install/install-cave.md + - Install EDEX: install/install-edex.md + - Common Problems: appendix/common-problems.md + - CAVE User Manual: + - D2D Perspective: cave/d2d-perspective.md + - Maps, Views, Projections: cave/maps-views-projections.md + - Displays and Procedures: cave/bundles-and-procedures.md + - Localization Perspective: cave/localization-perspective.md + # - NCP Perspective: cave/ncp-perspective.md + - NSHARP: cave/nsharp.md + - WarnGen Walkthrough: cave/warngen.md + - GOES 16/17: cave/goes-16-17-satellite.md + - GIS and Shapefiles: cave/d2d-gis-shapefiles.md + - Volume Browser: cave/d2d-gridded-models.md + - Tools: cave/d2d-all-tools.md + # - Display Tools: cave/d2d-tools.md + # - Radar Tools: cave/d2d-radar-tools.md + - Editing Menus: cave/d2d-edit-menus.md + - Change Localization: cave/cave-localization.md + - Import/Export: cave/import-export.md + - EDEX User Manual: + - EDEX Basic Commands: install/start-edex.md + - EDEX Settings: edex/settings.md + - Distributed EDEX: edex/distributed-computing.md + - Docker EDEX: edex/edex-ingest-docker-container.md + - LDM Feeds: edex/ldm.md + - Data Distribution Files: edex/data-distribution-files.md + - Ingest a New Grid: edex/new-grid.md + - Purging and Retention: edex/data-purge.md + - Monitor Users: edex/edex-users.md + - Data Plugins: edex/data-plugins.md + - Archive Case Studies: edex/case-studies.md + - Python-AWIPS: python/overview.md + - Educational Resources: appendix/educational-resources.md + #- Hazard Services: + # - CAVE Display: cave/hazard-services-display.md + # - Hazard Creation: cave/hazard-services-create.md + # - Hazard Alerts: cave/hazard-services-alert.md + # - Hazard Settings: cave/hazard-services-settings.md + # - Examples: cave/hazard-services-example.md + # - Supported Data Types: + # - Gridded Model Display: cave/d2d-grids.md + # - Surface Obs: cave/d2d-pointdata-surface-obs.md + # - Satellite Imagery: cave/d2d-satellite.md + # - NEXRAD Radar: cave/d2d-radar.md + # - Upper Air: cave/d2d-uair.md + # - NCEP/Hydro: cave/d2d-hydro.md + # - Map Overlays: cave/d2d-map-resources.md + - Development: dev/awips-development-environment.md + - Appendix: + - AWIPS Grid Parameters: appendix/appendix-grid-parameters.md + - Maps Database: python/maps-database.md + - Acronyms and Abbreviations: appendix/appendix-acronyms.md + # - COTS and FOSS: appendix/appendix-cots.md + - WSR-88D Product Table: appendix/appendix-wsr88d.md + - Keyboard Shortcuts: cave/cave-keyboard-shortcuts.md + - "Raytheon: CAVE User's Manual": raytheon/cave_d2d.md + - "Raytheon: AWIPS System Manager's Manual": raytheon/smm.md + +extra_css: + - css/extra.css + +markdown_extensions: + - fontawesome_markdown: + - toc: + permalink:  + - admonition: + +copyright: Copyright © 2022 Unidata Program Center. diff --git a/docs/pdf/.DS_Store b/docs/pdf/.DS_Store new file mode 100644 index 0000000000..9aa61d7fa3 Binary files /dev/null and b/docs/pdf/.DS_Store differ diff --git a/docs/pdf/OB17.1.1_SMM_WithoutRedLines.pdf b/docs/pdf/OB17.1.1_SMM_WithoutRedLines.pdf new file mode 100644 index 0000000000..7c51b36358 Binary files /dev/null and b/docs/pdf/OB17.1.1_SMM_WithoutRedLines.pdf differ diff --git a/docs/pdf/raytheon/CAVE_D2D_Manual.pdf b/docs/pdf/raytheon/CAVE_D2D_Manual.pdf new file mode 100644 index 0000000000..32be399fd8 Binary files /dev/null and b/docs/pdf/raytheon/CAVE_D2D_Manual.pdf differ diff --git a/docs/pdf/raytheon/System_Manual_13.4.1.pdf b/docs/pdf/raytheon/System_Manual_13.4.1.pdf new file mode 100644 index 0000000000..708f12f8d4 Binary files /dev/null and b/docs/pdf/raytheon/System_Manual_13.4.1.pdf differ diff --git a/docs/python/overview.md b/docs/python/overview.md new file mode 100644 index 0000000000..4a19792f98 --- /dev/null +++ b/docs/python/overview.md @@ -0,0 +1,5 @@ +# Python-AWIPS + +The **python-awips** package provides a data access framework for requesting meteorological and related datasets from an EDEX server. As with any python code, python-awips can be used to interact in command line, or scripting form, with the EDEX. This is an alternative to using CAVE to interact with the data. + +[**Thorough documentation for python-awips can be found here**](http://unidata.github.io/python-awips/). diff --git a/docs/raytheon/cave_d2d.md b/docs/raytheon/cave_d2d.md new file mode 100644 index 0000000000..75efae81c1 --- /dev/null +++ b/docs/raytheon/cave_d2d.md @@ -0,0 +1,10 @@ +# Raytheon: CAVE D2D User's Manual (13.4.1) + +!!! note "This manual is from Raytheon, specifically for the NWS AWIPS, some of the content may not apply to Unidata's AWIPS. Also, this manual is for an older version of AWIPS, but it is the most recent version of the manual we have access to." + + + + diff --git a/docs/raytheon/smm.md b/docs/raytheon/smm.md new file mode 100644 index 0000000000..834e454cd2 --- /dev/null +++ b/docs/raytheon/smm.md @@ -0,0 +1,13 @@ +# Raytheon: System Manager's Manual (13.4.1) + +!!! note "This manual is from Raytheon, specifically for the NWS AWIPS, some of the content may not apply to Unidata's AWIPS. Also, this manual is for an older version of AWIPS, but it is the most recent version of the manual we have access to." + + + + + diff --git a/edexOsgi/.DS_Store b/edexOsgi/.DS_Store new file mode 100644 index 0000000000..2a3223636d Binary files /dev/null and b/edexOsgi/.DS_Store differ diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000000..d6cc9c7c07 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,108 @@ +site_name: Unidata AWIPS User Manual +site_url: http://unidata.github.io/awips2/ +site_description: Documentation for all things AWIPS. +site_author: support-awips@unidata.ucar.edu +theme: + name: unidata + search_index_only: true +repo_url: https://github.com/Unidata/awips2 +edit_uri: edit/unidata_18.2.1/docs/ +site_favicon: images/favicon.ico +remote_name: unidata + +# Options +extra: + palette: + primary: 'blue grey' + accent: 'light blue' + corner_logo: 'images/cave.png' + feature: + tabs: false + social: + - type: globe + link: https://www.unidata.ucar.edu/software/awips2 + - type: github-alt + link: https://github.com/Unidata/awips2 + - type: twitter + link: https://twitter.com/Unidata + - type: facebook + link: https://facebook.com/Unidata + logo: 'images/home.png' + +nav: + - Home: index.md + - Install CAVE: install/install-cave.md + - Install EDEX: install/install-edex.md + - Common Problems: appendix/common-problems.md + - CAVE User Manual: + - D2D Perspective: cave/d2d-perspective.md + - Maps, Views, Projections: cave/maps-views-projections.md + - Displays and Procedures: cave/bundles-and-procedures.md + - Localization Perspective: cave/localization-perspective.md + # - NCP Perspective: cave/ncp-perspective.md + - NSHARP: cave/nsharp.md + - WarnGen Walkthrough: cave/warngen.md + # - GOES 16/17: cave/goes-16-17-satellite.md + - GIS and Shapefiles: cave/d2d-gis-shapefiles.md + - Volume Browser: cave/d2d-gridded-models.md + - Tools: cave/d2d-all-tools.md + - Editing Menus: cave/d2d-edit-menus.md + - Change Localization: cave/cave-localization.md + - Import/Export: cave/import-export.md + - EDEX User Manual: + - EDEX Basic Commands: install/start-edex.md + - EDEX Settings: edex/settings.md + - Distributed EDEX: edex/distributed-computing.md + - Docker EDEX: edex/edex-ingest-docker-container.md + - LDM Feeds: edex/ldm.md + - Data Distribution Files: edex/data-distribution-files.md + - Ingest a New Grid: edex/new-grid.md + - Purging and Retention: edex/data-purge.md + - Monitor Users: edex/edex-users.md + - Data Plugins: edex/data-plugins.md + - Archive Case Studies: edex/case-studies.md + - Python-AWIPS: python/overview.md + - Educational Resources: appendix/educational-resources.md + #- Hazard Services: + # - CAVE Display: cave/hazard-services-display.md + # - Hazard Creation: cave/hazard-services-create.md + # - Hazard Alerts: cave/hazard-services-alert.md + # - Hazard Settings: cave/hazard-services-settings.md + # - Examples: cave/hazard-services-example.md + # - Supported Data Types: + # - Gridded Model Display: cave/d2d-grids.md + # - Surface Obs: cave/d2d-pointdata-surface-obs.md + # - Satellite Imagery: cave/d2d-satellite.md + # - NEXRAD Radar: cave/d2d-radar.md + # - Upper Air: cave/d2d-uair.md + # - NCEP/Hydro: cave/d2d-hydro.md + # - Map Overlays: cave/d2d-map-resources.md + - Development: dev/awips-development-environment.md + # - Overview: python/python-awips-data-access.md + # - AWIPS Grids and Cartopy: python/awips-grids-and-cartopy.md + # - Satellite Imagery: python/satellite-imagery.md + # - NEXRAD Level 3 Radar: python/nexrad-level-3-radar.md + # - Upper air BUFR Soundings: python/upper-air-bufr-soundings.md + # - Model Sounding Data: python/model-sounding-data.md + # - Map Resources and Topography: python/map-resources-and-topography.md + # - Surface Obs Plot with MetPy: python/surface-obs-plot-metpy.md + - Appendix: + - AWIPS Grid Parameters: appendix/appendix-grid-parameters.md + - Maps Database: appendix/maps-database.md + - Acronyms and Abbreviations: appendix/appendix-acronyms.md + # - COTS and FOSS: appendix/appendix-cots.md + - WSR-88D Product Table: appendix/appendix-wsr88d.md + - Keyboard Shortcuts: cave/cave-keyboard-shortcuts.md + - "Raytheon: CAVE User's Manual": raytheon/cave_d2d.md + - "Raytheon: AWIPS System Manager's Manual": raytheon/smm.md + +extra_css: + - css/extra.css + +markdown_extensions: + - fontawesome_markdown: + - toc: + permalink:  + - admonition: + +copyright: Copyright © 2022 Unidata Program Center.