Collect ocean measurements for location and timeframe. Integrates NDBC and TidesAndCurrents datasources.
Project description
seastate
Summary
Collect ocean measurement data based on location and timeframe
Features
- Closest active station is selected for each measurement
- Reaches into secondary historical archives when required
- Returns pandas dataframe compatible dictionaries
- Available measurements: Tide, wind, water temp, air temp, air pressure, conductivity and swell information
- Datasources: NOAA NDBC, NOAA Tides and Currents
Installing
pip install seastate
Quick start
from seastate import SeaState
from datetime import datetime
# make SeaState object for specific location
san_diego = SeaState(32,-117)
# retrieve measurements for today
san_diego_today = san_diego.from_date_range(datetime.today())
san_diego_today['tide'] -> [{t: time, v: value, s: stdev}]
san_diego_today['wind']-> [{t: time, v: value, d: direction, g: gust}]
san_diego_today['water_temp']-> [{t: time, v: value}]
san_diego_today['air_temp']-> [{t: time, v: value}]
san_diego_today['air_press']-> [{t: time, v: value}]
san_diego_today['wave']-> [{t: time, v: Wave Height, dpd: Dominant Period, mwd: dpd Direction}]
san_diego_today['conductivity']-> [{t: time, v: value}]
Measurement details for NDBC are here and for Tides and Currents here
API reference
Useful metadata can be accessed through the SeaState object
san_diego = SeaState(32,-117)
# Each measurement has an entry point
san_diego.tide
-> (api.mediator Object)
# The valid keys are:
valid_measurements = {
'tide',
'wind',
'water_temp',
'air_temp',
'air_press',
'wave',
'conductivity',
}
# the original lat/lon are available
san_diego.lat
-> 32
san_diego.tide._target_lon
-> 32
# the distance of each measurement station to target gps
san_diego.tide.distance
-> xyz kilometers
# and other useful exposed api keys
san_diego.tide.station.name
san_diego.tide.station.id
san_diego.tide.station.lat
san_diego.tide.station.lon
Measurement x API breakdown
Measurement | T&C | NDBC |
---|---|---|
tide | y | y |
wind | y | y |
water_temp | y | y |
air_temp | y | y |
air_press | y | y |
wave | y | |
conductivity | y |
More Examples
Measurements for past 30 days
from seastate import SeaState
from datetime import datetime, timedelta
start = datetime.today()-timedelta(days=30)
end = datetime.today()
san_diego_past_30 = san_diego.measurements_from_date_range(start,end)
Hourly Slices
san_diego_past_30_hourly = san_diego.hourly(start,end) # this returns a single reading per hour
# experimental feature
# no guarantee between APIs that readings will align or exist in all cases
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
seastate-0.2.1.tar.gz
(39.1 kB
view details)
Built Distribution
seastate-0.2.1-py3-none-any.whl
(40.1 kB
view details)
File details
Details for the file seastate-0.2.1.tar.gz
.
File metadata
- Download URL: seastate-0.2.1.tar.gz
- Upload date:
- Size: 39.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd692f17a485662f828388f11b922d0beb912dc636e4471e68708f32a25cecfd |
|
MD5 | 4d59759bb0144c26ed11e7f704226e5e |
|
BLAKE2b-256 | 74825f5c3aca00e54acaed8255455eb652eb156d75b547f3e915e6d73bace905 |
File details
Details for the file seastate-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: seastate-0.2.1-py3-none-any.whl
- Upload date:
- Size: 40.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d489b1b2f2f30b3b4445c6051227f8f6819c68b95a5047b6de1ec6914cfdd0d |
|
MD5 | f10d6a6a6a8f25c76f4852810bc0976b |
|
BLAKE2b-256 | 3a6753df2e9836cc261949200502649d8a0312dc82baa2199176c8fee64874e3 |