Skip to Content

Department of Biological Sciences

 

MAESTRA Manual

Belinda Medlyn and Remko Duursma, Updated April 2009

 

CONTENTS:

Back to Maestra Homepage

 

ALPHABETICAL INPUT INDEX
 

Absorptance 

Aerodynamics of Canopy

Age classes of foliage

Allometric relationships for biomass 

Boundary Layer Conductance

Branch respiration

Climate change scenarios

Clumping of foliage

Compiling MAESTRA

Constant met data

Crown radius

Crown shape

Dates of simulation

Diameter 

Edge effects

Format of Met Data

Height of trees

Jmax 

Latitude & Longitude

Leaf area 

Leaf area density distribution

Leaf energy balance

Leaf incidence angle

Leaf nitrogen content

Leaf respiration

Maximum array sizes

Met Data

Millenium bug

Missing met data

Multi-species settings

Number of layers in crown

Number of zenith and azimuth angles to integrate over 

Open Top Chamber -Effect on Met Data

Output files - which desired

PAR histogram

Phenology of leaf area development

Photosynthetic parameters

Plot Details 

Reflectance 

Respiration

Root respiration

Roughness Length

Slope

Specific leaf area

Stocking

Stomatal conductance model 

Stomatal conductance parameters

Sun / shade division

Target Trees

Transmittance

Tree Dimensions - Specified for All Trees

Tree Dimensions - Specified for Individual Trees

Vcmax

Wind speed: decline with depth in the canopy 

Woody respiration

X & Y Co-ordinates


Maestra Programs & Files

Parameter values and driver variables are currently input through the use of a number of text files. The names of the input text files are:

  • confile.dat - Switches to control the simulation
  • str.dat - Canopy structure parameters
  • phy.dat - Physiological parameters
  • met.dat - Meteorological data
  • trees.dat - Details of the plot, including crown positions and dimensions
  • ustorey.dat - Parameters for the understorey calculations
     

The names of the output text files are:

  • dayflx.dat - Daily totals of absorbed radiation, photosynthesis and transpiration
  • hrflux.dat - Hourly totals of absorbed radiation, photosynthesis and transpiration
  • layflx.dat - Hourly absorbed PAR, photosynthesis and transpiration in each canopy layer
  • resp.dat – Daily respiration fluxes from each tree organ
  • uspar.dat - Understorey fluxes and PAR (point-wise, or hourly).

 

Discontinued programs

 maeshr.exe (Not available!), which used to simulate only one hour and outputs fluxes for that hour at individual grid points. The program (MAESHR) asks which hour of the day to simulate at the start of the run. The output file is:

  • ptflx.dat - Absorbed PAR, photosynthesis and stomatal conductance for each grid point for one specified hour (output by program MAESHR.EXE only).

resp.exe: (Not available!)  takes the same input files as MAESTRA but calculates the respiration fluxes only (output: resp.dat)

maestest.exe: This used to be a stand-alone program, but is now part of Maestra. See here for details on how to output PAR transmittance to pre-specified points.

sumtrees.exe: (Not available!) reads the standard output files, in which outputs are all expressed per tree, and converts the outputs to per hectare figures. The input files required are dayflx.dat, hrflux.dat, and sumcon.dat. The output files are daytot.dat and hrtot.dat. This program is currently being reworked into Maestra.

