https://github.com/StefanKruse/LAVESI
Raw File
Tip revision: 422dc634a9d47e36c2e5c3a78906901ab6f2cdc3 authored by Stefan Kruse on 30 March 2022, 09:03:58 UTC
Create LICENSE
Tip revision: 422dc63
parameters.txt
//	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	//
//	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	//
// 0. General functionality: Display, output and submodule switches
//	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	//
// 0.1 Display
// 0.2 Output
// 0.3 Submodules
// 0.4 Computation environment
//	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	//

// 0.1 -----> Display in console
parameterinputvis=0;				// (int 0,1) show read-in of parameters
yearlyvis=0;						// (int 0,1) yearly steps => year,basal area,seed information,HeightClassesDistr
qualiyearlyvis=0;					// (int 0,1) year characteristics => Weather info: AAT,Growth,...
seedwinddispersalvis=0;				// (int 0,1) seed dispersal
mortvis=0;							// (int 0,1) mortality of trees >200 cm
computationtimevis=1;				// (int 0,1) include visualisation and output of computation time a function of the plot size and number of trees

// 0.2 -----> Output
dataoutput=1;						// (int 0,1) write data to files 
outputmode=1;  						// (int) choice of data output files 
										// 0=="full"
										// 1=="normal"
										// 2=="OMP only => currencies + computation time"
outputall=1;						// (int 0,1) sampling area determination
										// 0==only central 20x20 m area 
										// 1==output of all tree data on the plot

// 0.3 -----> Submodules
thawing_depth=1;					// (int 0,1) Active layer calculation
vegetation=0;						// (int 0,1) Representation of an organic layer


// 0.4 Computation environment
omp_num_threads=1;					// (int 1,system specific maximum) Number of cores used for computation, set internally on runtime by "omp_set_num_threads(omp_num_threads)"
									// ... the dynamic teams are disabled for multi-core processing by "omp_set_dynamic(0)" in the source files


//	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	//
//	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	//
// 1. Simulation set up												//
//	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	//
// 1.1 Weather data													//					
// 1.1.1 Temperature and precipitation								//
// 1.1.1 Wind 														//
// 1.2 Simulation run characteristics								//
// 1.3 Plot number													//
// 1.4 Dispersal 													//
// 1.4.1 Seed dispersal type and handling + seed introduction 		//
// 1.4.2 Pollen dispersal											//
// 1.5 Growth function parameters and influences					//
//	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	//

// 1.1 -----> Weather data
// 1.1.1 -----> Temperature and precipitation
weatherchoice=24;					// (int) Type of weather forcing series 
										//  22==TY02
										//  22==CH17
										//  23==CH02
										//  24==CH06
										// 	    ... the site IDs refer to field locations visited at the southern Taymyr-Peninsula
precweather=1;						//  (int 0,1,2) Influence of precipitation on maximum tree diameter growth 
										// 0==not at all
										// 1==linearly if smaller than threshold
										// 2==parabola function with a global maximum at the optimum

evapod=1.5;							// (double) Evapotranspiration based on Dolmann, 2004) 
weathercalcgradient=0;				// (int 0,1) Approximation of temperature and precipitation values on a gradient depending on their latidudinal position
										// 0==without a gradient
										// 1==calculation of a linear gradient
nposmax=72.267;						// ... (double) (IF weathercalcgradient==1) the northernmost plot's position, if more than one plot is to be simulated along a transect (site ch17 is e.g. 72.2625° N)
nposmin=72.2625; 					// ... (double) (IF weathercalcgradient==1) the southernmost plot's position
										// 111 km == 1 decimal degree
lineartransect=0;					// (int 0,1) approximation of temperature and precipitation values on a south-north gradient on each simulated plot
										// 0==synchronous forcing per plot
										// 1==linearly changing from south to north

// 1.1.1 -----> Wind
windsource=1;						// (int) source of wind data
										// 0==random dispersal direction and not depending on wind speed
										// 1==EraInterim
										// 4==North Wind
										// 5==South Wind
									
