smnorris / bcfishpass

Model and monitor aquatic habitat connectivity in BC. Tools to plan and prioritize the assessment and remediation of barriers.
https://smnorris.github.io/bcfishpass
Apache License 2.0
8 stars 13 forks source link
british-columbia connectivity culverts digital-road-atlas dra fish-habitat-models fish-observation fish-passage freshwater-atlas fwa gradient-barriers pscis restoration roads stream-network

bcfishpass

bcfishpass is a collection of scripts to create and maintain an aquatic connectivity / fish passage database for British Columbia to:

See the Documentation for details.

General requirements

Setup / Usage

bcfishpass is a collection of shell/sql/Python scripts. To download and use the latest:

git clone https://github.com/smnorris/bcfishpass.git
cd bcfishpass

Install required tools using your preferred method. For local development, conda can be simplest:

conda env create -f environment.yml
conda activate bcfishpass

A Docker image is also provided:

docker pull ghcr.io/smnorris/bcfishpass:main

If the database you are working with does not already exist, create it:

createdb bcfishpass

All scripts presume that the DATABASE_URL environment variable points to your database. For example:

export DATABASE_URL=postgresql://postgres@localhost:5432/bcfishpass

Load FWA:

git clone https://github.com/smnorris/fwapg
cd fwapg
make --debug=basic

Load/run bcfishobs:

git clone git@github.com:smnorris/bcfishobs.git
cd bcfishobs
make --debug=basic

Create db schema:

jobs/db_setup

Load source data:

jobs/load_static                     
jobs/load_monthly
jobs/load_weekly
jobs/load_modelled_stream_crossings

Run the model:

jobs/model_stream_crossings    # (optionally - this is only needs to be run on the primary provincial bcfishpass database)
jobs/model_prep
jobs/model_run

Backups

Backup strategies will vary but it can be useful to dump the entire database to file.
This appends the date and commit tag date to the file name:

    pg_dump -Fc $DATABASE_URL > bcfishpass.$(git describe --tags --abbrev=0).$(date +%F).dump