Introduction
ProbSevere is a system that ingests and processes radar, satellite, NWP, and lightning data to compute probabilities that any given thunderstorm will produce severe weather, and optional probabilities of large hail, high wind, or a tornado in the near future (~ next 90 min). It does this by using multi-scale, multi-platform tracking (in radar and satellite imagery), feature extraction and computation, and a set of naive Bayesian classifiers (trained statistical models). The output are ascii or GeoJSON files, which can easily be converted into shapefiles.
Basic Dependencies
Some dependencies you will have to ensure you have first:
- python 2.7+
- inotify software (this should be standard on linux systems)
- hdf4
- hdf5
- netcdf4
- gfortran compiler or intel compiler and license
- /bin/bash
- crontab
- stream editor, sed (for set up purposes)
- Please make sure that the tools listed above can be accessed from the command line.
- We assume you are installing this software on a machine with 64-bit RedHat[6,7] or CentOS[6,7].
Code Orientation
Directly under /src is where the real-time code resides, as well as some auxiliary programs for running ProbSevere on archived cases.
- src directory:
- C scripts are listeners interfacing with inotify software to trigger events. See probsevere/PS_processing.txt for more information.
- Most .py, .bash, .scr programs are either drivers or stand-alone pieces of code for specific tasks pertaining to the process of data into formats ProbSevere uses.
-
main_probsevere.py
is the main driving program for ProbSevere.- See probsevere/PS_processing.txt for getting the radar, satellite, lightning, and NWP pieces running, as well as starting the main run script. Keep in mind that you must complete the setup steps below, as well as set up ldm or other data serving services.
- A2_radar_scripts : Code for producing AWIPS2 reflectivity grids (UW-CIMSS only)
- convert_gfs : Code for converting GFS grib2s to HDF, which are processed faster by GEOCAT
- cython_utils : Code for compiling the cython utilities in ProbSevere
- demo : A short demo for computing probabilities
- git : directory containing COPIES git repositories (i.e., not submodules) and related items (see git/README.txt)
- cloud_team_algorithms_delivery_0 : contains baseline_cmask_goes_nop algorithm
- enterprise_clouds_mpav : contains enterprise_cldphase_10_11_13_14_15 (GOES 16+) and enterprise_cldphase_9_14_16 (GOES 13-15)
- flaregun : contains notification executable of GOES16 ABI data
- g16_grb_notify.bash : notification script for GOES16
- geocat : GEOCAT code and setup
- NWP_data_scripts : Real-time and archived NWP processing
- science_utils : Science development code
- static : lookup tables, parallax correction files, colormaps, and other static data used in real-time and science development
- w2algrun : Interfacing scripts to run WDSS2 programs in real-time. Note that a real-time license is also necessary.
- webcode directory: Just a repository for ProbSevere web content.
- setup.bash: The executing script for setting things up. Consult the setup notes and setup steps below.
- PS_processing.md: Some more verbose information on setup to get the data processing. Some tips on troubleshooting, as well.
- README.md: You're reading it!
- realtime_daemon.bash: information on adding a probsevere daemon to your crontab, manually.
- config.sh
Setup Steps
- You will need to get WDSS2 software for RHEL 6 or 7, as well as a real-time licence (www.wdssii.org/). For a realtime licencse, you may need to contact Kiel.Ortega@noaa.gov or Travis.Smith@noaa.gov
- MRMS_modified_wgrib2_v2.0.1.tgz can be obtained here: ftp://ftp.nssl.noaa.gov/projects/MRMS/GRIB2_DECODERS/
- These instructions are also in probsevere/config.sh
- Modify: In probsevere/config.sh, modify PROBSEV to be the root directory to probsevere (you should make it a new directory if running real-time).
- Execute:
[user@machine probsevere]$ source config.sh
[user@machine probsevere]$ mkdir -p ${PROBSEV} ${ANCILLARY}
- Move ancillary dirs/files (from probsevere-ancillary) to ${ANCILLARY}
- For example,
[user@machine ${PROBSEV}]$ tar -xvf probsevere-ancillary.tar
- For example,
- Execute:
[user@machine probsevere]$ bash setup.bash
from the directory where this README.md is.- Several software packages will be compiled. You will see lots of output to stdout, and should take about 5 mins to run. There are several error statments with exits that will occur if certain software packages do not compile. You should see the word 'done' at the end if everything compiled successfully.
- Add:
${PROBSEV}/src/crontab.txt
to your user's crontab. - Execute:
[user@machine probsevere]$ cd ${PROBSEV}
- Excecute:
[user@machine ${PROBSEV}]$ bash realtime_daemon.bash