Vortex is a collection of data processing utilities targeted for Hydrologic Engineering Center applications, e.g. HEC-HMS, HEC-RAS. The Vortex API uses NetCDF Java and GDAL libraries to perform operations on spatial data.
The importer utility takes NetCDF, Grib, HDF, ASC, or HEC-DSS files as input, gives the user options for clipping, re-projecting, and resampling data, and writes to HEC-DSS format.
The sanitizer utility screens and replaces values above or below a threshold. There is also an option to override DSS grid units.
The clipper utility clips grids to a shapefile or other geometry layer.
The grid-to-point-converter utility converts gridded data to time-series data for a polygon or a point.
The image-exporter utility exports gridded data to GeoTIFF or ASC raster formats.
The calculator utility performs multiplication, division, addition, or subtraction to a series of grids.
The gap-filler utility fills missing data in grids using spatial or temporal interpolation methods.
The time-shifter utility shifts grids in time.
The time-step-resampler utility resamples gridded data to a different time step.
The normalizer utility normalizes volumes from one set of grids to another, e.g. normalize hourly QPE grids to daily PRISM grids.
Release downloads
To download the latest release of the software see releases.
For sample data retrieval scripts for QPE, RTMA, and HRRR data, see the data retrieval scripts repository.
Tutorials
Creating Gridded Boundary Conditions for HEC-HMS
Scripting
The Vortex API can be called via jython scripts for batch processing.
Building from source
These instructions demonstrate how to build, test, and run the source code on your local machine.
Prerequisites
You will need JDK 11. The version used for building releases is OpenJDK, from AdoptOpenJDK. When running from an IDE, you must also include a JavaFX SDK in your run configuration (https://gluonhq.com/products/javafx/). You do not need a JavaFX SDK if running via Gradle.
This repository includes a Gradle Wrapper; No Gradle installation is required. The JAVA_HOME environment variable should be set to a project appropriate JDK.
Build the project
To build the project use the gradle build command:
The -x test argument builds without running tests.
Running tests
In order to test, you must have LFS objects downloaded. To download LFS objects, use:
To run tests use the gradle test command:
Running a utility
To run a utility use the gradle run command:
Contributing
See CONTRIBUTING.md for details.
Versioning
See SemVer.
License
This project is licensed under the MIT License - see the LICENSE.md file for details.