Swiss Federal Institute for Forest, Snow and Landscape Research WSL


Input data

Required input data

We provide input data for Switzerland, consisting of a climate change scenario, parts of the Swiss soil suitability map for calculating the water storage capacity ("bucketsize") and the Swisss areal statistics for generating land use masks ("stockability"). The actual input data, the bioclimatic variables, are calculated automatically from this.
However, you can also enter your own input data for slope, aspect, temperature, precipitation and water storage capacity ("bucketsize") as well as stockability in the user interface. If you want to carry out a simulation with temporally and spatially constant inputs, this is very simple. Under Simulation/Study area and Bioclimate/Create new bioclimate, you can use the "constant" tab for each data type and simply enter a constant value. Otherwise, you must define the input files and their storage locations under Input data in the "Input" area. There you can enter the paths to other input files for temperature, precipitation, DHM, slope, aspect, water storage capacity and tillability. This data is then harmonised in scope and resolution by the TreeMig-R-package functions called up in the user interface.

Table 1: Formats and ranges of input data. Netcdf and raster files must be readable by the terra package, text files with the data.table::fread function (e.g. .txt, .csv, .xlxs).



Temporal resolution

Value range





monthly mean

>= -272

Raster/Netcdf, text (lon,lat,year, T1:T12), const.




montly sum

>= 0

Raster/Netcdf, text (lon,lat,year, P1:P12), const






Raster/Netcdf, text, (lon,lat,slope), const






Raster/Netcdf, text, (lon,lat,aspect), const

Direction (Compass direction)

Digitale elevation model (DEM)




must be readable with the terra package

For applying elevation in the plots






Swiss soil fertility map database, Raster/Netcdf, text, (lon,lat,bucketsize), const

Direct oder derived from Swiss soil fertility map




0 not stockable,
1 stockable

NOAS04, Raster, text, shapefile (lon, lat, stockability)

Indicates whether the abiotic environment (except climate) and land use permit trees. Either direct or derived from Swiss areal statistics (NOAS04).

Additional spatio-temporal input data

In addition to the bioclimate and stockability, you can also give the simulation 4 additional temporally and/or spatially varying input variables (Table 2). However, you must provide these yourself. To do this, add additional columns to the bioclimate file. Rename the bioclimate file and place it in folder E of the new simulation that you want to run. Then use this bioclimate file in your simulations.

Tabelle 2:  Further spatio-temporal input data, that can be changed in the  "TM-R-script".


Column name

Value range


(Large scale) disturbance intensity (prescribed)




Browsing pressure by herbivores




Drought stress for germination




Nutrient availability


>0, 300 is very high

t  ha-1 


Species parameters

The parameters of the species determine their properties in the simulations. An explanation of the species parameters can be found here. The parameters are defined via a .txt file, with each line corresponding to a species. The parameter files must be located in the P folder of the TMEnvironment. Examples of species parameter values can be found in the TMEnvironment of the example setup. These represent the 30 most common tree species in Central Europe.

Output files

The simulation results are saved either in a single Netcdf file or as separate text (.txt) files.

Each of the text files contains columns for the relative coordinates lat and lon (starting at 0 up to the maximum number of rows and columns of the simulation), the simulation year, starting at zero up to the number of simulation years, and then for each species the output variable. The last column contains the sum of all species. The units of the variables are given in the table below.

The default outputs are given as a sum over all height classes. If "Write species height structures" is selected, the tree numbers per height class are saved in a separate file for each height class in the folder HCL. 

The netcdf file is constructed accordingly with lat, lon, year, height (if selected) and species as dimensions (but saved as variables) and the selected variables (e.g. biomass and LAI) as actual variables.

The "heights.txt" file in the HCL folder contains the lower limits of the height classes in metres, starting with the lowest height class 0 (the seedlings, first line) up to height class 15 (last line). Note that the columns lat, lon, year are meaningless here, and the height class heights are the same for all species.
In HCL, further lookup tables are output for the species-specific biomass, dbh, lai and seed production per tree in the height classes. Here too, the height classes range from 0 to 15, and lat, lon and year are dummy columns. By multiplying the values of these lookup tables by the number of trees per height class, biomass, DBH, basal area, LAI and seed production per height class can be calculated for each species and height class.

Fortran writeOutput%


Explanation  write…





total (i.e.over all height classes) species biomasses





total species numbers





species height structures, one file per height class


#/patch-area and height class



total species seed number





total number of species antagonists





pollen percent of the species





total species LAI; double sided  leaf area index





total species basal area (at 1.37m height)





total NPP of species; rough estimate as difference of biomass betwen the years.





total ingrowth of species above   1.37 m





biodiversity; according to Shannon-Weaver





light distribution; relative frequencies of the light classes in each height class




