VPTS CSV
On this page
VPTS CSV is a community developed data exchange format for biological signals detected by weather radars. VPTS (vertical profile time series) express the density, speed and direction of biological signals such as birds, bats and insects within a weather radar volume, grouped into altitude layers (height) and measured over time (datetime).
VPTS CSV is a tabular format (rows and columns), allowing data to be expressed as CSV files. Columns/fields are defined below using Table Schema properties. The format aims to be simple rather than comprehensive, containing the most important information, rather than all the available metadata.
VPTS CSV is maintained at https://github.com/aloftdata/vpts-csv.
Example
radar,datetime,height,u,v,w,ff,dd,sd_vvp,gap,eta,dens,dbz,dbz_all,n,n_dbz,n_all,n_dbz_all,rcs,sd_vvp_threshold,vcp,radar_latitude,radar_longitude,radar_height,radar_wavelength,source_file
KBGM,2016-09-01T00:02:00Z,0,,,,,,,TRUE,,,,,0,0,0,0,11,2,,42.19972,-75.98472,519,10.6,s3://noaa-nexrad-level2/2016/09/01/KBGM/KBGM20160901_000212_V06
KBGM,2016-09-01T00:02:00Z,200,,,,,,,TRUE,,,,,0,0,0,0,11,2,,42.19972,-75.98472,519,10.6,s3://noaa-nexrad-level2/2016/09/01/KBGM/KBGM20160901_000212_V06
KBGM,2016-09-01T00:02:00Z,400,,,,,,2.81,TRUE,30.8,2.8000000000000003,1.54,3.77,326,356,22485,28416,11,2,,42.19972,-75.98472,519,10.6,s3://noaa-nexrad-level2/2016/09/01/KBGM/KBGM20160901_000212_V06
KBGM,2016-09-01T00:02:00Z,600,4.14,3.84,12.17,5.65,47.2,2.8,FALSE,46.9,4.263636363636364,3.36,0.5,9006,13442,65947,104455,11,2,,42.19972,-75.98472,519,10.6,s3://noaa-nexrad-level2/2016/09/01/KBGM/KBGM20160901_000212_V06
Requirements
The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in RFC 2119.
- Data MUST include the names of the fields (e.g. as a header row).
- Data MUST refer to fields using the names defined below.
- Data MUST at least include the required fields (indicated with
*below). - Data MUST use this CSV dialect when expressed as CSV. See CSV dialect documentation.
nodatavalues SHOULD be expressed as empty values.undetectvalues SHOULD be expressed asNaN.- Field values SHOULD match the data types as defined below.
- Field values SHOULD meet the constraints as defined below, except for
NaNand empty values. - Data SHOULD be ordered by
datetime,heightandsource_filewithin aradar. - Data SHOULD have the same
heights for alldatetimes of aradar. - Fields SHOULD be organized in the order presented below.
Fields
Source: https://github.com/aloftdata/vpts-csv/blob/main/vpts-csv-table-schema.json
| Name | Definition | Type |
|---|---|---|
radar
*
|
Radar identifier. Constraints
Example: |
string |
datetime
*
|
Nominal date and time of the measurement, as an ISO 8601 formatted string in UTC. Constraints
Example: |
datetime |
height
*
|
Lower bound of the altitude bin in m above sea level. Constraints
Example: HGHT,
bin_lower
|
integer |
u
|
Ground speed component west to east in m/s. Constraints
Example: |
number |
v
|
Ground speed component south to north in m/s. Constraints
Example: |
number |
w
|
Vertical speed in m/s.
Example: |
number |
ff
|
Horizontal ground speed in m/s. Constraints
Example: speed
|
number |
dd
|
Ground speed direction in degrees clockwise from north. Constraints
Example: direction
|
number |
sd_vvp
|
VVP radial velocity standard deviation in m/s. Constraints
Example: rmse
|
number |
gap
|
Angular data gap detected.
Example: |
boolean |
eta
|
Animal reflectivity in cm^2/km^3. Constraints
Example: linear_eta
|
number |
dens
|
Animal density in animals/km^3. Constraints
Example: |
number |
dbz
|
Animal reflectivity factor in dBZ. Constraints
Example: |
number |
dbz_all
|
Total reflectivity factor (bio + meteo scattering) in dBZ. Constraints
Example: DBZH
|
number |
n
|
Number of data points used for the ground speed estimates (quantities
Example: |
integer |
n_dbz
|
Number of data points used for reflectivity-based estimates (quantities
Example: |
integer |
n_all
|
Number of data points used for the radial velocity standard deviation estimate (quantity
Example: |
integer |
n_dbz_all
|
Number of data points used for the total reflectivity estimate (quantity
Example: nbins
|
integer |
rcs
|
Radar cross section per bird in cm^2. Constraints
Example: |
number |
sd_vvp_threshold
|
Lower threshold in radial velocity standard deviation (profile quantity
Example: |
number |
vcp
|
Volume coverage pattern, unitless. Documented on Wikipedia for NEXRAD. Also known as:scan_strategy
|
integer |
radar_latitude
*
|
Latitude of the radar location in decimal degrees, using the WGS84 datum. Constant for all records from the same
Example: |
number |
radar_longitude
*
|
Longitude of the radar location in decimal degrees, using the WGS84 datum. Constant for all records from the same
Example: |
number |
radar_height
*
|
Height of the center of the radar antenna in m above sea level. Constant for all records from the same
Example: |
integer |
radar_wavelength
*
|
Wavelength of the radar in cm. Constant for all records from the same
Example: |
number |
source_file
|
URL or path to the source file from which the data were derived. Constraints
Example: |
string |