https://github.com/nasa-ammos/veloserver
Velocity Data Visualization Services
https://github.com/nasa-ammos/veloserver
Last synced: 4 months ago
JSON representation
Velocity Data Visualization Services
- Host: GitHub
- URL: https://github.com/nasa-ammos/veloserver
- Owner: NASA-AMMOS
- License: apache-2.0
- Created: 2025-01-21T19:02:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-21T23:14:27.000Z (11 months ago)
- Last Synced: 2025-07-22T01:10:08.942Z (11 months ago)
- Language: Python
- Size: 27.3 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Veloserver - Velocity Data Visualization Server
Veloserver is a geospatial data visualization server designed to dynamically return velocity data such as winds and ocean currents from weather models and other datasets. It returns the data in formats optimized for visualizing in a web client including animated vector streamlines via gribjson. It includes built-in caching to reduce requests to external data sources and deliver quick results.
### Quick Start
Build
```
docker build --platform=linux/amd64 -t NASA-AMMOS/veloserver:latest .
```
Run
```
docker run --rm -p 8104:8104 -v ~/.ecmwfapirc:/root/.ecmwfapirc/ --name veloserver NASA-AMMOS/veloserver:latest
```
With SSL certs:
```
docker run --rm -p 8104:8104 -v ~/.ecmwfapirc:/root/.ecmwfapirc/ -v $(pwd)/certs:/certs --name veloserver NASA-AMMOS/veloserver:latest
```
With an external cache directory:
```
docker run --rm -p 8104:8104 -v ~/.ecmwfapirc:/root/.ecmwfapirc/ -v $(pwd)/certs:/certs -v $(pwd)/cache:/home/veloserver/cache --name veloserver NASA-AMMOS/veloserver:latest
```
To use ECMWF data, you need to have an ECMWF account with an appropriate [licence](https://www.ecmwf.int/en/forecasts/accessing-forecasts/licences-available) and your key added to `~/.ecmwfapirc`.
### Usage
Default server port is 8104. REST requests are structured in the form:
`////`
**model** - Available options: `gribjson`, `geojson`, `geotiff`, `png`
**format** - Available options: `ecmwf`, `gfs`, `hrrr`
**datetime** - In ISO8601 format: `YYYY-MM-DDThh:mm:ssZ`
**projwin** - Bounding box window in format: `ulx,uly,lrx,lry`
### Sample Requests:
HRRR global wind data for 2025-01-01 at midnight: http://localhost:8104/hrrr/gribjson/2025-01-01/
ECMWF localized wind data for 2025-01-01 at 06:00:00 UTC: http://localhost:8104/ecmwf/gribjson/2025-01-01T06:00:00Z/-118,34,-117,33/