// 1.2 -----> Simulation run characteristics
simduration=80;						// (int) duration of the simulation period depending on the available weather data series
runs=1;								// (int) number of repeated simulations
ivortmax=1000;						// (int) spin up phase before the simulation period and maximum simulation years when stabilperiod==1 (s. below)
										//   0==without spin up phase
										// >10==with spin up phase
stabilperiod=0;						// (int 0,1) simulate a stabilization phase that ends when the simulated population falls below a certain threshold (stabilpercentchangethreshold)
stabilmovingwindow=10;				// ... (int) time window length for which the state of the population is evaluated for the stabilization phase
stabilpercentchangethreshold=0.005;	// ... (double 0-1) threshold for evaluation of a population's state given for four variables as sum, the value 0.02 is one aims for less than 0.5% variation
resetyear=0;						// (int) year to save all container for a later resume from this time point
specpres=1;							// (int) which larch species should be present in the model
										// 0==both Larix gmelinii and L. sibirica 
										// 1==only Larix gmelinii
										// 2==only Larix sibirica

// 1.3 -----> Plot number
mapxlength=1;						// (int) number of parallel executed plots for each climate
mapylength=1;						// (int) number of plots along a south-north transect
sizemagnif=5;						// (int) resolution of the density grid; a value of 5 determines a 20 cm sub grid
	
// 1.4 -----> Dispersal
// 1.4.1 -----> Seed dispersal type and handling + seed introduction
seedintro=1;						// (int 0,1) seed input to simulated plot(s)
yearswithseedintro=10; 			// ... (int) years of seed introduction at the beginning of each simulation
seedintronumber=1000;						// ... (int) number of seeds introduced per year (FOR EACH yearswithseedintro) and plot
seedintropermanent=0;				// (int 0,1) should seeds permanently introduced 
seedintronumberpermanent=10000;				// ... (int) if seedintropermanent==1 number of seeds introduced per year and plot 
realseedconnect=0;					// (int 0,1) (IF mapylength>1) plot position for the initial seed introduction
										// 0==into all plots along a transect
										// 1==only southernmost plot
seedwinddispersalmode=1;						// (int 1,2) positions for introduced seeds
										// 1==neg. exp. from south border 
										// 2==randomly into the plot
seedtravelbetween=0;				// (int 0,1) (IF mapylength>1) seed travel between plots along a transect
boundaryconditions=3;							// (int 0,1,2) periodic boundary conditions for seeds crossing plot boundaries
										// 0==seeds passing the borders are removed
										// 1==the western/eastern and northern/southern border turned in both directions 
										// 2==dispersal connection only on the western to eastern border
										// 3==only seeds leaving east-or-westwards get newly introduced
starttrees=0;						// (int) type of initial tree set up
										//  0==without initial trees
										// 12==CH17
										// and SSAAAATTT: first 2 positions (S:SITE) define the site, next 4 positions (A:AREA)for area width (currently implemented: 0100 100x100, 0500 500x500 1000 1000x1000) and additionally final 3 positions (T:TRANSECT) for transects beginning in the south in kilometers (currently implemented: 100x500000 meters)
										// ... don't give the last numbers TTT when quadratic area set up is needed (e.g. 120100)
										
// 1.4.2 -----> Pollen dispersal
pollination=1;						// (int 0,1,2) allow pollen dispersal
										// 0==without pollination
										// 1==pollination is computed during the simulation period (simduration)
										// ... (IF pollination==1 && omp_num_threads==1 && ivortmax==1000 && simduration==80) pollination variables are printed to one file "windgen_pollination_total....txt" for the years after 1978
										// 9==each year computation of pollination
										// ... it is strongly recommended to use at least 4 multiple core, or more as this functionality is computational intensive

pollendirectionvariance=10;			// (double) variance of the von Mises distribution in degrees. Used in the pollen distribution function
pollenfall=0.126;					// (double) pollen fall velocity
pollengregoryc=0.6; 						// (double) pollen dispersal parameter
pollengregorym=1.25;						// (double) pollen dispersal parameter

