This library analyses GBIF marine occurrence records against historical ships log data from International Comprehensive Ocean-Atmosphere Data Set (ICOADS) and OldWeather, to correct missing geospatial data (collection event date, latitude and longitude).
A CLI interface performs these analyses and outputs a DarwinCore archive file for each identified voyage and occurrences collected on the expedition. Detailed instructions for the CLI is provided below.
A React & DeckGL app is included with the CLI, to visualise the voyages and explore occurrences collected on each trip. This visualisation is available online.
yarn start
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
yarn test
Launches the test runner in the interactive watch mode.
yarn build
Builds the app for production to the build
folder.
git clone https://github.com/benscott/voyager.git
conda env create -f environment.yml
conda activate voyager
python setup.py install
Download occurrences from GBIF as a Darwin Core Acrhive (NOTE: this will not work with the 'Simple' data export.)
To save time running these scripts, it is recommended a subset of GBIF data is downloaded, with dates matching those of the voyages to be analysed. For example, the visualisation uses records collected from 1750 to 1901.
ICOADS data is available to download from https://www.ncei.noaa.gov/data/marine/icoads3.0/ in International Maritime Meteorological Archive (IMMA) Format.
These are organised by month and year, and it is recommended only including the years matching the time period to be analysed. Each monthly .imma
file should be placed in a directory together.
Some Old Weather .imma files are included in this repsository, and many others can be found on their Github repository. Additional .imma files should be placed in directory input/imma
.
The records from Old Weather is included in the ICOADS dataset but inclusion of the vessel name is patchy, so using these is recommended.
The location of these data sources can be configured in voyager/config.py
.
Voyager provides three CLI interfaces
Analyse GBIF occurrences, against IMMA Marine Observations. Outputs DwC-A.
voyager-cli analyse --limit 5
Search ICOADS data for vessels.
voyager-cli icoads-search --vessel-name Triton --years 1880-1882
Export ICOADS log data as an IMMA file for an indivual vessel.
voyager-cli icoads-to-imma --vessel-name Triton --years 1880-1882
Convert DwC-A into javascript source files, for the data visulisation react app.
voyager-cli app --vessel-name challenger