Compiling Maestra: Here are some very brief notes on how to re-compile Maestra if necessary. For more details on the program itself please refer to the programmer's manual.

  • the source code is divided into:
    • · the code files:
      • - maestra.f90 (the main program file)
      • · radn.f90 (radiation interception routines)
      • · physiol.f90 (physiology routines)
      • · getmet.f90 (routines for reading met data file)
      • · inout.f90 (input and output routines)
      • · utils.f90 (general utility functions)
      • . unstor.f90 (understorey calculations)
    • · the header files:
      • · maestcom.f90 (defines constants and maximum array sizes)
      • · metcom.f90 (constants used in interpreting met data files

Maestra compiles with the Intel Visual Fortran compiler (as part of Microsoft Visual studio; we use version 11+ for the Fortran compiler). It has also been compiled with the free tools gfortran as well as g95 (but note that you need to make small changes to the code, where random numbers are drawn).  


Input File Format

The input files for MAESTRA now use the FORTRAN NAMELIST format. This makes input considerably more flexible. I use the notation

NAMELIST /NAME/ VAR1, VAR2

in this manual to indicate a namelist. In the actual input file, the above namelist should be written, using example numbers:

    &NAME
    VAR1=0.05
    VAR2=370.1
    /

Arrays of numbers can be specified either element-by-element, or as a whole, e.g.

    &NAME
    VAR1(1)=0.05
    VAR1(2)=370.1
    VAR2= 0.05 370.1
    /

In the above example, VAR1 & VAR2 end up the same.

It does not matter what order these blocks are in. Within a block, it does not matter what order the variables are in, EXCEPT that all arrays of strings (such as lists of dates) should come last. It does not matter if some variables are missing, but you will, however, get an error if there are additional variables in any block. If some data is missing which is essential for the program to run, the program writes an error message to the error output file maeserr.dat, and terminates. If data is missing for which a default value can be used, a warning notice will be written to maeserr.dat, but the program will continue, using the default value.

A word on dates: all dates are specified in the format 'DD/MM/YY'. If 50 <= YY <= 99, the years 1950 - 1999 are assumed; if 00 <= YY <= 49 the years 2000 - 2049 are assumed. This will need to be fixed come the 2040's - hopefully by someone else!

Maximum array sizes: all the maximum array sizes are defined in the file MAESTCOM. These maxima can be changed by altering MAESTCOM and re-compiling the program.

3.1 confile.dat

The first line should give the title of file.

Following that, all input is in namelist blocks, which may be in any order.

Control of output files

NAMELIST /CONTROL/ IOHRLY, IOTUTD, IOHIST, IORESP, ISIMUS, IPOINTS

IOHRLY is a flag to indicate how detailed the outputs should be. If IOHRLY = 0, there is no hourly output; if IOHRLY = 1, hourly values are output to hrflux.dat; if IOHRLY = 2, values for each layer are output to layflx.dat. Default: 0.

IOTUTD is a flag to indicate how often the diffuse transmittances should be calculated. This calculation takes a significant amount of time, and does not really need to be done more than once a week unless the leaf area is changing rapidly (the diffuse transmittances do not change greatly from day to day). If IOTUTD = 0, the transmittances are read in from the file tutd.dat (automatically written at the end of each simulation). If IOTUTD > 0, the transmittances are calculated every TUTD’th day. Default: 1.

IOHIST is a flag to indicate that you want the PAR histogram printed out. The histogram is only printed if IOHIST = 1. Default: IOHIST = 0.

IORESP is a flag to indicate whether you want the respiration fluxes to be printed out. If IORESP = 1, the file resp.dat is created. Default: IORESP = 0.

ISIMUS is a flag to indicate whether you want the understorey calculations to be done. If ISIMUS = 1, the input file 'ustorey.dat' is required, and the file 'uspar.dat' is created.

IPOINTS is a flag to indicate whether you want to output PAR transmission data to user-defined points. See the description of the points.dat input file for instructions.

Dates

NAMELIST /DATES/ START, END, NSTEP

START is the starting date for the simulation, in format ‘DD/MM/YY’.END is the end date for the simulation, in format ‘DD/MM/YY’. Default: if both dates are missing or both = ‘01/01/50’, then all of the met data in the met data file is used.

If NSTEP is > 1, then the program only does the calculations for every NSTEP’th day. Default: 1.

Number of Trees in Calculations

NAMELIST /TREESCON/ NOTREES, NOTARGET, ITARGETS, NORANDOM, EDGEDIST

NOTREES is the number of surrounding trees considered when calculating the shading of the target tree (the closest trees to the target tree are used).

You can specify the target tree(s) in a number of ways:

  • You can specify the number of a single target tree using NOTARGET. (Note that, where the numbers of the trees are not specified explicitly in the trees.dat file, it is assumed that the numbering starts along the y-axis).
  • To specify a series of target trees, use the array ITARGETS instead, e.g.

  • ITARGETS = 2 12 15 18 25
    You can specify up to MAXT target trees in this way.
  • To make the program choose target trees randomly, set NORANDOM to the number of target trees you want. If you only want trees from the centre of the plot to be chosen, set EDGEDIST to the width of the plot edges (in m).
  • Finally, if you want the program to do the calculations for all trees, then omit all of NOTARGET, ITARGETS, and NORANDOM. Again, if you do not want to include trees around the edge of the plot, you can specify the edge width using EDGEDIST (in m). Trees within this distance from the edge will not be used as target trees.

Note that for the program maeshr.exe, only the first target tree specified will be used.

If you have more than one target tree, and want to sum the outputs per tree to obtain per hectare figures, you can use the program sumtrees.exe.

Multi-species settings

NAMELIST /SPECIES/ NSPECIES,SPECIESNAMES,PHYFILES,STRFILES

This new option allows multi-species stands of trees. NSPECIES is the number of species in the stand. SPECIESNAMES is an array of names of the species, this is shown in the output files but not otherwise used. PHYFILES is an array of names of the physiology input files, the first corresponding to species 1, etc. STRFILES is an array of structure input files (to override str.dat if it exists). Note that if NSPECIES is set to 1, but an array of STRFILES or PHYFILES is defined, only the first one is used (and the standard phy.dat and str.dat files are not used!).

Here is an example namelist:

    &SPECIES
    NSPECIES=3
    SPECIESNAMES='E.sclerophylla' 'E.crebra' 'E.sparsifolia'
    PHYFILES='physcler.dat' 'phycreb.dat' 'physpar.dat'
    STRFILES='strscler.dat' 'strcreb.dat' 'strspar.dat'
    /

The multi-species setting also needs another namelist in the trees.dat file, that specifies which trees are of which species. See Here for details on that namelist.

Number of layers and angles to integrate over

NAMELIST /DIFFANG/ NOLAY, PPLAY, NZEN, NAZ

NOLAY is the number of layers in the crown assumed when calculating radiation interception. PPLAY is the number of points per layer (this must be divisble by 4, if it is not the closest smaller number divisible by 4 is used). The maximum number of layers is given in MAESTCOM as MAXLAY. Default: 6.

NZEN is the number of zenith angles for which diffuse transmittances are calculated; NAZ is the number of azimuth angles for which the calculation is done.

Defaults: NZEN = 5 (maximum MAXANG); NAZ = 11 (no maximum enforced).

Choice of submodel

NAMELIST /MODEL/ MODELGS, MODELJM, MODELRD, MODELRW, MODELSS, ITERMAX,ISIMUS
  MODELGS indicates which model should be used to calculate stomatal conductance. If MODELGS = 2: Ball-Berry model (response to RH) If MODELGS = 3: Ball-Berry-Leuning model (response to VPD). If MODELGS = 4, the Ball-Berry-Opti model is used (Medlyn et al. 2011). 

Otherwise: the Jarvis model is used. The Jarvis model incorporates multiplicative functions of several environmental variables. These are also indicated using MODELGS, as follows. MODELGS can be up to three digits long, e.g. ijk.If: i = 0: quadratic T-response i = 1: power function T-response (NB if Tmax <= 0 no T-response is used in either case) j = 0: non-linear VPD response (Lohammer function) j = 1: linear response to vapour pressure model fraction deficit j = 2: linear VPD response j = 3: non-linear VPD response k = 0: linear response to CO2 k = 1: non-linear response to CO2

For example, when using a quadratic T-response (i=0), a non-linear VPD response (j=0), and a linear response to CO2 (k=0), use the setting :  MODELGS = 000.

Please see the section on stomatal conductance for more details about the choice of stomatal models.

MODELJM indicates how the JMAX and VCMAX parameters should be read in. IF MODELJM = 0, they are read in directly from file. If MODELJM = 1, they are calculated from the leaf N content. Default: 0.

MODELRD indicates how the RD0 parameters should be read in. IF MODELRD = 0, they are read in directly from file. If MODELRD = 1, they are calculated from the leaf N content. Default: 0.

MODELRW indicates how the wood respiration parameters should be read in. If MODELRW = 0, the respiration rate is assumed to depend on stem biomass or surface area. If MODELRW = 1, it depends on diameter according to the relationship used at Collelongo. Default: 0.

MODELSS indicates whether the photosynthesis calculations are done for sun and shade leaves separately (MODELSS = 0), whether the absorbed radiation is averaged over the foliage in the grid point when calculating photosynthesis (MODELSS = 1). If MODELSS = 2, calculations are done for each leaf angle class separately. Default: 0.

ITERMAX controls iterations in the combined photosynthesis-transpiration model.

If ITERMAX = 0, leaf temperature is assumed = air temperature, and the iteration procedure is not carried out. If ITERMAX > 0, an iterative method is used to find leaf temperature, photosynthesis, and transpiration. ITERMAX gives the maximum number of iterations (ensuring convergence). Default: 0.

Climate change scenarios

The program can add a fixed amount to CO2 concentration and temperature from the met file. The following namelist is only needed if you want a scenario implemented:

NAMELIST /CCSCEN/ CO2INC, TINC

where CO2INC is the amount of increase in the CO2 concentration (in mmol mol-1) and TINC is the amount of increase in the air temperature (° C). Both soil and air temperature are increased. The absolute humidity (in g m-3) is maintained constant; RH and VPD are adjusted accordingly.

Effect of OTC on Met Data

If you are simulating growth within an OTC and met data was measured outside the chamber you may want to correct for the effects of the chamber. This can be done using the namelist:

NAMELIST /OTC/ TOTC, WINDOTC, PAROTC, FBEAMOTC

Where TOTC is the increase in air temperature (° C), WINDOTC is the absolute wind speed inside the chamber (m s-1), PAROTC is the fractional reduction in incident PAR (fraction) and FBEAMOTC is the fractional reduction in beam fraction of PAR (fraction). Note that all of these should be mean values.

PAR histogram

The program can print out a histogram of PAR absorbed over the course of the simulation. It is printed to histo.dat if IOHIST = 1 (in the CONTROL namelist, above). The following namelist is needed only if you want the histogram:

NAMELIST /HISTO/ BINSIZE

where BINSIZE is the size of the classes in the histogram (in mmol m-2 s-1). The maximum number of classes is given by MAXHISTO in MAESTCOM.

3.2 trees.dat

First line: title of file.

Following that, all input is in namelist blocks, which may be in any order.

Plot Details

NAMELIST /PLOT/ XMAX,YMAX,X0,Y0,NOTREES,XSLOPE,YSLOPE,BEARING,SHADEHT

XMAX and YMAX are the maximum x and y coordinates of tree locations, respectively (m) - essential. X0 and Y0 are offset values for the co-ordinates and are zero by default. As an example: if your x co-ordinate begins at 500 and goes to 600, X0 should be 500 and XMAX should be 600. In the model, the plot size is calculated as (YMAX - Y0) * (XMAX - X0).

NOTREES is the total number of trees in the plot - essential. XSLOPE and YSLOPE are the slopes of the plot in x- and y- directions (degrees) - default zero. BEARING is the bearing of the x-axis from SOUTH (degrees) - essential. The stocking is given by NOTREES / (XMAX * YMAX).

SHADEHT is a parameter to describe external shading of the plot, e.g. for shadecloth placed over a greenhouse. The greenhouse is assumed to be rectangular with corners at co-ordinates (0,0), (0,YMAX), (XMAX,0), (XMAX,YMAX). The shadecloth is assumed to be SHADEHT m high. It is assumed that no radiation passes through the shadecloth. Default: SHADEHT = 0.0 (i.e. no shading).

Plot Aerodynamics

NAMELIST /AERODYN/ ZHT, ZPD, Z0HT

Transpiration rate is also calculated from the conductance of the whole canopy. This is printed out in hrflux.dat to compare with the transpiration rate calculated by applying the P-M equation to each grid point. The canopy stomatal conductance is calculated as the sum of the individual leaf conductances. The canopy boundary layer conductance is calculated from

gb = K2 * U / (LN((ZHT - ZPD)/Z0HT))2 (T1)

(Jones 1992 eqn. 3.42). U is the above-canopy wind speed, K is von Karman's constant (in MAESTCOM), and the parameters required are ZHT (measurement height, m), ZPD (zero-plane displacement, m) and Z0HT (roughness length, m). If these parameters aren't specified, this calculation is not done.

Multi-species list

NAMELIST /SPECLIST/ ISPECIES

Here, the species of each tree is specified. ISPECIES is an array of integers (1,2,...) that correspond to the multi-species definitions in confile.dat. See here for those settings. If any of the ISPECIES values is set to a value higher than NSPECIES, a warning is printed to maeserr.dat, and all species are set to 1.

X & Y Co-ordinates

NAMELIST /XY/ XYCOORDS

The X and Y co-ordinates of each tree can be specified explicitly in this namelist, in order x1, y1, x2, y2, .. etc. Alternatively, if this namelist is missing, then the trees will be assumed to be spaced evenly at a distance of SQRT (XMAX*YMAX / NOALLTREES).

Tree Dimensions - Specified for Individual Trees

NAMELIST /INDIVRADX/ NODATES, VALUES, DATES
NAMELIST /INDIVRADY/ NODATES, VALUES, DATES
NAMELIST /INDIVHTCROWN/ NODATES, VALUES, DATES
NAMELIST /INDIVHTTRUNK/ NODATES, VALUES, DATES
NAMELIST /INDIVDIAM/ NODATES, VALUES, DATES
NAMELIST /INDIVLAREA/ NODATES, VALUES, DATES

The tree dimensions (the radii of the crowns in both X and Y directions (in m), the height of the crown and the trunk space (both in m), the stem diameter (in m) and the leaf area (in m2 tree-1)) can be specified for each tree individually, using these namelists. They can be specified on a series of dates - linear interpolation is used between those dates.

If they are to be constant throughout the simulation, then NODATES should be 1. DATES can be omitted. VALUES should be given in order of tree number.

If they are specified for a series of dates, then both NODATES and DATES should be given - the dates in format ‘DD/MM/YY’. The values should be given in a table with a row for each tree and a column for each date.

The stem diameter is only used for calculating the woody respiration. If it is missing, woody respiration is not calculated. If any of the other dimensions are missing, an error will occur. The stem diameter should be specified at the height required for the allometric relationship between height, diameter, and woody biomass.

Tree Dimensions - Specified for All Trees

NAMELIST /ALLRADX/ NODATES, VALUES, DATES
NAMELIST /ALLRADY/ NODATES, VALUES, DATES
NAMELIST /ALLHTCROWN/ NODATES, VALUES, DATES
NAMELIST /ALLHTTRUNK/ NODATES, VALUES, DATES
NAMELIST /ALLDIAM/ NODATES, VALUES, DATES
NAMELIST /ALLLAREA/ NODATES, VALUES, DATES

Alternatively, the tree dimensions (the radii of the crowns in both X and Y directions, the height of the crown and the trunk space, stem diameter and the leaf area (in m2 tree-1)) can be assumed to be the same for all trees, and the common values input using these namelists. As for the dimensions for individual trees, the dimensions of all trees can be specified on a series of dates, with linear interpolation being used between those dates.

If the values are to be constant throughout the simulation, then NODATES should be 1, DATES can be omitted, and VALUES should just consist of the single number.

If the values are specified for a series of a dates, then both NODATES and DATES should be given - the dates in format ‘DD/MM/YY’. The values should be given in date order.

It is not necessary to use the same format for all dimensions - for example, the height of all trees may be assumed the same, whereas leaf area may be specified for each tree. Similarly, different dates may be given for each dimension - height may be constant throughout the simulation, with leaf area changing.

Phenology of leaf area development

The development of leaf area may be modelled by specifying leaf area on different dates, or by using the phenology model described by Wang, Rey & Jarvis (1998, GCB). To use this phenology model, replace the INDIVLAREA or ALLLAREA namelist by the following:

NAMELIST /PHENOLOGY/ FLUSHDATE, DT1, DT2, DT3, DT4, EXPTIME, MAXLEAVES, SIZELEAF

where FLUSHDATE is the date of flushing (‘DD/MM/YY’); DT1, DT2, DT3, and DT4 are the number of days from the flush date to the end of the first flush, end of the second flush, start of leaf senescence, and end of leaf senescence, respectively; EXPTIME is the time taken for a single leaf to fully expand (days); MAXLEAVES is the maximum number of leaves, and SIZELEAF is the mean leaf size (m2). The maximum leaf area is thus given by MAXLEAVES*SIZELEAF. It is currently assumed, using this model, that all trees have the same leaf area.

3.3 met.dat

The first line of the file is the file title, which is shown in the output files.

This is followed by several namelists, the essential ones being one which gives met values which do not change, one for the latitude and longitude, and one which specifies the format of the file.

Then there is the line
DATA STARTS
followed by the actual data. Note that the line DATA STARTS must be in exactly that format, ie caps, and no tabs or following blank spaces.

Constant met data

NAMELIST /ENVIRON/ CA, PRESS, DIFSKY, SWMIN, SWMAX

CA is the atmospheric CO2 concentration, in mmol mol-1, which is assumed not to vary with time. This value is only used if the ‘CA’ column is missing from the met file. If there is no value of CA in either met or phy files, an error will occur.

PRESS is the atmospheric pressure, in Pa, also assumed not to vary with time. This value is only used if the ‘PRESS’ column is missing from the met file. The default value for PRESS is 1.0125 * 105.

DIFSKY controls the distribution of diffuse radiation incident from the sky. The distribution function is given by

G(q) = (1 + DIFSKY*cos(q)) / (1 + 2/p DIFSKY) (M1)

For a uniform overcast sky, DIFSKY = 0.0 (default). See Wang & Jarvis (1990) Silva Carelica 15:167-180 and Steven & Unsworth (1980) Quart. J. Roy. Meteorol. Soc. 105: 593-602 for more information about DIFSKY.

SWMIN and SWMAX are the minimum and maximum soil water contents. They should be in the same units as soil water values (specified in main met data). Soil moisture deficit, which affects stomatal conductance, is calculated as:
SMD = (SWMAX – SW) / (SWMAX – SWMIN)   (M2)

Latitude & Longitude

NAMELIST /LATLONG/ LATHEM,LAT,LONHEM,LONG,TZLONG

LATHEM is either ‘N’ or ‘S’, indicating the hemisphere. Similarly, LONHEM is either ‘W’ or ‘E’. LAT and LONG are the latitude and longitude, respectively. Both are arrays of three numbers, indicating the degrees, minutes, and seconds. TZLONG is the longitude of the meridian of the time zone, specified in degrees. (NB all times should be standard time, not daylight savings time).

Daily temperature amplitude

NAMELIST /BRISTO/ DELTAT

If incident radiation values are missing, the program can use the formula of Bristow & Campbell (1984) Ag For Met 31: 159-166 to calculate incident PAR from air temperature. To use this option the above namelist must be specified. DELTAT should have 12 values representing the mean monthly daily temperature amplitude for each month of the year.

Metformat

NAMELIST /METFORMAT/ DAYORHR, KHRSPERDAY, NOCOLUMNS, COLUMNS, STARTDATE, ENDDATE

NOTE:This namelist has a new format since April 2009, old files need to be reformatted accordingly. Note changes to the name of the namelist, new parameter KHRSPERDAY and new names STARTDATE and ENDDATE.

 

DAYORHR is a flag indicating whether the met file is daily (DAYORHR = 0) or ‘hourly’ (DAYORHR = 1) data.

KHRSPERDAY is the number of timesteps per day. For example, if the input data are hourly, this should be set to 24. There is no longer a need to recompile if this setting is changed. The maximum number of timesteps per day is set at 1440 (minutely input data). Note: If the input data are daily, KHRSPERDAY should still be set to 24 or 48, depending on how many calculations should be performed per day (which affects daily totals as well). It is recommended to set it to 48 when using daily data. 

STARTDATE and ENDDATE are the start and end dates of the met data, respectively, which should be in format ‘DD/MM/YY’.

NOCOLUMNS gives the number of columns of meteorological data, and COLUMNS is a list of names describing the content of each column. The following names are recognised:

  • For hourly data:
Name Units Definition If not specified
‘WIND’ m s-1 wind speed above the canopy Assumed = DEFWIND (defined in maestcom)
‘TAIR’ ºC air temperature Error. 
‘TSOIL’ ºC soil temperature Assumed = TAIR 
‘RH’ fraction relative humidity Calculated from VPD, VMFD or TAIR
‘RH%’ percent relative humidity (different units) "
‘VPD’ Pa vapour pressure deficit Calculated from RH, VMFD or TAIR
‘VMFD’ mmol mol-1 vapour pressure mole fraction deficit Calculated from RH or VPD, and PRESS
‘CA’ ppm atmospheric CO2 concentration Constant value from ENVIRON namelist used.
‘PAR’ mmol m-2 s-1 hourly incident photosynthetically active radiation Calculated from ‘RAD’. If RAD absent, calculated from TAIR (DELTAT needed). 
'RAD' W m-2 hourly incident total short-wave radiation Calculated from ‘PAR’. If PAR absent, calculated from TAIR (DELTAT needed). 
‘FBEAM’ fraction fraction of incident PAR which is direct-beam Calculated from PAR (Spitters et al 1986)
‘PRESS’ Pa atmospheric pressure Constant value from ENVIRON namelist used.
‘TDEW’ ºC Dewpoint temperature RH or VPD used.
'SW' Same as SWMAX  Soil water content.  Not used. 
'SWP' MPa Soil water potential. Use soil water content, or nothing.
  • For daily data:
Name Units Definition If not specified
‘WIND’ m s-1 wind speed above the canopy Assumed to be zero.
‘TMIN’ ºC minimum daily temperature Error. 
‘TMAX’ ºC maximum daily temperature Error. 
‘CA’ ppm atmospheric CO2 concentration Constant value from ENVIRON namelist used.
‘PAR’ or 'SI' MJ d-1 daily incident radiation (PAR = photosynthetically active radiation, 400 - 700 nm; SI = total shortwave radiation) Error. 
‘FBEAM’ fraction fraction of incident PAR which is direct-beam Calculated from PAR (Spitters et al 1986)
'SW' Same as SWMAX  Soil water content.  Not used. 
'SWP' MPa Soil water potential. Use soil water content, or nothing.

It doesn’t matter what order these columns are in, so long as the columns of data correspond to the titles in the namelist. The available options are fairly readily extended through the functions OPENMETF, GETMETHR and GETMETDAY. Additional (unused) columns should be identified by some other name to those above; they will then be ignored by the program.

The program does not handle missing met data at all; all data must be specified.

3.4 str.dat

First line: title of str file.

Following that, all input is in namelist blocks. These may be in any order.

Crown shape

NAMELIST /CANOPY/ CSHAPE

CSHAPE is a string indicating the shape of the crown: ‘CONE’ indicates a conical crown, ‘ELIP’ a half-ellipsoidal crown, ‘PARA’ a paraboloidal crown, ‘ROUND’ a full ellipsoid, ‘CYL’ an upright cylinder, ‘BOX’ a box shape (suitable for the mini-ecosystems, for example). Default: half-ellipsoidal.

Leaf incidence angle

NAMELIST /LIA/ ELP,NALPHA,FALPHA,AVGANG

Alternatives:

(a) AVGANG > 0
The mean leaf inclination angle is specified by AVGANG. If NALPHA = 1, there is just on leaf angle class with angle AVGANG. If NALPHA > 1, AVGANG is used to generate the LIA distribution assuming an elliptical distribution.

(b) ELP > 0.0
ELP is the parameter of an ellipsoidal leaf angle distribution: it represents the ratio of the horizontal and vertical axes of an ellipsoid. If ELP = 1, the distribution is spherical; if ELP = 0.5, the distribution is erectophile; and if ELP = 2, the distribution is planophile. If NALPHA = 1: there is just one leaf angle class, and the average leaf angle is given by AVGANG or AVGANG(ELP). If NALPHA > 1 (max 9): there are NALPHA leaf angle classes, and the distribution of angles is elliptical with parameter ELP.

(c) ELP < 0.0
The proportion of leaf area in each angle class is read in from array FALPHA. The number of angle classes is given by NALPHA (max 9).

Default values: NALPHA = 1, ELP = 1.0 (i.e. one leaf angle class, spherical distribution).

Beta distributions for leaf area density

NAMELIST /LADD/ JLEAF,NOAGEC,BPT,RANDOM

If JLEAF = 0, the leaf area density is assumed to be uniform. If JLEAF = 1, it is assumed to follow a beta distribution in the vertical direction only. If JLEAF = 2, then it is assumed to follow beta distributions in both vertical and horizontal directions. Default: 0.

NOAGEC is the number of age classes for which beta-distributions are specified. If NOAGEP (the number of age classes for physiology parameters, specified in phy.dat) is not equal to 1, then NOAGEC must equal 1 or NOAGEP.

BPT contains the coefficients of the beta distributions for NOAGEC age classes. The beta distribution for each age class has six parameters, a, b, c, d, e, f:

f(r,h) = a hb (1-h)c d re (1 - r)f    (G1)

where f(r,h) is the normalised leaf area density (see below) at relative height h (0, crown base; 1, crown top) and relative radius r (0, next to trunk; 1, exterior of canopy). The parameters should be given in the order a, b, c, d, e, f, for each age class. If JLEAF = 1, the parameters of the horizontal distribution (d,e,f) should still be given but will not be used; they can be set to zero.

Important note: the parameters a and d must be determined from the following constraints:

(a) the integral of a hb (1-h)c from h = 0 to h = 1 must = 1

(a) the integral of d re+1 (1 - r)f from r = 0 to r = 1 must = 1/2p

For more information about the beta distributions see Wang et al (1990) Forest Ecology & Management 32: 217-237.

RANDOM describes the level of clumping of foliage into shoots: it is given by the ratio of projected shoot area to projected needle area. Default: 1.0.

Decline in wind speed with depth in the canopy

NAMELIST /AERO/ EXTWIND

The wind speed declines exponentially with depth in the canopy, where EXTWIND is the exponential coefficient. The windspeed at canopy depth D, W(D) is given by

W(D) = W(0)*exp(-EXTWIND*D)

(Default: EXTWIND = 0).

Allometric relationships for biomass

NAMELIST /ALLOM/ COEFFT, EXPONT, WINTERC
NAMELIST /ALLOMB/ BCOEFFT, BEXPONT, BINTERC
NAMELIST /ALLOMR/ RCOEFFT, REXPONT, RINTERC, FRFRAC

The woody biomass is calculated using the following allometric relationship:

WBIOM = COEFFT * HEIGHT * DIAMEXPONT + WINTERC (S1)

where: WBIOM is the woody biomass (in kg DW tree-1), HEIGHT is the total height of the tree in m (green height + trunk length), DIAM is the stem diameter in m, and COEFFT, EXPONT and WINTERC are parameters. The diameter should be specified (in trees.dat) at the height for which they were used to develop this allometric relationship. The woody biomass is only used to calculate the woody respiration rate.

Branch biomass and total root biomass are calculated using the same equations, again from stem height and diameter, but using different parameters. Fine root biomass is assumed to be a constant fraction (FRFRAC) of total root biomass. Again, these biomass estimates are only used to calculate respiration rates.
 

3.5 phy.dat

First line: title of physiology file.

Following that, all input is in namelist blocks. These may be in any order.

Number of age classes of foliage

NAMELIST /NOAGES/ NOAGEP

NOAGEP is the number of age classes for which physiological parameters are specified. If NOAGEC (the number of age classes for which leaf area density distributions are specified, given in str.dat) is not equal to 1, then NOAGEP must equal 1 or NOAGEC. The parameters NFOL, JMAX, VCMAX and RD can be specified for different age classes of foliage. However they do not all need to be specified for all age classes - but they must either be specified for all foliage or for NOAGEP age classes. Neither NOAGEP nor NOAGEC should exceed MAXC, specified in maestcom. If NOAGEP = 1, then this namelist can be omitted.

Proportions of leaf area in each age class

NAMELIST /PHENOL/ PROP

PROP is an array containing the proportion of leaf area in each age class. This is only read in if either NOAGEP > 1 or NOAGEC > 1. NOAGEP or NOAGEC indicate how many entries there should be in this array (maximum MAXC, in maestcom). Also, the entries in the array should sum to one.

Reflectance and transmittance

NAMELIST /ABSORP/ NOLAYERS,RHOSOL,ATAU,ARHO

NOLAYERS is the number of crown layers for which reflectance and transmittance are specified.

RHOSOL is the soil reflectance, in three wavebands (PAR, NIR, thermal).

ATAU is the leaf transmittance, also in three wavebands, and for NOLAYERS crown layers. It should be specified with the values for different layers in columns and the values for different wavelengths in rows.

ARHO is the leaf reflectance, which should be specified similarly to ATAU.

Stomatal conductance parameters

NAMELIST /JARGS/ GSREF, GSMIN, PAR0, D0, VPD1, VPD2, VK1, VK2, VMFD0, GSJA, GSJB, T0, TREF, TMAX, WLEAF, NSIDES, SMD1, SMD2, SWPEXP
NAMELIST /BBGS/ G0,G1,GAMMA,WLEAF,NSIDES, SMD1, SMD2, SWPEXP
NAMELIST /BBLGS/ G0,G1,D0L,GAMMA,WLEAF,NSIDES, SMD1, SMD2 , SWPEXP
NAMELIST /BBMGS/ G0,G1,D0L,GAMMA,WLEAF,NSIDES, SMD1, SMD2 , SWPEXP
NAMELIST /BBGSCON/ CONDUNITS

The flag MODELGS (read in namelist CONTROL) indicates which stomatal conductance model is to be used, and hence, which set of parameters to read. If MODELGS = 2, BBGS is read; if MODELGS = 3, BBLGS is read; if MODELGS = 4, BBMGS is read. Otherwise, JARGS is read.

The namelist 'BBGSCON' controls whether the units of the stomatal conductance parameters are for CO2 or H2O. For these two options, set CONDUNITS = 'CO2' or 'H2O'. The default is to assume that the parameters are for CO2. A message is displayed in the 'Maeserr.dat' file after running Maestra how the parameters were handled (to avoid fairly common mistakes).

If the stomatal conductance parameters are for CO2, they are converted in the program to conductance to water vapour by multiplying by the constant GSVGSC = 1.57 (in maestcom.f90).

For all models, WLEAF is the width of the leaf in m, used in calculating the boundary layer conductance (Leuning et al 1995 PC&E 18:1183-1200). NSIDES is the number of sides of the leaf with stomata; default 1.

The effect of soil moisture is the same for all three models - gs is reduced by multiplying by a factor f that ranges from 0 to 1. There are three alternative ways of specifying f.

If the soil moisture is specified in the met file as soil water content, the soil moisture deficit (q) is calculated as q = (SWMAX - SWC)/(SWMAX - SWMIN). The effect of q on gs can be either an exponential or linear decline. The exponential relationship is given by:

f(q) = 1 – SMD1 * exp( SMD2 * q)

Both parameters SMD1 and SMD2 should be > 0. See Granier and Loustau (1994) Ag For Met 71:61-81 for further information on this function. The linear relationship is given by:

f(q) = (1-q)/SMD2

and this relationship is chosen by setting SMD1 < 0.

If the soil moisture is specified in the met file as soil water potential p, then its effect on stomatal conductance is given by:

f(p) = exp(SWPEXP * p)

In all three of these functions, f is not allowed to be less than 0 or greater than 1. If soil moisture is omitted from the met file, or these parameters omitted, then there is no effect of soil moisture on gs.

In the Ball-Berry model (BBGS), stomatal conductance is given by

gs = G0 + G1 * A * RH / (CA – GAMMA) (P1)

where gs (mol m-2 s-1) is the stomatal conductance to CO2, A (mmol m-2 s-1) is the assimilation rate, RH is the relative humidity, CA (mmol mol-1) is the atmospheric CO2 concentration and G0 (mol m-2 s-1), G1 (dimensionless), and GAMMA (mmol mol-1) are input parameters.

In the Ball-Berry-Leuning model (BBLGS), stomatal conductance is given by

gs = G0 + G1 * A / (CA – GAMMA) / (1 + VPD/D0L) (P2)

where gs (mol m-2 s-1) is the stomatal conductance to CO2, A (mmol m-2 s-1) is the assimilation rate, VPD (Pa) is the vapour pressure deficit, CA (mmol mol-1) is the atmospheric CO2 concentration and G0 (mol m-2 s-1), G1 (dimensionless), D0L (Pa) and GAMMA (mmol mol-1) are input parameters.

In the Ball-Berry-Opti model (BBMGS), stomatal conductance is given by

gs = G0 + G1 * A/(CA - GAMMA) / SQRT(VPD)

where all units are the same as in the Ball-Berry-Leuning model. This model formulation is due to Medlyn et al. (2011, Glob. Change Biol. doi: 10.1111/j.1365-2486.2010.02375.x).

In the Jarvis model, stomatal conductance is given by

gs = GSREF * f(T) * f(VPD) * f(CO2) * f(PAR) + GSMIN (P3)

where GSREF and GSMIN are the maximum and minimum stomatal conductances to CO2 (mol m-2 s-1), respectively, and the f’s are functions of environmental variables. The functions to be used are specified by the flag MODELGS (in confile.dat). MODELGS (in confile.dat) can be up to three digits long, e.g. ijk. The first digit i indicates which T-response to use; j indicates the VPD response; and k indicates the CO2 response.

Temperature response:

i = 0: The following quadratic temperature response is used:

    f(T) = 0 for T < T0 (P4)

    = (T - T0) (2 TMAX - T0 - T) / [(TREF - T0) (2 TMAX – T0 - TREF)] for T0 < T < 2 TMAX – T0

    = 0 for T > 2 TMAX – T0

 i = 1: A power function is used:

    f(T) = [(T – T0) (TMAX – T)^P] / [(TREF – T0) (TMAX – TREF)^P] (P5)

where P = (TMAX – TREF) / (TREF – T0).

For both T-responses, the three parameters to be specified are T0 (minimum temperature), TREF, and TMAX (maximum temperature), all in ° C. Note that if TMAX <= 0, f(T) = 1 in both cases, i.e. there is no temperature response.

VPD response:

j = 0: A non-linear response to VPD is used:

    f(VPD) = 1 / (1 + VPD / D0) (P6)

where the input parameter required is D0 (Pa).

j = 1: A linear response to the vapour pressure mole fraction deficit (VMFD) is used:

    f(VPD) = 1 – VMFD / VMFD0 (P7)

where the input parameter is VMFD0 (mmol mol-1).

j = 2: A linear response to VPD is used:

    f(VPD) = 1 – (VPD – VPD1) / (VPD2 – VPD1) (P8)

Here the input parameters are VPD1 and VPD2 (Pa).

j = 3:Non-linear response to VPD:

f(VPD) = min(1,1/(VK1*VPD^VK2))    (P8a)

with parameters VK1 (Pa-1) and VK2 (dimensionless).

Note that in all cases these functions must lie between 0 and 1.

k = 0: A linear response to CO2 is used.

    f(CO2) = 1 - GSJA (CO2 - 350) (P9)

The parameter required is the slope GSJA (mol mmol-1).

k = 1: A non-linear response to CO2 is used.

    f(CO2) = (GSJB + 350) / (GSJB + CO2) (P10)

The parameter required is GSJB (mmol mol-1).

PAR response:

Thus far only one PAR response is implemented, the following non-linear response:

    f(PAR) = PAR / (PAR+ PAR0) (P11)

The parameter required is PAR0 (mmol m-2 s-1).

Note that if all the above functions must lie between 0 and 1; either 0 or 1 is taken as the function value if these bounds are exceeded.

Leaf N content

NAMELIST /NFOLCON/ NODATES, NOLAYERS, NOAGES
NAMELIST /NFOL/ DATES, VALUES

If MODELJM = 1, or MODELRD = 1, indicating leaf N is required to calculate some of the parameters, then leaf N contents are read in. These can be specified for different dates, canopy layers, and foliage age classes.

NODATES gives the number of dates (maximum MAXPDATE), NOLAYERS the number of layers (maximum MAXLAY), and NOAGES the number of ages (maximum MAXC), for which leaf N is specified. An error occurs if the total number of values < NODATES * NOLAYERS * NOAGES.

DATES gives the dates at which N contents were specified, in the format ‘DD/MM/YY’. NODATES must be at least 1, but if it is only 1, then that value is used throughout the simulation.

VALUES gives the leaf N contents (in g m-2). They must be specified with the values for different layers in columns. The values for each date should be grouped together, with one row for each age class.

Photosynthetic parameters

The tables of Jmax and Vcmax (JMAXTABLE and VCMAXTABLE) may be either read in, or calculated from leaf N content. If they are read in (MODELJM = 0), the following namelists should be used:

NAMELIST /JMAXCON/ NODATES,NOLAYERS,NOAGES
NAMELIST /JMAX/ VALUES, DATES
NAMELIST /VCMAXCON/ NODATES,NOLAYERS,NOAGES
NAMELIST /VCMAX/ VALUES, DATES

In each case, NODATES gives the number of dates (maximum MAXPDATE), NOLAYERS the number of layers (maximum MAXLAY), and NOAGES the number of ages (maximum MAXC), for which leaf N is specified. An error occurs if the total number of values < NODATES * NOLAYERS * NOAGES.

DATES gives the dates at which JMAX & VCMAX were specified, in the format ‘DD/MM/YY’. NODATES must be at least 1, but if it is only 1, then those values are used throughout the simulation.

VALUES gives the parameter values (in mmol m-2 s-1). They must be specified with the values for different layers in columns. The values for each date should be grouped together, with one row for each age class. The values should be corrected to 25° C.

If the parameters are calculated from leaf N content, then the following namelist should be used:

NAMELIST /JMAXN/ JMAXA,JMAXB,VCMAXA,VCMAXB

Jmax is then calculated from leaf N content by Jmax = JMAXA * LEAFN + JMAXB. Similarly, Vcmax = VCMAXA * LEAFN + VCMAXB.

The other parameters required for photosynthesis are read in using the following namelists:

NAMELIST /JMAXPARS/ THETA, EAVJ, EDVJ, DELSJ, AJQ, IECO
NAMELIST /VCMAXPARS/ EAVC, EDVC, DELSC, TVJUP, TVJDN

where THETA is the curvature of the light-response curve of electron transport, AJQ is the quantum yield of electron transport, and the other parameters describe the temperature responses of Jmax and Vcmax. The light response of electron transport, J, is given by a non-rectangular hyperbola:

    THETA J2 - (AJQI + JMAX) J + AJQ I JMAX = 0 (P12)

where I is the leaf absorbed PAR, and JMAX, AJQ and THETA are the parameters. The default value of AJQ is ALPHAQ = 0.425 (defined in maestcom). AJQ may also be specified by date, layer and age – see below.

IECO determines whether the temperature dependences of Km and G* are those of Medlyn et al. (1999) Plant Cell Environ. 22:1475-1495 (IECO = 1 - default) or Bernacchi et al. (2001) Plant Cell Environ. 24:253-260 (IECO = 0).

The temperature response of JMAX is given by:

    Jmax(T) = JMAX exp (EAVJ (T - 273) / (R T 273)) { [ 1 + exp((DELSJ 273 - EDVJ) / (R 273)) ] / [ 1 + exp((DELSJ T - EDVJ) / (R T)) ] } (P13)

where T is the temperature in K, R is the gas constant, and EAVJ, EDVJ and DELSJ are the parameters.

The same function can be used for the temperature response of Vcmax. Alternatively, if EDVC £ 0, the simpler function

    Vcmax(T) = VCMAX exp (EAVC (T - 273) / (R T 273)) (P14)

is used. The parameters TVJUP, TVJDN can be used to describe a linear decline to zero of Jmax and Vcmax at low temperature. They begin to decline linearly to zero at T = TVJUP °C and reach zero at T = TVJDN °C. Default value = -100°C.

Quantum yield of electron transport

If there is just a single value for the quantum yield of electron transport, it can be specified as AJQ in the namelist JMAXPARS as described above. It is also possible to specify values by age class, height and date, using the namelists:

NAMELIST /AJQCON/ NODATES,NOLAYERS,NOAGES
NAMELIST /AJQ/ VALUES,DATES

in the same way as parameters JMAX and VCMAX are specified (see above).

Leaf respiration parameters

The table of leaf respiration rates RD (RDTABLE) may be either read in, or calculated from leaf N content. If it is read in ( MODELRD = 0), the following namelists should be used:

NAMELIST /RDCON/ NODATES,NOLAYERS,NOAGES
NAMELIST /RD/ VALUES, DATES

In each case, NODATES gives the number of dates (maximum MAXPDATE), NOLAYERS the number of layers (maximum MAXLAY), and NOAGES the number of ages (maximum MAXC), for which leaf N is specified. An error occurs if the total number of values < NODATES * NOLAYERS * NOAGES.

DATES gives the dates at which RD was specified, in the format ‘DD/MM/YY’. NODATES must be at least 1, but if it is only 1, then those values are used throughout the simulation.

VALUES gives the leaf dark respiration rate (in mmol m-2 s-1). They must be specified with the values for different layers in columns. The values for each date should be grouped together, with one row for each age class.

If RD is to be calculated from leaf N content, then the following namelist should be used:

NAMELIST /RDN/ RDA, RDB

RD is then calculated from leaf N content by RD = RDA * LEAFN + RDB.

The other parameters required for leaf respiration are read in using the following namelist:

NAMELIST /RDPARS/ EFFYRF, Q10F, RTEMP, DAYRESP, TBELOW

Q10F is the exponential coefficient of the temperature response of foliage respiration, and RTEMP (° C) is the temperature at which the values of RD are specified:

    Rd(T) = RD exp(Q10F (TAIR – RTEMP))            (P15)

TBELOW is the minimum temperature at which respiration occurs; below this, Rd(T) is set to zero. This applies to respiration of all plant components. Default: -100°C.

DAYRESP is the fraction by which dark respiration is reduced in the light. The daily foliage growth respiration is calculated by multiplying EFFYRF (g g-1 C) by the increment in leaf biomass (obtained from the increment in leaf area and the SLA).

The foliage respiration Q10 can also be specified by date using the following namelist:

NAMELIST /FOLQ10/ NDATES, RATES, DATES

NDATES is the number of values given; RATES is the rates (note: the exponential coefficient in eqn P15 above, not the actual Q10), and DATES the dates at which those rates apply, in the format 'DD/MM/YY'. If this parameter is specified using this namelist, any value given in RDPARS will be ignored.

Specific leaf area

The specific leaf area is required only for calculating the foliage growth respiration, for which foliage biomass is needed. SLA can be specified using the following namelists:

NAMELIST /SLACON/ NODATES,NOLAYERS,NOAGES
NAMELIST /SLA/ VALUES, DATES

In each case, NODATES gives the number of dates (maximum MAXPDATE), NOLAYERS the number of layers (maximum MAXLAY), and NOAGES the number of ages (maximum MAXC), for which SLA is specified. An error occurs if the total number of values < NODATES * NOLAYERS * NOAGES.

DATES gives the dates at which SLA was specified, in the format ‘DD/MM/YY’. NODATES must be at least 1, but if it is only 1, then those values are used throughout the simulation.

VALUES gives the specific leaf area (in m2 kg-1). The values must be specified with the values for different layers in columns. The values for each date should be grouped together, with one row for each age class.

Woody respiration rates

NAMELIST /WRESP/ EFFY, RM, RMA, RTEMP, Q10W, STEMFORM
NAMELIST /COLLWRESP/ COLLA, COLLK, STEMSDW

The parameters in these namelists are used in calculating woody respiration as follows. Stem maintenance respiration is calculated on an hourly basis according to:

 R = RMW * exp(Q10W * (TAIR - RTEMP)) * WBIOM   (P16)

where RMW is the maintenance respiration rate per unit mass (in umol kg-1 DW s-1 or nmol g-1 DW s-1) at temperature RTEMP, Q10W is the temperature response factor, and WBIOM is the woody biomass (in kg DW) which is calculated from height and diameter according to the allometric relation given under str.dat.

There are three methods by which RMW can be specified, using the control parameter RDMODEL in confile.dat.
(1) If RDMODEL = 0 and RM > 0, then RMW = RM, the maintenance respiration rate per unit mass.

(2) If RDMODEL = 0 and RM = 0, the program will look for RMA, which is the rate of maintenance respiration per unit stem surface area (in umol m-2 s-1). This is converted to a value for RMW according to
   STEMAREA = STEMFORM*PI*(DIAM**2)*HT
   RMW = RMA*STEMAREA/WBIOM
where STEMFORM is a parameter.

(3) If RDMODEL = 1, then the base rate of woody maintenance respiration (RMW) is calculated from the stem diameter according to
RMW = CA * exp(CK * DIAM) * STEMSDW (P17)
where CA and CK are parameters and STEMSDW is the stem surface area: dry weight ratio in m2 kg-1. For more information on this model, see Valentini et al (1996) Global Change Biol. 2: 199-207.

The wood respiration Q10 can also be specified by date using the following namelist:

NAMELIST /WOODQ10/ NDATES, RATES, DATES

NDATES is the number of values given; RATES is the rates (note: the exponential coefficient in eqn P15 above, not the actual Q10), and DATES the dates at which those rates apply, in the format 'DD/MM/YY'. If this parameter is specified using this namelist, any value given in WRESP will be ignored.

The daily woody growth respiration is calculated from the increment in woody biomass on that day according to

RESPWG = WBINC * EFFY (P18)

where EFFY is the efficiency of woody biomass growth (g g-1 C) and WBINC is the daily increment in woody biomass (g DW d-1) which is calculated from the changes in height and diameter, using the allometric relation given in str.dat.

Branch and root respiration rates

NAMELIST /BRESP/ RMB, RTEMPB, Q10B
NAMELIST /RRESP/ RMFR, RMCR, RTEMPR, Q10R

Branch respiration rates are calculated as:

R = RMB * exp(Q10B * (TAIR - RTEMPB)) * BBIOM (P19)

where the parameters required are: the maintenance respiration rate RMB (umol kg-1 DW s-1 at temperature RTEMPB and the temperature response parameter Q10B. BBIOM is the branch biomass which is calculated from tree height and diameter (see str.dat). Fine and coarse root respiration rates are calculated similarly. RMFR is the maintenance respiration rate for fine roots; RMCR that for coarse roots. Fine and coarse roots are assumed to have the same temperature response parameter RTEMPR.

 

3.6 ustorey.dat

This file contains all the parameters to define the understorey calculations. The understorey is homogenous, but the incident PAR onto the understorey does vary strongly spatially, because of the non-homogenous canopy above it. For this reason, the user needs to specify a grid of points at which the understorey PAR is calculated. For each of these grid points, photosynthesis and transpiration are estimated, and averaged to produce the output file.

WARNING : It is important to realize that the understorey does not shade the overstorey! It is therefore a true 'under'-storey. If your understorey is tall compared to your target trees, consider specifying it as a separate species instead.

This grid of understorey sampling points is defined by the following namelist:

 NAMELIST /CONTROL/ NOPOINTS, X0, Y0, XMAX, YMAX, IOFORMAT

 This specified a rectangular grid from X0 to XMAX and Y0 to YMAX, having (approximately) NOPOINTS sampling points. The model then places the points accordingly within this rectangle. 

The parameter IOFORMAT (0 or 1, default = 0) specifies the level of output required. If 0, outputs hourly values (of incident PAR, absorbed PAR, photosynthesis and transpiration) averaged over all understorey gridpoints. If IOFORMAT = 1, the 'uspar.dat' file will contain estimates for each grid point. Warning : if using many grid points and simulation days, the output can be extremely large, and the model will run slowly. Only use this option for testing, or otherwise.

Next, the leaf area index, height, and leaf nitrogen content of the understorey is specified:

NAMELIST /ALLUSLAI/ NODATES, VALUES, DATES

NAMELIST /ALHTCROWN/ NODATES, VALUES, DATES

NAMELIST /ALLFOLN/ NODATES, VALUES, DATES

 Just like other namelists, a range of values can be specified for multiple dates (handy in case the understorey LAI changes much during the growing season, for example).

Stomatal conductance is calculated with the Ball-Berry model (as of this writing, the only option!), specified by:

NAMELIST /BBGS/ G0,G1

where G0 and G1 are the intercept and slope of the Ball-Berry parameters. Note that these are in units of conductance to CO2.

The leaf angle distribution is defined by a namelist equivalent to that for the overstorey:

NAMELIST /LIA/ ELP,NALPHA,FALPHA,AVGANG

See here for a full description of this namelist.

Finally, a number of parameters specify the physiology of the understorey:

NAMELIST /JMAXPARS/ IECO,EAVJ,EDVJ,DELSJ,AJQ

NAMELIST /VCMAXPARS/ EAVC,EDVC,DELSC,TVJUP,TVJDN

NAMELIST /BEWDYPARS/ JMAXN25,VCMAXN25,UNMIN,ABSRP

NAMELIST /RDPARS/ RD,RDK,RDT,SLA,EFFY

Where JMAXPAR and VCMAXPARS follow the same definitions as the 'phy.dat' file (see here). The other parameters can be found in Medlyn et al. 2000 (Can J For Res, 30:873-888).

 

3.7 points.dat

The Maestra model can output PAR transmission to user-defined xyz points (this was formerly done by the stand-alone maestest.exe program). This may be useful to compare to PAR sensor readings. The settings for these points are in the points.dat file.

Note also that you need to set the flag IPOINTS=1 in the CONTROL namelist in confile.dat, see here for details.

 

The input file points.dat contains two namelists, one giving the number of points (and an 'input type' see below), the second giving the x, y, and z co-ordinates of each point. If INPUTTYPE=1, the example namelists may look like these:

    &CONTROL
    NOPOINTS = 2
    INPUTTYPE = 1
    /
    &XYZ
    COORDS =
    1.0 1.0 1.2
    2.5 2.5 1.2
    /

If INPUTTYPE = 2, the XYZ namelist is ignored, and instead a transect of grid points is read in from the file. This may be useful for comparison against TRAC PAR transmission measurements. The namelist is:

NAMELIST /TRANSECT/  ANGLE,SPACING,ZHEIGHT

where angle specifies the angle from north of the transect, spacing the distance between successive points, and zheight the height above the ground. The transect starts at X=0,Y=0, and continues for NOPOINTS as specified in the CONTROL namelist.

The output from this program is a file testflx.dat, which gives beam the following variables for each point for each half hour:

  • Day, Hour
  • Test point number, X,Y,Z locations of the point
  • Incident PAR above the canopy (mu mol m-2 s-1)
  • Direct beam fraction (0-1)
  • Sunlit leaf area fraction (0-1)
  • Relative diffuse transmission (0-1)
  • Scattered PAR (incident to point) (mu mol m-2 s-1)
  • Total PAR (incident to point) (mu mol m-2 s-1)

 

 

 


OUTPUT FILES

3.6 dayflx.dat

The file containing daily output values of radiation absorbed, photosynthesis and transpiration. The format is
(1) five lines giving the titles of the input files
(2) several lines describing the content of the columns of output (with units)
(3) the actual output.
Notes:
- Both gross photosynthesis, and photosynthesis net of foliage maintenance respiration, are given. Other respiration components are not subtracted.
- Two estimates of transpiration are given (both in mol H2O tree-1 d-1). The first is calculated by applying the Penman-Monteith equation at every grid point. The second is calculated by applying the Penman-Monteith equation to the canopy as a whole.

- The sensible heat flux will only be calculated if the leaf energy balance is calculated (see under confile.dat).

3.7 hrflux.dat

This file is only created if IOHRLY > 0 (in confile.dat). It contains hourly output values. The format is essentially the same as that of the daily output file, except that values are given on an hourly basis. The additional values reported are the hourly woody maintenance respiration (the sum of stem and branch respiration) and the canopy stomatal conductance (calculated by summing gs over the canopy), and the 'decoupling coefficient' (DECO) (if 1, leaves were perfectly coupled to the atmosphere, indicating a very high boundary layer conductance).

3.8 layflx.dat

This file is only created if IOHRLY > 1. It lists the leaf area and values of Jmax and Vcmax in each layer of the canopy. (Leaf area is obtained by summing over the gridpoints in that layer).

For each hour it gives three rows of output. The top row is the absorbed PAR in each layer (mmol m-2 leaf s-1), the second row is the photosynthesis (mmol m-2 leaf s-1), and the third row is the transpiration (mmol m-2 leaf s-1).

The values for the topmost layer are always on the left.

resp.dat

This file is created if IORESP > 1, or if the program resp.exe is run. It gives daily growth and maintenance respiration estimates for all organs (foliage, stem, branch, coarse root, and fine root).

ptflx.dat

This file is only created when you run MAESHR instead of MAESTRA. This program is created by compiling together the usual Fortran files with maeshr.for instead of maestra.for. When it runs, the program will ask:

ENTER HOUR NUMBER (1 - X):

where X is the number of periods in the day (24 for hourly, 48 for half-hourly input data). Simulations are only done for that hour. The output file created, ptflx.dat, contains outputs for each grid point, sorted by canopy layer. This program is useful for examining the MAESTRA output in closer detail. The outputs for each point are:

PT: point number
X: x co-ordinate of point (m)
Y: y co-ordinate of point (m)
Z: height of point (m)
VOL: volume assoc. with point (cm3)
LA: leaf area assoc. with point (cm2)
SLA: fraction of leaf area which is sunlit
RBM: absorbed direct-beam PAR (mmol m-2 s-1)
RDF: absorbed sky diffuse PAR (mmol m-2 s-1)
RSC: absorbed scattered PAR (mmol m-2 s-1)
ABM: photosyn of sunlit LA (mmol m-2 s-1)
GBM: stom cond of sunlit LA (mmol m-2 s-1)
ADF: photosyn of shaded LA (mmol m-2 s-1)
GDF: stom cond of shaded LA (mmol m-2 s-1)
TBM: leaf temperature of sunlit foliage (oC)
TDF: leaf temperature of shaded foliage (oC)
WIND: wind speed at level of grid point (m s-1)
ETBM: transpiration of sunlit foliage (umol m-2 s-1)
ETDF: transpiration of shade foliage (umol m-2 s-1)
RNB: net radiation absorbed by sunlit foliage (J m-2 s-1)
RND: net radiation absorbed by shaded foliage (J m-2 s-1)
GBBM: the boundary layer conductance for sunlit foliage (mol m-2 s-1)

GBDF: the boundary layer conductance for shaded foliage (mol m-2 s-1)

3.11 Maeserr.dat

A typical output after a successful run of the program might look like this:

 CALCULATING WOODY RESPIRATION
 CALCULATING ROOT RESPIRATION
 WARNING: ROOT MAINT RESP NOT CALCULATED
 WARNING: BRANCH MAINT RESP NOT CALCULATED
 GS PARAMETERS ARE ASSUMED TO BE FOR CO2.
 JMAX ARRAY:
 VCMAX ARRAY:
 AJQ ARRAY:
 NO SLA VALUES: FOLIAGE GROWTH RESP NOT CALCULATED
 RD ARRAY:
 WARNING: ROOT MAINT RESP NOT CALCULATED
 WARNING: BRANCH MAINT RESP NOT CALCULATED
 WARNING : SPECIES LIST NOT READ, ALL SET TO SPECIES 1
 SIMULATION SUCCESSFULLY COMPLETED.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Note the last line of the file, which is only written if the model reaches the end of the simulation (if this line is not there, Maestra crashed before finishing!).

 An example of a fatal error:
 

ERROR READING PLOT DETAILS

FORTRAN ERROR CODE NO: -1

This indicates that the plot details were incorrectly specified.

The most common error codes are -1 (which indicates the entire namelist was missing) and 6511 (which indicates that an unknown name was found in a namelist). . If no error code is given, then there is a logical error in the values, which should be indicated by the error message.
 

Back to Maestra Homepage

 

 

 

 

 

 

 

 

 

Exercitationem

Visi ut aliquid ex

Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur.

Visi ut aliquid ex

Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatu

Et harum quidem rerum facilis est et expedita distinctio.