Skip to content

New South Wales Forest Observatory

australia vegetation communities

Scripts, notebooks, figures & docs for the New South Wales Forest Observatory expansion.


Documentation: docs.salo.ai/forestobs-nsw

Source code: salosciences/forestobs-nsw


Introduction

This is a repo to store one-off or in-progress workflows for generating datasets and figures for the expansion of the Forest Observatory into New South Wales.


Data storage

We've set up a dedicated GCS bucket for storing data:

gs://nsw-scratch/

Store and access geospatial/other big data here instead of tracking it with this repository.


Software environment

There's no central software environment we're setting up for everyone to use - each of us has separate workflows and dependencies, and it doesn't seem necessary to standardize across them.

But we have created two files that contain useful packages for accessing data from cloud storage or for creating documentation. The first is environment-dev.yml, which contains useful conda packages like jupyter and fsspec/gcsfs for cloud storage access. Run this from inside your environment:

mamba install --file environment-dev.yml -c conda-forge

There are some additional python packages for generating documentation. From inside your environment:

pip install -r requirements-dev.txt

Documenting your work

Documentation for most scripts is not required. If there are workflows that will be useful for others to know about, or decisions made during data processing, it would be helpful to document these.

There's a documentation system setup through mkdocs. You can write documentation via Markdown files, or you could even just directly render Jupyter Notebooks.

Run mkdocs serve to serve the documentation in your browser.

See the mkdocs.yml file in the base of this repository for the layout of the documentation tree.


Documenting jupyter notebooks

You can render Jupyter Notebooks in the docs page. I've found the easiest way to do that is to create a symbolic link from inside the docs/ directory to the notebooks/ directory from the base of the repository.

You can see an example of this in docs/notebooks/visualize_class_env_patterns.ipynb, which is just a symbolic link to notebooks/visualize_class_env_patterns.ipynb.

Unfortunately, you have to manually create a symbolic link and commit it to github for it to render. This is because mkdocs only renders files in the docs/ directory, though I think we could probably change this as a config option in mkdocs.yml. Just haven't thought hard about how.


Branching

Please commit your work on a separate branch and then merge it into main. It's easier to manage a bunch of merges than it is to have a bunch of people all committing to the same branch.

Back to top