The LANDIS-II forest landscape model simulates forests (both trees and shrubs) at decadal to multi-century time scales and spatial scales spanning hundreds to millions of hectares. The model simulates change as a function of growth and succession and, optionally, as they are influenced by range of disturbances (e.g., fire, wind, insects), forest management, land use change. Climate and climate change affect processes throughout the model. LANDIS-II is highly customizable with dozens of libraries ('extensions') to choose from.
These instructions are intended to help you set up and use LANDIS-II on the FASRC Cannon cluster. LANDIS-II is installed and run on Cannon with the help of Singularity.
First we need to build a Singularity image with the environment required to install the Linux instance of LANDIS-II. The Singularity definition file Singularity.def
is based on a Docker
file taken from here. The Docker file can be converted to a Singularity recipe with the help of Spython. Then, the actual Singularity image can be built with Sylabs Cloud. Please follow the instructions on using Singularity on the FASRC cluster (under Building Singularity images with Sylabs Cloud), e.g.,
# Request an interactive node to use a compute node
$ salloc -p test --time=1:00:00 --mem=4000
# Make sure you are in the directory where your "Singularity.def" is located
$ ls -l
total 2660840
-rw-r--r-- 1 jharvard jharvard_lab 438 Jun 10 13:58 Singularity.def
# Login to Sylabs cloud: you will have to paste your copied token after the prompt
$ singularity remote login
Generate an access token at https://cloud.sylabs.io/auth/tokens, and paste it here.
Token entered will be hidden for security.
Access Token:
INFO: Access Token Verified!
INFO: Token stored in /n/home01/jharvard/.singularity/remote.yaml
# Build the container
$ singularity build --remote Singularity.simg Singularity.def
(1) Download the code
$ git clone https://github.com/LANDIS-II-Foundation/Core-Model-v7-LINUX.git
(2) Go to the source directory
$ cd <path to>/Core-Model-v7-LINUX/Tool-Console/src
(3) Build the code
$ singularity exec <path to the Singularity image>/Singularity.simg dotnet build -c Release
Microsoft (R) Build Engine version 16.2.37902+b5aaefc9f for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
Restore completed in 30.66 sec for /n/sw/src/CENTOS6-PLAMEN/LANDIS/2022/vol3/Core-Model-v7-LINUX/Tool-Console/src/Console.csproj.
Restore completed in 30.66 sec for /n/sw/src/CENTOS6-PLAMEN/LANDIS/2022/vol3/Core-Model-v7-LINUX/Tool-Extension-Admin/src/Extension_Admin.csproj.
Extension_Admin -> /n/sw/src/CENTOS6-PLAMEN/LANDIS/2022/vol3/Core-Model-v7-LINUX/build/Release/Landis.Extensions.dll
Console -> /n/sw/src/CENTOS6-PLAMEN/LANDIS/2022/vol3/Core-Model-v7-LINUX/build/Release/Landis.Console.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:59.69
The compiled code will be in:
$ ls -l <path to>/Core-Model-v7-LINUX/build/Release
total 984
-rw-r--r-- 1 pkrastev rc_admin 66911 Nov 18 14:46 Landis.Console.deps.json
-rw-r--r-- 1 pkrastev rc_admin 9728 Nov 18 14:46 Landis.Console.dll
-rw-r--r-- 1 pkrastev rc_admin 990 Nov 18 14:40 Landis.Console.dll.config
-rw-r--r-- 1 pkrastev rc_admin 1700 Nov 18 14:46 Landis.Console.pdb
-rw-r--r-- 1 pkrastev rc_admin 216 Nov 18 14:46 Landis.Console.runtimeconfig.dev.json
-rw-r--r-- 1 pkrastev rc_admin 146 Nov 18 14:46 Landis.Console.runtimeconfig.json
-rw-r--r-- 1 pkrastev rc_admin 57544 Nov 18 14:46 Landis.Extensions.deps.json
-rw-r--r-- 1 pkrastev rc_admin 16384 Nov 18 14:46 Landis.Extensions.dll
-rw-r--r-- 1 pkrastev rc_admin 158 Nov 18 14:40 Landis.Extensions.dll.config
-rw-r--r-- 1 pkrastev rc_admin 4824 Nov 18 14:46 Landis.Extensions.pdb
-rw-r--r-- 1 pkrastev rc_admin 216 Nov 18 14:46 Landis.Extensions.runtimeconfig.dev.json
-rw-r--r-- 1 pkrastev rc_admin 146 Nov 18 14:46 Landis.Extensions.runtimeconfig.json
(3) Compiling extensions
The most straightforward way to compile and install any extensions is to compile the extensions on a PC machine and then copy these to
<path to>/Core-Model-v7-LINUX/build/extensions
Below is an example based on Base-Fire-4.0. The relevant files are in the test directory.
#!/bin/bash
#SBATCH -J landis_test
#SBATCH -o landis_test.out
#SBATCH -e landis_test.err
#SBATCH -N 1
#SBATCH -c 1
#SBATCH -t 0-00:30
#SBATCH -p test
#SBATCH --mem=4000
# Setup
export LANDIS_ROOT=/n/home06/pkrastev/src/LANDIS/2022
export LANDIS_CONSOLE=${LANDIS_ROOT}/vol2/Core-Model-v7-LINUX/build/Release/Landis.Console.dll
# Run the program
srun -c 1 singularity exec ${LANDIS_ROOT}/Container/Singularity.simg dotnet $LANDIS_CONSOLE scenario_s1e1.txt
NOTE: The environment variables LANDIS_ROOT and LANDIS_CONSOLE need to be set depending on the actual location of the compiled code.
If the above script is named run.sbatch
, the job is submitted to the queue with:
$ sbatch run.sbatch
$ cat landis_test.out
LANDIS-II 7.0 (7)
Loading scenario from file "scenario_s1e1.txt" ...
Initialized random number generator with seed = 823,851,965
Loading species data from file "./species_s1e1.txt" ...
Loading ecoregions from file "./ecoregions_s1e1.txt" ...
Initializing landscape from ecoregions map "./ecoregions_s1e1.gis" ...
Cell length = 100 m, cell area = 1 ha
Map dimensions: 99 rows by 99 columns = 9,801 cells
Sites: 9,801 active (100.0%), 0 inactive (0.0%)
reading in ecoregion from ./ecoregions_s1e1.gis
Loading Age-only Succession extension ...
Registering Data: Succession.AgeCohorts.
Loading dynamic input data from file "./age-only-succession_DynamicInputs_s1e1.txt" ...
Dynamic Input Parser: Add new year = 0.
Registering Data: TimeOfLastSuccession.
Registering Data: Shade.
Creating Dispersal Neighborhood List.
Dispersal: NeighborRadius=5050, CellLength=100, numCellRadius=50
Loading initial communities from file "./age-only-succession_InitialCommunities_s1e1.txt" ...
Reading initial communities map "./age-only-succession_InitialCommunities_s1e1.gis" ...
Loading Base Fire extension ...
Registering Data: Fire.Severity.
Registering Data: Fire.TimeOfLastEvent.
Loading FireRegion data...
Opening and Initializing Fire log files "fire/base-fire-log.csv" and "fire/base-fire-summary-log.csv"...
Generating event table...
Generating summary table...
Loading Output Max Species Age extension ...
Using the following extensions ...
Extension Name Extension Filename
-------------- ------------------
Age-only Succession age-only-succession_SetUp_s1e1.txt
Base Fire base-fire_SetUp_s1e1.txt
Output Max Species Age output_MaxSppAge.txt
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-0.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-0.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-0.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-0.gis
Current time: 5
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-5.img
Running Age-only Succession ...
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-5.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-5.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-5.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-5.gis
Current time: 10
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-10.img
Running Age-only Succession ...
growing cohorts ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Computing shade ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Cohort reproduction ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-10.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-10.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-10.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-10.gis
Current time: 15
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-15.img
Running Age-only Succession ...
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-15.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-15.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-15.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-15.gis
Current time: 20
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-20.img
Running Age-only Succession ...
growing cohorts ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Computing shade ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Cohort reproduction ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-20.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-20.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-20.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-20.gis
Current time: 25
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-25.img
Running Age-only Succession ...
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-25.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-25.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-25.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-25.gis
Current time: 30
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-30.img
Running Age-only Succession ...
growing cohorts ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Computing shade ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Cohort reproduction ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-30.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-30.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-30.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-30.gis
Current time: 35
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-35.img
Running Age-only Succession ...
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-35.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-35.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-35.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-35.gis
Current time: 40
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-40.img
Running Age-only Succession ...
growing cohorts ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Computing shade ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Cohort reproduction ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-40.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-40.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-40.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-40.gis
Current time: 45
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-45.img
Running Age-only Succession ...
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-45.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-45.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-45.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-45.gis
Current time: 50
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-50.img
Running Age-only Succession ...
growing cohorts ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Computing shade ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Cohort reproduction ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-50.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-50.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-50.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-50.gis
Current time: 55
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-55.img
Running Age-only Succession ...
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-55.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-55.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-55.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-55.gis
Current time: 60
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-60.img
Running Age-only Succession ...
growing cohorts ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Computing shade ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Cohort reproduction ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-60.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-60.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-60.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-60.gis
Current time: 65
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-65.img
Running Age-only Succession ...
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-65.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-65.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-65.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-65.gis
Current time: 70
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-70.img
Running Age-only Succession ...
growing cohorts ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Computing shade ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Cohort reproduction ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-70.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-70.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-70.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-70.gis
Current time: 75
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-75.img
Running Age-only Succession ...
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-75.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-75.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-75.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-75.gis
Current time: 80
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-80.img
Running Age-only Succession ...
growing cohorts ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Computing shade ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Cohort reproduction ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-80.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-80.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-80.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-80.gis
Current time: 85
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-85.img
Running Age-only Succession ...
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-85.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-85.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-85.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-85.gis
Current time: 90
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-90.img
Running Age-only Succession ...
growing cohorts ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Computing shade ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Cohort reproduction ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-90.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-90.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-90.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-90.gis
Current time: 95
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-95.img
Running Age-only Succession ...
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-95.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-95.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-95.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-95.gis
Current time: 100
Running Base Fire ...
Processing landscape for Fire events ...
dataset created: fire/base-fire-severity-100.img
Running Age-only Succession ...
growing cohorts ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Computing shade ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Cohort reproduction ...
% done: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
|----|----|----|----|----|----|----|----|----|----|
Progress: +++++++++++++++++++++++++++++++++++++++++++++++++++
Running Output Max Species Age ...
Writing maximum age map for abiebals to outputs/max-age-selected-spp/abiebals-100.gis ...
dataset created: outputs/max-age-selected-spp/abiebals-100.gis
Writing maximum age map for all species to outputs/max-age-selected-spp/AllSppMaxAge-100.gis ...
dataset created: outputs/max-age-selected-spp/AllSppMaxAge-100.gis
Model run is complete.