Skip to Content

Department of Biological Sciences

The MAESTRA Model

This website is maintained by Belinda Medlyn: bmedlyn@bio.mq.edu.au
and Remko Duursma : remkoduursma@gmail.com
Last updated July 2009
Hosted by Biological Science at Macquarie University


CONTENTS:

Model Description

Coming soon: MAESPA

Download Files

On-Line Manual

Bibliography

MAESTRA utilities in R

Join Mailing List

Most Recent Changes

Input Checklist


DESCRIPTION OF THE MAESTRA MODEL

 

Some history:

    MAESTRA is a model of forest canopy radiation absorption and photosynthesis. The model has a long history, going back to the work of Norman & Jarvis in the 1970's and 80's. Ying Ping Wang improved and tested the model for his PhD thesis (then called MAESTRO), and it was published in Wang & Jarvis (1990) Agric For Meteorol 51:257-280. A lot of other people have worked on the model over the years, and as of 1997 there were several versions of the model in existence, most of which were complicated and difficult to understand or modify. In 1997 I obtained a version of the code from Ying-Ping Wang and set about revising it, with the objectives of (i) modularising the code to make the program easier to understand and modify; and (ii) incorporating standard formulations of physiological sub-modules (Farquhar - von Caemmerer, Ball-Berry). This standardised code is available from this website. 

Model description:

  • The forest canopy is represented in the model as an array of tree crowns, whose positions and dimensions are specified.
  • Calculations are done for just one tree crown at a time, the 'target tree’, but there can be multiple target trees in a plot.
  • The distribution of leaf area within the target crown is specified, as is the leaf angle distribution.
  • The main meteorological driving variables are incident radiation, air temperature and humidity.
  • The target crown is divided into a number of grid points, and the radiation penetrating to each grid point is calculated for three wavebands (PAR, near infra-red and longwave). Direct, diffuse, and scattered radiation are considered separately.
  • The absorbed PAR at each grid point drives the photosynthesis and transpiration routines.
  • Photosynthesis is calculated from the Farquhar-von Caemmerer model.
  • Stomatal conductance can be calculated from either of the Jarvis, Ball-Berry, Ball-Berry-Leuning or Ball-Berry-Opti models.
  • Transpiration is calculated by applying the Penman-Monteith equation at each gridpoint, and summing over the gridpoints.

The model is implemented in Fortran, with text input and output files. Maestra does not have a graphical user interface.


Coming Soon: MAESPA

    One limitation of the MAESTRA model is that the water balance is not simulated, and effects of soil water deficits on stomatal conductance are only estimated in a simple empirical way. To overcome this limitation, we have been developing a new version of MAESTRA by combining it with the SPA model from Mat Williams (Williams et al. 2001 P,C&E 24:679-690; Williams et al. 2001 Tree Phys. 21:287-298). The model is currently operational, and will be available for download as soon as a first publication is in press (hopefully sometime in 2009).

    Although MAESTRA is a single-tree based model, the water balance is calculated for a stand of trees only. That is, no spatial dependence of the water balance is simulated. This means that it is vital that a sufficient number of target trees are chosen in the stand (and that they are representative of the stand).

    The soil is divided up into a number of layers, each with a specified rooting density. Soil hydraulic properties can be specified for each layer, based on the simple Campbell (1976) model.

    The model includes the following processes:

  • Canopy interception. The Rutter et al. model of canopy rainfall interception is used (Rutter et al. 1975 J. App. Ecol. 12:367-380).
  • Drainage. The Richards flow equation is solved to determine matrix flow. During infiltration, a simple routine determines macropore flow.
  • Soil water uptake. Total transpiration rate is partitioned to the rooted soil layers according to the leaf-specific soil-to-root hydraulic conductance in each layer (which is a function of rooting density, soil water potential, soil hydraulic properties). The maximum transpiration rate is calculated based on plant and soil conductance, and a minimum leaf water potential. If calculated unstressed transpiration exceeds this maximum, transpiration is set to the maximum.
  • Soil evaporation. The soil evaporation model of Choudhury and Monteith (1989) is used, with Williams et al. (2001) modification to keep track of multiple dry layers.
  • Soil energy balance. Soil evaporation is a function of soil surface temperature. The soil surface energy balance is solved to arrive at this surface temperature, based on thermal conductivity of the soil, net radiation reaching the soil surface, latent and sensible energy exchange.

     