Statefiles are .txt files to provide a snapshot of the state of the simulation. They are written and read in a fixed format. If you want to provide statefiles for initialisation yourself, you must adhere to this format.

  • Column 1: Species
  • Column 2: Year of the state file output or input. When you start a simulation, this year should be the first year of your simulation.
  • Column 3, 4: relative latitude and longitude coordinates (i.e. starting with 0)
  • Column 5: # number of seeds per patch (833 m2)
  • Column 6: Population density of the seed antagonists. Only needed if antagonist dynamics are simulated, which is rarely the case; set the value to any number.
  • Column 7: Index of the highest height class for this species. You can see this in the file "heights.txt", in the line with the last non-zero value.
  • Column 8: Number of trees per area size (833 m2) of the species in the 0th height class
  • Column 9: Number of trees per area size (833 m2) of the species in the 1st height class
  • etc., until the highest height class of this species is reached.

Immigration files

Immigration files are .txt files that indicate when and where which species migrates into the simulation area. They are read in a specific format. If you want to provide an immigration file, make sure you adhere to this format.

  •     Line 1: any text or empty
  •     Line 2: Duration of the individual immigration events.
  •     Line 3: any text or empty
  •     from line 4: for all species, one line per species
    • Column 1: Species
    • Column 2: Number of immigration events
    • from column 3: three values for each immigration event: year (current year, e.g. 2001), coordinates (lat, long) of the cell, between 0. and 1., where (0.,0.) is the lower left, (1.,1.) the upper right corner of the simulation area.

Example input data for Switzerland

TreeMig requires high-resolution input data on climate, slope and aspect, soil and land use. Here we describe the data sources and how the example datasets in the TMInputData folder were created from them.

Climate data

The CH2018 Climate Scenarios for Switzerland[1][2] provide daily time series at individual Swiss stations and on a regular 2km grid (DAILY-LOCAL and DAILY-GRIDDED)[3]. Both data sets include data of 68 EURO-CORDEX simulations for the scenarios RCP2.6, RCP4.5 and RCP8.5. All data are available under the Creative Commons license CC BY 4.0.

Since a higher resolution of 200m was required for a sample data set, we used a 200m digital elevation model (see below) and the interpolation software Daymet by Thornton, et al. (1997)[4] to interpolate the DAILY-LOCAL data from the individual Swiss stations of the simulation CLMCOM_CCLM4_MPIESM_EUR11_RCP85.

The new 200m daily gridded data were converted to NetCDF format and then aggregated to monthly mean values (temperatures) and totals (precipitation) using the Climate Data Operators CDO.

Digital elevation model, slope and aspect

The digital elevation model DHM25/200 [5] by the Federal Office of Topography swisstopo was first reprojected to the current Official Swiss reference system CH1903+. The elevations were rounded to whole meters. The resulting DEM was then cut out along a 1km buffer outside the Swiss border and exported to GeoTIFF format. Aspect and slope were derived from the DEM using ESRI’s ArcGIS software.

Soil data

To derive the bucketsize required in TreeMig, absolute values of the properties water storage  “WASSERSPEI”  and water logging “VERNASS” of the Swiss Soil Suitability Map [6] [7] were used in

\( \begin{equation} bucketsize= \begin{cases} 0.78+5.43 * WASSERSPEI , & \text{if}\ VERNASS<4 \\ 10.78+5.43 * WASSERSPEI, & \text{otherwise} \end{cases} \end{equation} \)

Land use/cover data for Switzerland

TreeMig uses a stockability mask to hide grid cells that cannot be forested, e.g. because they are under a different land use. This stockability can be derived for Switzerland from land use/land cover data of the Swiss areal statistics NOAS04, 72 categories [8].

References of example input data

  • [1] CH2018 (2018), CH2018 – Climate Scenarios for Switzerland, Technical Report, National Centre for Climate Services, Zurich, 271 pp. ISBN: 978-3-9525031-4-0.
  • [2] CH2018 Project Team (2018): CH2018 - Climate Scenarios for Switzerland. National Centre for Climate Services. doi: 10.18751/Climate/Scenarios/CH2018/1.0
  • [3] Kotlarski S., Rajczak J. (2018): CH2018 - Climate Scenarios for Switzerland, Documentation of the localized CH2018 datasets - Transient daily time series at the local scale: DAILY-LOCAL, DAILY-GRIDDED.
  • [4] Thornton, P.E., Running, S.W., White, M.A. (1997): Generating surfaces of daily meteorological variables over large regions of complex terrain. J. Hydrol. 190: 214-251.
  • [5] © Federal Office of Topography swisstopo.
  • [6] © Bundesamt für Statistik (BFS), GEOSTAT, 2020, Bodeneignungskarte der Schweiz, Geodaten.
  • [7] Frei, E., U. Voegt, R. Flueckiger, H. Brunner, F. Schai, and R. Haeberli. 1980. Bodeneignungskarte der Schweiz. Eidg. Forschungsanstalt für landwirtschaftlichen Pflanzenbau, Eidg. Forschungsanstalt für Wald, Schnee und Landschaft (WSL), Bern.
  • [8] © BFS 1992/1997 Arealstatistik der Schweiz. Bundesamt für Statistik, editor, CH-Neuchatel.