// 1.5 -----> Growth function parameters and influences
basalinfluenceoldyoung=0.0;			// (double) basal diameter influence for year's basal diameter growth
relgrowthinfluence=1;				// (int 0,1) influence of current growth (reduced by density depending processes) on seed production and mortality estimation
incfac=10;							// (int) factor for calculating area influenced by individual trees
calcinfarea=1;						// (int) calculation mode for area size determination
										// 1==linearly increasing (8 m at basal diameter of 80 cm)
										// 2==logistically increasing with maximum value of 8 m (reaching at c. 35 cm basal diameter)
densityvaluemanipulatorexp=1;		// (double) exponent to scale the influence of a tree to the density tile
										// 1== normal
										// 2== parabolically i.e. smaller values reached faster
densitysmallweighing=0;				// (double) exponent to scale the influence of individuals on the denstity tiles which are only influencing one tile
										// 1==density is affected linearly with increasing basal diameter 
										// 0==without weighing
densitytreetile=0.5;				// (double) exponent to change the density value input from each tree into the density grid
										// 1==value equals basal diameter decreasing with distance from centre
										// 0==value ranges from 1 to 0 with increasing distance
densitymode=2;						// (int 1,2,3) mode of density calculation
										// 1==without (densitywert of trees=0)
										// 2==ZOI-kind of density calculation
										// 3==random determination of surrounding fields
densitytilecalc=1;					// (int 1) mode for density value integrating of all trees for each tile as the sum within each tile
densitytiletree=2;					// (int 1,2) mode for calculating the influence of density values within tiles for each tree
										// 1==sum of all values weighed by distance
										// 2==multiplied by the current values of the trees influence on each tile (as in densitytreetile=0)
desitymaxreduction=0.9;				// (double 0-1) maximum value the density value can reach
densityvaluedbasalinfluence=0;		// (double) exponent to scale the influence of the tree's diameter to its influencing density value 
dichtheightrel=12;					// (int) interaction modification mode of tree height and density influence strength
										// 1==three different constant values for the three height classes
										// 2==linearly decreasing from centre of the tree and influenced by the tree's age and additionally a minimum of value 0.1 is set
										// 3==....
precthreshold=371.717745;			// (double) precipitation optimum
janthresholdtempgmel=-45;				// (double) number for January isotherm restriction
weathervariablegmela=0.076;				// (double) determines curvature of the July index for L.gmelinii 
weathervariablegmelb=14.568;			// (double) determines curvature of the July index for L.gmelinii 
weathervariablegmelc=0.101;				// (double) determines curvature of the July index for L.gmelinii 

	//	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	//
//	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	//
// 2. Larix gmelinii (Rupr.) Rupr. and Larix sibirica Ledeb. specific parameter
//	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	//
// 2.1 Reproduction
// 2.2 Diameter growth
// 2.3 Height estimation
// 2.4 Mortality estimation
//	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	--	//

// 2.1 -----> Reproduction
coneage=15;							// (int) minimum age trees begin to bear cones
seedflightrate=0.63931;				// (double 0-1) chance a seed is released from the producing tree
dispersalmode=5;					// (int 0,1,2,3,4) dispersal mode for seeds (95% of seeds distributed within 100 m)
										// 0==random
										// 1==negative exponential
										// 2==fat tailed
										// 3==gaussian
										// 4==gaussian and fat tailed combined
										// 5==gaussian and fat tailed combined plus maximum after Matlack
seedtravelbreezeg=60.1;				// (double) maximal flight distance for L. gmelinii seeds at 10 km/h (estimation: Matlack 1987)
seedtravelbreezes=45.0;				// (double) maximal flight distance for L. sibirica seeds at 10 km/h (estimation: Matlack 1987)
seeddescentg=0.86;					// (double) descent speed for L. gmelinii seeds (estimation: Matlack 1987)
seeddescents=0.93;					// (double) descent speed for L. sibirica seeds (estimation: Matlack 1987)
distanceratio=0.16;					// (double) dispersal distance factor
seedprodfactor=8;					// (double) seed production factor
germinationrate=0.01;				// (double 0-1) germination rate
germinatioweatherinfluence=0.447975;// (double) influence of the climate to germination
gmelseedmaxage=2.0;					// (int) years of seed fertility for Larix gmelinii

