/dvm-dos-tem

A process based Dynamic Vegetation, Dynamic Organic Soil, Terrestrial Ecosystem Model.

Primary LanguageJupyter NotebookMIT LicenseMIT

README for dvm-dos-tem

DOI Slack

The dvm-dos-tem (dvmdostem) model is a process based bio-geo-chemical ecosystem model that focuses on C and N dynamics as well as soil thermal dynamics in high latitude ecosystems.

For more information see the User Guide.

For questions and to get involved please see the Github Issues and Github Discussions.

Note

Whats with the name? dvm-dos-tem is short for "Dynamic Vegetation [Model] Dynamic Organic Soil Terrestrial Ecosystem Model". Orignally the model was simply "TEM", and as more logic and capabilities have been added, the name has grown. We still frequently use simply "TEM" because it is less cumbersome for writing and typing. In most context TEM, dvmdostem, dvm-dos-tem, DVM-DOS-TEM and DMVDOSTEM are synonomous and can be used interchangably.

Quickstart

For users who have Docker and Git installed.

More details are available in the User Guide - Basic Model Setup and Run.

The default settings will run the model in the source code directory, using the sample data that is included with the repository in the demo-data/ directory. The run will output a single variable (GPP), and will run for 2 pixels.

  • Clone the repository (git clone https://github.com/uaf-arctic-eco-modeling/dvm-dos-tem.git).
  • Change into directory (cd dvm-dos-tem).
  • Get some input data (optional).
  • Make Docker usable by non-root user (optional).
  • Build Docker images (./docker-build-wrapper.sh cpp-dev && ./docker-build-wrapper.sh dev).
  • Setup your environment variables in .env file for V_TAG, DDT_INPUT_CATALOG, and DDT_WORKFLOWS (optional).
  • Start Docker containers (V_TAG=$(git describe) docker compose up -d dvmdostem-dev).
  • Obtain shell in container (docker compose exec dvmdostem-dev bash)
  • Compile code (develop@56ef79004e31:/work$ make)
  • Setup working directory (optional).
  • Change into working directory (optional) .
  • Adjust as needed (optional):
    • Your run mask (run-mask.nc)
    • The outputs you would like to generate (output_spec.csv)
    • Any other configuration items (config.js)
    • Any custom parameters (parameters/)
    • Any custom target data (calibration/calibration_targets.py).
  • Start the model run (develop@56ef79004e31:/work$ ./dvmdostem --log-level monitor -p 100 -e 1000 -s 250 -t 115 -n 85).
  • Analyze run (develop@56ef79004e31:/work$ ./scripts/plot_output_var.py --yx 0 0 --file output/GPP_yearly_tr.nc). GPP_plot_output_var

Warning

Sept 2022 - We are in the process of updating the entire documentation system. There is still info scattered across this README, the wiki, a Google Doc and the Sphinx system but we are working on consolidating the info into primarily the Sphinx system (the User Guide).