Home Help News Contact Site Map ELM Search



Sequence of ELM Dynamic Equations



ELM dynamic equations are implemented in a series of function calls that reside in different source code files depending on the spatio-temporal aspect of the functions.  
At startup, the GenericDriver.c calls various initialization functions (e.g., alloc_memory, read_model_parameters, init_vars, read_output_parms) that are executed from different source code locations. The time loop in GenericDriver.c then initiates the following sequence of function calls, with spatial relations defined in the functions as appropriate:  

FunctionName

CalledFrom

FunctionIn

FunctionPurpose

call_cell_dyn

GenericDriver.c

UnitMod.c

Call ecological functions

cell_dyn1

UnitMod.c

UnitMod.c

Calculate global forcings

F_Hab_SwA

UnitMod.c

Success.c

Call habitat succession

horizFlow

UnitMod.c

UnitMod.c

Call horizontal hydrology

Run_Canal_Network

UnitMod.c

WatMgmt.c

Call canal network flows

Flows_in_Structures

WatMgmt.c

WatMgmt.c

Calculate structure flows

FluxChannel

WatMgmt.c

WatMgmt.c

Calculate canal-cell flows

f_Manning

WatMgmt.c

WatMgmt.c

Calculate overland interactions

f_Ground

WatMgmt.c

WatMgmt.c

Calculate subsurface interactions

Flux_SWater

UnitMod.c

Fluxes.c

Call raster surface flows

Flux_SWcells

Fluxes.c

Fluxes.c

Calculate raster surface flows

Flux_SWstuff

Fluxes.c

Fluxes.c

Calculate raster constituent flows

Flux_GWater

UnitMod.c

Fluxes.c

Call raster groundwater flows

Flux_GWcells

Fluxes.c

Fluxes.c

Calculate raster groundwater flows

cell_dyn7

UnitMod.c

UnitMod.c

Calculate hydrologic flows (vertical)

cell_dyn10

UnitMod.c

UnitMod.c

Calculate salt/tracer flows (vertical)

cell_dyn9

UnitMod.c

UnitMod.c

Calculate phosphorus flows (vertical)

cell_dyn2

UnitMod.c

UnitMod.c

Calculate algae/periphyton dynamics (vertical)

cell_dyn8

UnitMod.c

UnitMod.c

Calculate macrophyte dynamics (vertical)

cell_dyn11

UnitMod.c

UnitMod.c

Calculate standing detritus dynamics (vertical)

cell_dyn12

UnitMod.c

UnitMod.c

Calculate floc dynamics (vertical)

cell_dyn4

UnitMod.c

UnitMod.c

Calculate soil dynamics (vertical)

cell_dyn99

UnitMod.c

UnitMod.c

Calculate budget and statistics (all)

gen_output

GenericDriver.c

UnitMod.c

Generate output (at outstep intervals)

 
Note: for simplicity, a number of smaller (mostly utility) functions are not listed here