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:
DESCRIPTION OF THE MAESTRA MODEL
Some history:
MAESTRO/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, 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 model is implemented in DOS-based Fortran, with text input and output files. At present there are no plans to develop a Windows version.
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:
DOWNLOAD FILES
Please Note! The MAESTRA program is provided freely here. 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.
Note: The additional programs SUMTREES.EXE, MAESTEST.EXE and RESP.EXE are temporarily not available from this website. Please contact Belinda Medlyn or Remko Duursma if you need these files, or check back here later (these programs are being tested in the new MAESTRA version).
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.
Executable: Download here the executable of MAESTRA (1.2 MB) (Right click and
select Save as...) : MAESTRA.EXE
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.
Example input files: Download here a zip file with a number of example input files: MAESTRA test input files.zip
Code: The file MAESTRA.ZIP (updated July 2009; 76 KB, zipped) contains: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.8.1). You must also install the rgl package, which is available from CRAN (just go install.packages("rgl") in R when connected to the internet).
Download the package here: Maeswrap_1.3.6.zip.
To install in R, go to Packages/Install package(s) from local zip files..., find the zip file, and press OK. Then, type library(Maeswrap) in R, and read the documentation under the runmaespa function (simply type ?runmaespa) to get you started.
The following utilities are available :
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.
The little red dot indicates that a particular input is necessary. Other inputs are optional.
Plot details:
Canopy structure:
Meteorological data: on an hourly or daily basis
Photosynthesis Parameters:
Stomatal Conductance Parameters:
Respiration Parameters:
Reflectance and Transmittance Parameters:
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 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.
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.