// 2.2 -----> Diameter growth
gdbasalfacqgmel=-0.003;				// (double) factor for basal diameter growth rate of L. gmelinii trees
gdbasalfacgmel=0.030;				// (double) factor for basal diameter growth rate of L. gmelinii trees
gdbasalconstgmel=-1.98;				// (double) basal diameter growth rate of L. gmelinii trees
gdbreastfacqgmel=-0.003				// (double) factor for diameter growth rate at breast height of L. gmelinii trees
gdbreastfacgmel=0.030;				// (double) factor for diameter growth rate at breast height of L. gmelinii trees
gdbreastconstgmel=-1.98;				// (double) diameter growth rate at breast height of L. gmelinii trees
gdbasalfacqsib=-0.0009;				// (double) factor for basal diameter growth rate of L. sibirica trees
gdbasalfacsib=0.0056;				// (double) factor for basal diameter growth rate of L. sibirica trees
gdbasalconstsib=-1.01;				// (double) basal diameter growth rate of L. sibirica trees
gdbreastfacqsib=-0.0009;				// (double) factor for diameter growth rate at breast height of L. sibirica trees
gdbreastfacsib=0.0056;				// (double) factor for diameter growth rate at breast height of L. sibirica trees
gdbreastconstsib=-1.01;				// (double) diameter growth rate at breast height of L. sibirica trees

// 2.3 -----> Height estimation
allometryfunctiontype=2;			// (int 1,2) allometric function mode
										// 1==linear
										// 2==non linear
dbasalheightalloslope=42.88;		// (double) (IF allometryfunctiontype == 1) slope for height estimation from basal diameter
dbasalheightalloexp=1.0;			// (double) (IF allometryfunctiontype == 1) exponent for height estimation from basal diameter
dbreastheightalloslope=42.88;		// (double) (IF allometryfunctiontype == 1) slope for height estimation from breast height diameter
dbreastheightalloexp=1.0;			// (double) (IF allometryfunctiontype == 1) exponent for height estimation from breast height diameter
dbasalheightslopenonlin=44.43163;	// (double) (IF allometryfunctiontype == 2) slope for height estimation from basal diameter
dbreastheightslopenonlin=7.02;		// (double) (IF allometryfunctiontype == 2) slope for height estimation from breast height diameter

// 2.4 -----> Mortality estimation
mortbg=0.0001;						// (double 0-1) background mortality
maximumage=609;						// (int) maximum tree age
mortage=8.18785;						// (double) mortality factor if a tree exceeds the maximum age
mortyouth=0.762855;						// (double) mortality factor for young individuals
mortyouthinfluenceexp=0.79295;		// (double) exponent determining duration time of youth mortality
										//  <1==longer
										//  >1==shorter
mgrowth=0.0;						// (double) factor for adjusting the influence of current tree growth on mortality
relgrowthmortinfluenceexp=1.0;		// (double) influence exponent of current tree growth on mortality
										//  0==no influence of relative growth on mortality
										//  1==linear influence of the relative growth on mortality
										// >1==stronger
										// <1==weaker
mdensity=0.5;						// (double) mortality factor for density
densityvaluemaximumatheight=0.0;	// (double) (IF mdensity>0) the density influence is modified depending on the tree's height by using a circle-function
mweather=0.1;						// mortalitaetsfaktor_weather (0-+oo) (standard=0.5!)
heightweathermorteinflussexp=0.2;	// (double) exponent for determining an influence of the tree height on the climate mortality
mdrought=0.237805;				// (double) mortalitaetsfaktor_Trockenheit (0-+oo)
seedconemort=0.44724;				// (double 0-1) mortality rate of seeds in cones on the trees
seedfloormort=0.55803;				// (double 0-1) mortality rate of seeds at the ground




back to top