You are on page 1of 4

ibis.

infile
main.f

Read parameters * Hydrology parameters are not


call rd_param currently used in LBA MIP
(readpars.f)

Reads land mask, topography,


Read boundary conditions
soil map, etc…
call readit( …) * Many not used in 0D version
(io.f) (LBA MIP)

ibis.veg.soil;
Read Forcing variables clim_input
call readforc (…)
(io.f)

Calculate forcings
td, gdd5, gdd0, tc, tw, tcmin

* coldstart (in io.f): initialize


Initialize the model variables for first run
call initial hsno = 0; tsno = 273; tsoi = 278;
(initial.f) wsoi = 0.5; wisoi = 0
* restart: initialize from previous
run
Initialize all variables (initial.f)
Subroutines inisurf ; inisnow ;
inisoil ; iniveg ; inisum (time
averaging)

* LBA MIP test in K83: nrun = 4


years. As Hewlley was using data
Start of time loops from only one normal year, she
Yearly loop: iyear = iy1, iy1+nrun commented the calendar
calculations for leap years
Monthly loop: imonth = monthstart, 12
hsno = 0; tsno = 273; tsoi = 278;
wsoi = 0.5; wisoi = 0
Daily loop: iday = daystart, nday(imonth)
* restart: initialize from previous
run
Yearly loop

Monthly loop
Daily loop
* Subroutine daily generates ‘daily’ data
from monthly values (using random
Get forcing variables (daily means)
number generator)
call dailyF
Not used in LBA MIP data. As we have
(weather.f)
the forcing data for LBA MIP, subroutine
Update canopy phenology (LAI, canopy height, etc) dailyF is used (which reads and averages
call pheno directly from the half hourly)
(vegetation.f)

Call soil biogeochemistry Soil bgc spinning loop


Spin x times for each day to accelerate C & N pools
call soilbgc * see spin up procedure in
(biogeochem.f) main.f

Half hourly loop

Get hourly forcing variables •Same as for daily, diurnal generates


call diurnalF ‘hourly’ data from daily values (using
(weather.f) random number generator).
•diurnalF: reads input from LBA-MIP

Land Surface Model


call lsxmain
(main.f)

Accumulate hourly / daily /monthly / yearly


variables
call sumnow / sumday / summonth / sumyear
(stats.f)

LBA-MIP outputs (.csv files)


(hourly; balancenergy, balancewater)
Calculate LBA-MIP variables
Write LBA-MIP output files

Write daily output (netcdf files) * Commented in LBA-MIP


call wdaily (io.f) (Hewlley)

Write monthly output (netcdf files)


call wmonthly (io.f)

Perform Vegetation Dynamics


call dynaveg (vegetation.f)

Calculate annual diagnostics


call gdiag / vdiag (stats.f)

Write yearly output (netcdf files)


call wyearly (io.f)
Land Surface Model (subroutine lsxmain in main.f)

Initialize: set soil physical properties


(thermal conductivity, fraction of soil evap)
call setsoi (soil.f)

Calc area fraction wetted by intercepted rain


call fwetcal
(canopy.f)

Calc albedo and solar fluxes absorbed (and


IR irradianced emitted) by upper and lower
stories, soil and snow
(radiation.f)

Cascade – steps intercepted H2O due to drip,


precipitation and min/max limits of interception
(adjust throughfall within canopy)
call cascade (canopy.f)

Subroutine canopy
Calculates sensible heat and moisture fluxes
and steps canopy temperatures (implicitly)
through one time step (canopy.f)

Adjust intercepted h2o due to


evaporation
call cascad2 (canopy.f)

Steps snow model


call snow (snow.f)

Soil model
Subroutine soilctl (soil.f) - immediately transfer any excess puddle liq to runoff
- apportion (share out) rain between puddle liq and
sets soil infiltration rate (fwtop) runoff
(to be used in sub soilh2o) - apportion evap. or condensation between 4 h2o stores
and sets upper heat flux (fhtop) (wpud, wipud, wsoi, wisoi)
(to be used in sub soilheat) - transfer some puddle liquid to infiltration (fwtop)
-compute upper soil heat flux (fhtop)
Soil moisture calc – call soilh2o
Soil heat flux – call soilheat

return to main
Subroutine canopy

=> Calculates H and LE coefficients and steps canopy


temperatures (implicitly) through one time step

Atmospheric forcings are given in level za (above canopy)

Fluxes calculated in za are: Other fluxes are recorded in


com1d arrays
fsena = sensible heat flux (H)
fsen [ u, s, l, g, i ]
fvapa = water vapour flux (E) fvap [ u, s, l, g, i ]

Initialize aerodynamic quantities * za (i) is set here (LBA-MIP)


(initialize density of vegetation, diffusion ( line 143 in canopy.f )
coefficients)
call canini (canopy.f)

* Calculates a ‘stress factor’,


Estimate soil moisture stress parameters which is multiplied by vmax parameters in
call drystress (physiology.f) photosynthesis calculations

Calc wind speed and transfer coefficients


call turcof (physiology.f)

Iterates
Calc conductance and photosynthesis Vegetation parameters
niter are in file params.can
times call stomata (physiology.f)

Calc sensible heat and water vapor fluxes * Solves implicit system of equations on
call turvap (physiology.f) air / soil / vegetation temperatures and
moisture, driven by the radiation balance
of vegetation and ground, and the diffusive
and turbulent fluxes of sensible heat and
water vapor

return to lsxmain