DOWNLOAD FILES

    Please Note! The MAESTRA program is provided freely. We expect you to use it in good faith. Please contact us if you would like to use the program in your work. Also, we take no responsibility for errors encountered in the model or in outputs generated by the model.


    Visit the download page to get the Maestra files : DOWNLOAD.

    If you are visiting this website from China, please contact remkoduursma@gmail.com to obtain the model or code. If you are in China, but have no problem downloading the files, please let us know as well!

    If you publish anything using Maestra, please let me know so I can add it to the bibliography. Thank you.

    Documentation: The on-line manual gives full details of how to run the program. Please see the bibliography for articles with information regarding model operation. 

    WARNING:Due to changes in the new maestra version, old met.dat files will no longer work. See this section in the manual on how to reformat one of the namelists in the met.dat file. You also need to make a small fix to the confile.dat file, see here for details.

    Note: The additional programs SUMTREES.EXE and RESP.EXE are not available from this website. Please contact Belinda Medlyn or Remko Duursma if you need these files.



Batch Utilities in R

    A number of useful utilities were written in R, including functions to do multiple MAESTRA runs, and to visualize the stand 3D (as input in the trees.dat file).

    To use the package, you must have R installed (if you don't, go here). Also make sure to update to a new version of R (> 2.13.0). You must also install the rgl package and the geometry package, which are both available from CRAN (just go install.packages("rgl") in R when connected to the internet).

    The Maeswrap package is available from CRAN. (http://cran.r-project.org/).

    To start, read the documentation under the runmaespa function (simply type ?runmaespa) to get you started.

    The following utilities are available :

  • Run MAESTRA (or MAESPA) in batch mode. You can specify a comma-separated file (editable in excel), with each column a parameter name, and each row corresponding to a different run. The function maestrarunall runs each row in this file, and returns all the results (daily and half-hourly) either as files or as a large R object.
  • Visualize the stand in 3D. This function reads the trees.dat file and plots an interactive 3D graph of the stand. Reads the crown shapes from the str.dat file (or from multiple str.dat files if the stand has multiple species). Also adds an arrow pointing North ( read from the met.dat file), and colors the target trees in red (read from the confile.dat file).
  • Plot understorey PAR. If the understorey is simulated based on the ustorey.dat parameter file, the radiation at each gridpoint is read from the uspar.dat file. This information is used to plot the radiation intensity at the understorey in greytones as a levelplot.
  • Read output files. There are custom functions for reading the hourly and daily flux and the met input file into R. 

MAILING LIST

Would you like to be kept informed of changes to the MAESTRA program? If you write me a note I will add your name to my mailing list. This mailing list will be advised whenever an updated version of MAESTRA becomes available from these pages.


INPUT CHECKLIST

    The little red square indicates that a particular input is necessary. Other inputs are optional.

    Plot details:

  • Latitude and longitude.
  • Stocking.
  • Bearing. The bearing from north of the x-axis of the plot.
  • Slope. The slope, in degrees, in x and y directions.

    Canopy structure:

  • Positions of all the individual crowns. The x and y co-ordinates of each crown can be specified, or calculated from the plot size and number of trees.
  • Crown dimensions. The radii in the x and y directions and the heights of the trunk and green canopy can be specified for each crown, or it can be assumed that all crowns have the same dimensions. If the simulation is to run for a long period of time, these values should be specified for a series of dates, to allow the crowns to grow.
  • Leaf area. The leaf area for each crown (or an average value for all crowns) should be specified for the whole period of the simulation.
  • Stem diameters.
  • Canopy shape. Conical, ellipsoidal, or paraboloidal.
  • Leaf inclination angle distrutibution. The distribution of leaf angles, or the average leaf angle.
  • Proportion of leaf area in each leaf age class.
  • Distribution of leaf area within the crown, in vertical and/or horizontal directions. This can be specified for up to three leaf age classes.
  • Clumping factor: the ratio of shoot projected area : leaf projected area.


    Meteorological data: on an hourly or daily basis

  • Incident radiation. Either PAR or total radiation.
  • Fraction of incident radiation which is direct-beam.
  • Temperature. Either hourly temperature or daily minimum and maximum.
  • Relative humidity or vapour pressure deficit.
  • Wind speed above the canopy.
  • Atmospheric CO2 concentration. Average value sufficient.
  • Atmospheric pressure. Average value sufficient.


    Photosynthesis Parameters:

  • Jmax and Vcmax. These can be specified for different canopy layers and different foliage age classes, also on different dates. They can also be specified as functions of leaf nitrogen content, in which case the slope and intercept of the relationship are required.
  • Leaf N content. This can be specified for different canopy layers and different foliage age classes, also on different dates.
  • Theta. Curvature of light-response curve of Jmax.
  • Parameters of temperature-response curves of Vcmax and Jmax.


    Stomatal Conductance Parameters:

  • Jarvis model parameters. GSREF, GSJI0, GSJD0, GSJA, GSJB, GSJTREF, GSJTMAX, GSJT0
  • Ball-Berry model parameters. Slope and intercept of Ball-Berry model.
  • Ball-Berry-Leuning model parameters. Slope, intercept, and D0 in Ball-Berry-Leuning model.
  • Leaf width.


    Respiration Parameters:

  • Leaf dark respiration rate.This can be specified for different canopy layers and different foliage age classes, also on different dates. It can also be specified as a function of leaf nitrogen content, in which case the slope and intercept of the relationship are required.
  • Q10 for leaf respiration.
  • Fraction by which leaf dark respiration is reduced in the light.
  • Growth and maintenance respiration coefficients for respiration of other tree components. Stem, branches, coarse roots, fine roots.
  • Allometric coefficients for biomass as a function of stem height and diameter. These are used to calculate the amount of respiring biomass.


    Reflectance and Transmittance Parameters:

  • Soil reflectance. For three wavebands.
  • Leaf reflectance and transmittance. For three wavebands. These can be specified separately for different canopy layers and foliage age classes.

VALIDATION DATA

The outputs from MAESTRA are the hourly values of absorbed radiation, photosynthesis and transpiration of the target tree. Useful validation data are intercepted PAR and CO2 and H2O fluxes.

 


CHANGES TO 27/05/2011

  • Minor code changes. Crown shape input is no longer case-sensitive. A warning is written to maeserr.dat when using the 'box' crownshape as it is known  to cause problems (but not always). 
  • The Jarvis model of stomatal conductance is available again (the 'surely we can do better' warning is removed).
  • If Maestra finished without a fatal crash, the message 'SIMULATION SUCCESSFULLY COMPLETED' is written to Maeserr.dat.

CHANGES TO 09/02/2011

  • Added the option to output PAR transmission at user-defined locations in the stand (this was previously done by the maestest.exe program). Useful for comparing against PAR sensor measurements. See the manual (points.dat) for details.

CHANGES TO 01/02/2011

  • Included a new stomatal conductance model from Medlyn et al 2011 ("Reconciling the optimal and empirical approaches to modelling stomatal conductance",
    Glob Change Biol, DOI:10.1111/j.1365-2486.2010.02375.x). See the manual for instructions.
  • Significant update to the code and its organization (although this should not affect functionality), if you use the code directly please update!
  • Various tiny bug fixes.

CHANGES TO 13/07/2009

  • Cone bug. A bug related to light interception when using the cone crown shape was fixed.

CHANGES TO 01/04/2009

  • Multi-species option. It is now possible to allow for multiple species in one plot, each species having unique physiological parameters as well as canopy structure parameters (such as crown shape, etc.). For each species, a separate str.dat and phy.dat file can be specified. See the on-line manual for more details.
  • Understorey. The understorey model that was previously implemented in the not widely available MAESUS is now embedded in MAESTRA, with a few small changes. Light reaching the understorey (currently only PAR) is calculated for a number of points (up to 10000) in a rectangular grid. This is used as input to the BEWDY model (Medlyn et al. 2000, CJFR), which calculates photosynthesis and transpiration with a simplified big leaf canopy model. The PAR calculations may also be useful for tracking shadows on the forest floor (and checking the radiation routines). See the on-line manual for more details.
  • Time steps. The number of timesteps in a day is now an input parameter in the met.dat file. Previously, MAESTRA had to be recompiled when a different timestep was used (hourly or half- hourly). The maximum number of timesteps is 24*60, allowing MAESTRA to run on minutely input data.
  • Crown grid points. MAESTRA defaulted to placing 72 grid points in a target tree for radiation calculations, based on 6 vertical layers and 12 points per layer. The number of points per layer is now input (PPLAY in confile.dat in the namelist diffang. Points are still placed on four azimuthal 'spokes'. The maximum number of points is very large (10000), but simulations have showed that rarely more than 72 are needed in a crown (the exception is for very dense crowns, in which case a sensitivity analysis on PPLAY and NOLAY is a good idea).

 

CHANGES TO 31/03/2007

 

  • Soil moisture effect on stomatal conductance. Soil moisture can now be input as either soil water content or potential. Three different functions are now provided for the effect of soil moisture on stomatal conductance.
  • Cylinder crown shape. The absorbed radiation was incorrect if you used the cylinder crown shape. This bug has been corrected.
  • Other Bugs. The calculation of azimuth angle in the southern hemisphere was corrected. The equation for incident thermal radiation was improved. A small bug in the interpolation of tree parameters was corrected.
  • Other compilers. .I'm attempting to fix the code so that it will be able to be compiled with other compilers (other than Compaq Visual Fortran). This is work in progress - I've made some small changes but more will likely come.

 

CHANGES TO 22/01/2004

 

  • Q10 of foliage and wood respiration. Can now be specified by date.
  • Bugs. A couple of small bugs in the routine that calculates pathlength (DIST) were corrected. There were also some inconsistencies if you had different numbers of foliage age classes for the physiology and leaf area density distributions. 

 

CHANGES TO 10/09/2001

 

  • Met data file. The start of the actual met data in the file met.dat must be preceded by the line
    DATA STARTS
    (note: caps essential; no tabs or extra blank spaces). This ensures the file is read from the correct place, regardless of system.
  • Soil water content and its effect on stomatal conductance. Soil water content may be specified in the met.dat file by adding a column 'SW'. This will be converted into a soil moisture deficit using the two additional parameters SWMAX and SWMIN which must be given in the namelist ENVIRON in met.dat. The soil moisture deficit is given by SMD = (SWMAX - SW) / (SWMAX - SWMIN). Thus SW should be in the same units as SWMAX and SWMIN.
    The effect of soil moisture on stomatal condutance is calculated as f(SMD) = 1 - SMD1*exp(SMD2*SMD) where SMD1, SMD2 are parameters. This function is implemented for all three stomatal conductance models. The parameters SMD1, SMD2 should be added to the relevant namelists in phy.dat.
    In the code you will note that work is also under way to add back in the water balance routines used by Barton & Massheder - however this has not yet been completed [and abanded in favour of MAESPA, see above].
  • Quantum yield of electron transport. Previously this was specified as AJQ in namelist JMAXPARS in phy.dat. Alternatively, you can now specify different values according to date, layer, and age class, as you can for JMAX, VCMAX, etc. This is done by adding namelists
    &AJQCON    NODATES, NOLAYERS, NOAGES \
    &AJQ            DATES, VALUES \
    to phy.dat.
  • Alternative formulations of the temperature dependences of Km and Gamma*.  Use the temperature dependences found by Bernacchi et al (2001) Plant Cell Environ. 24:253-260 by adding the parameter IECO = 0 in namelist JMAXPARS in file phy.dat. The default IECO = 1 is to use the temperature dependences opted for by the ECOCRAFT group.
  • Estimating incident radiation. 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 it is necessary to put the namelist
    & BRISTO    DELTAT    \
    in the met.dat file. DELTAT should have 12 values representing the mean monthly daily temperature amplitude for each month of the year.
  • Stem maintenance respiration on an area basis. To specify stem maintenance respiration on an area basis rather than a mass basis, change the namelist WRESP in phy.dat to have the following parameters:
    RMA - maintenance respiration per unit stem surface area (instead of RM, the rate per unit mass)
    STEMFORM - used to calculate total stem surface area. Stem SA = STEMFORM * PI * HT * DBH^2
    Parameters RTEMP, Q10W, EFFY stay the same.
  • Outputs. Mean canopy temperature (TCAN) is output on an hourly basis. There is also a column for water evaporation but this is non-operational at the moment.
  • Bugs. In the version of 14/3/99, a cosine was added to the calculation of WNS1 in TRANSD. This change should not have been made and has been corrected in the current version.
  • Thermal radiation. The formula used to estimate incident thermal radiation was changed to that of Monteith & Unsworth (1990) Principles of Environmental Physics V2 p53 - this formula takes into account higher radiation from cloudy skies.
  • Understorey. A program has been written to calculate radiation absorption and photosynthesis by a grass understorey. This program is not available on this web site but may be obtained by writing to Belinda Medlyn.

CHANGES TO 12/1/2000

  • Fixed millennium bug. Dates should still be specified as ‘DD/MM/YY’. YY = 50 - 99, years 1950-1999 assumed; YY = 00 - 49, years 2000 – 2049 assumed. Someone else can change the program come 2050 …
  • Powerstation Version: Changes made so that program compiles in Microsoft Fortran PowerStation. IMPORTANT:  in input files, arrays involving strings (e.g. dates) must come at the end of the namelist, after all numbers – this means a change to the input file.
  • Added incident total short-wave radiation to hourly input met data options. Column ‘RAD’ in W m-2.
  • Added new VPD function for Jarvis stomatal conductance.
        F(VPD) = min(1,1/(VK1*VPD^VK2))
    with parameters VK1 and VK2 in namelist JARGS in phy.dat. To use, set j = 3 in namelist MODELGS in confile.dat.
  • Bugs Fixed: (in order of importance)
    (1) The photosynthesis subroutine PHOTOSYN was returning gross photosynthesis, not net, for the Ball-Berry-Leuning case.
    (2) A correction to the subroutine DIST in radn.for to handle the case where the ray is completely outwith the crown.
    (3) Handle correctly the cases where Jmax or Vcmax <= 0, where photosynthesis is below the light compensation point, and to calculate Gamma* when T < 0.
    (4) If physiology is only specified for one age class, but LAD distributions are specified for several, the physiology data must be copied into arrays for the other age classes.
    (5) In the calculation of the beam fraction of incident radiation, a more accurate estimate of the zenith angle is now used.
  • New Parameters Added:
    (1) The initial slope of the light-response curve of electron transport is now the parameter AJQ (namelist: JMAXPARS in phy.dat). Default value: ALPHAQ = 0.425 mol mol-1 (defined in maestcom).
    (2) Added parameters to force Jmax and Vcmax to go to zero at low temperatures. They begin to decline linearly to zero at T = TVJUP °C and reach zero at T = TVJDN °C. TVJUP, TVJDN are in namelist VCMAXPARS in phy.dat. Default values: -100.



    This page has been visited click tracking times since April 2009.

 

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.