Skip to content

IOS-OSD-DPG/ios-inlets

 
 

Repository files navigation

Inlet Charts

This project is intended to update several inlet charts, as well as automate the process for the future. The charts are visible at

The backing data can be found at the waterproperties archive and can be downloaded to data/ for offline access:

$ wget -m -np --cut-dirs=2 -P data https://www.waterproperties.ca/osd_data_archive/

Inlet polygons defined using https://geojson.io

Dependencies

This project depends on (at least)

  • python version 3.9 or later
  • poetry
  • a C compiler
  • python development headers (python-dev or equivalent)

Once those are installed, you can run

$ poetry install --no-dev

to get all the rest of the dependencies. To get dependencies which are useful for development, simply run

$ poetry install

instead.

Usage

To get temperature, salinity, and dissovled oxygen plots of all the inlets defined in inlets.geojson, run

$ poetry run plot

To get monthly averages for temperature, salinity, and dissolved oxygen for all inlets, run

$ poetry run plot -a

To get annual plots for all inlets, run

$ poetry run plot -A

To produce a SQLite database of local or shared-drive archive data from Quatsino Sound and Muchalat, Alberni, and Effingham inlets; exclude "history" data files; and plot sampling statistics for these inlets, run

$ poetry run plot -d archive -i Muchalat Quatsino Alberni Effingham -H -s

replacing "archive" with the path to the archive.

GeoJSON Properties

When adding water bodies, certain property keys are picked up and added to the python object to influence its behaviour:

  • "name": Used as an identifier for the data, in plot titles, file names, sqlite tables, and for filtering. Required. Example: "name": "Saanich Inlet"
  • "area": Used to group inlets together for aggregate plots like the annual averages and annual anomalies charts. Required. Example: "area": "Salish Sea"
  • "boundaries": Used to define the three depth categories for the deep water plots. Required. Example: "boundaries": "[250, 350, 450]"
  • "shallow boundaries": Used to define the two depth categories for the shallow water plots, defaults to [0, 30, 100]. Example: "shallow boundaries": "[0, 30, 100]"
  • "limits": Used to define view limits for T, S, O charts, broken out by "deep" and "shallow". An empty list disables the feature. Example: "limits": { "oxygen": { "deep": [0, 5], "shallow": [] } }
  • "seasons": Used to define the seasons for seasonal trend removal charts. Expected to be the numbers 1..12 separated into a number of lists. Example: "seasons": [[1, 2, 3], [4, 5], [6, 7, 8, 9], [10, 11, 12]]

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%