Subsample ocean climatologies and reference data


Keywords
WOA, World, Ocean, Atlas, climatology, oceanography, ETOPO, temperature, salinity, bathymetry, CARS
License
BSD-3-Clause
Install
pip install oceansdb==0.8.15

Documentation

OceansDB

https://readthedocs.org/projects/oceansdb/badge/?version=latest

Package to subsample, or interpolate, climatologies like WOA to any coordinates.

This package started with functions to obtain climatological values to compare with measured data, allowing a quality control check by comparison. It hence needed to work for any coordinates requested. I split these functionalities from CoTeDe into this standalone package to allow more people to use it for other purposes.

Features

  • If the database files are not localy available, automatically download it.
  • Extract, or interpolate if necessary, climatologic data on requested coordinates;
    • Can request a single point, a profile or a section;
    • Ready to handle -180 to 180 or 0 to 360 coordinate system;
  • Ready to use with:
    • World Ocean Atlas (WOA)
    • CSIRO Atlas Regional Seas (CARS)
    • ETOPO (topography)

Quick howto use

Inside python:

>>> import oceansdb
>>> with oceansdb.WOA() as db:

Find out what is available:

>>>     db.keys()

Average temperature at one point:

>>>     t = db['sea_water_temperature'].extract(var='mean', doy=136.875, depth=0, lat=17.5, lon=-37.5)

A profile of salinity:

>>>     t = db['sea_water_salinity'].extract(var='mean', doy=136.875, depth=[0, 10, 15, 18], lat=17.5, lon=-37.5)

A full depth section of temperature:

>>>     t = db['sea_water_temperature'].extract(var='mean', doy=136.875, lat=17.48, lon=[-39, -37.5, -35.2])

Using CARS instead of WOA:

>>> with oceansdb.CARS() as db:
>>>     t = db['sea_water_temperature'].extract(var='mean', doy=136.875, lat=17.48, lon=[-39, -37.5, -35.2], depth=[0,10,120,280])

Or to get topography for one point from the 1 min arc resolution:

>>> with oceansdb.ETOPO(resolution='1min') as db:
>>>     h = db['topography'].extract(lat=17.5, lon=0)