70 const QVector<LayerElement> &
names();
74 QVector<LayerElement> mNames;
75 double ruValueAt(
const WindCell *cell,
const int what)
const;
105 void run(
const int iteration=-1,
const bool execute_from_script=
false);
108 void setWindProperties(
const double direction_rad,
const double speed_ms) { mWindDirection = direction_rad; mWindSpeed = speed_ms; }
117 bool eventTriggered();
119 void detectEdges(
bool at_startup=
false);
120 void calculateFetch();
121 int calculateWindImpact();
125 bool checkFetch(
const int startx,
const int starty,
const double direction,
const double max_distance,
const double threshold) ;
127 bool windImpactOnPixel(
const QPoint position,
WindCell *cell);
129 double calculateCrownWindSpeed(
const Tree *tree,
const WindSpeciesParameters ¶ms,
const double n_trees,
const double wind_speed_10);
130 double calculateCrititalWindSpeed(
const Tree *tree,
const WindSpeciesParameters ¶ms,
const double gap_length,
double &rCWS_uproot,
double &rCWS_break);
132 bool isSoilFrozen(
const ResourceUnit *ru,
const int day_of_year)
const;
135 void scanResourceUnitTrees(
const QPoint &position);
136 void loadSpeciesParameter(
const QString &table_name);
138 void initializeEdgeAge(
const int years);
139 void incrementEdgeAge();
143 double mWindDirection;
144 double mWindDirectionVariation;
146 double mEdgeDetectionThreshold;
149 bool mSimulationMode;
150 int mCurrentIteration;
152 double mGustModifier;
153 double mCurrentGustFactor;
154 enum ETopexFactorModificationType {gfMultiply, gfAdd} mTopexFactorModificationType;
155 double mIterationsPerMinute;
156 int mEdgeAgeBaseValue;
158 double mEdgeBackgroundProbability;
162 double mTotalKilledBasalArea;
163 double mTotalKilledVolume;
164 enum ESoilFreezeMode {esfFrozen, esfNotFrozen, esfAuto, esfInvalid} mSoilFreezeMode;
169 QHash<const Species*, WindSpeciesParameters> mSpeciesParameters;
173 QString mAfterExecEvent;
An expression engine for mathematical expressions provided as strings.
Definition: expression.h:29
Grid class (template).
Definition: grid.h:44
This is the base class for multi-layer grids in iLand.
Definition: layeredgrid.h:95
const Grid< WindCell > * mGrid
Definition: layeredgrid.h:130
ResourceUnit is the spatial unit that encapsulates a forest stand and links to several environmental ...
Definition: resourceunit.h:49
The behavior and general properties of tree species.
Definition: species.h:75
A tree is the basic simulation entity of iLand and represents a single tree.
Definition: tree.h:44
data structure for a single wind cell (usually 10x10m).
Definition: windmodule.h:34
float height
top height (m).
Definition: windmodule.h:40
double crown_windspeed
wind speed (m/s) on the cecll
Definition: windmodule.h:51
double sum_volume_killed
running sum of killed tree volume on that pixel (m3)
Definition: windmodule.h:53
double cws_uproot
critital wind speed for uprooting (m/s)
Definition: windmodule.h:49
int edge_age
age of an edge (consecutive number of years of being an edge)
Definition: windmodule.h:47
int n_killed
number of trees killed on the pixel
Definition: windmodule.h:46
bool isValid() const
returns true if the pixel is on the valid project area
Definition: windmodule.h:38
WindCell()
Definition: windmodule.h:36
const Tree * tree
pointer to the tallest tree on the pixel (if already populated)
Definition: windmodule.h:42
float n_trees
number of trees on pixel
Definition: windmodule.h:41
void clear()
Definition: windmodule.h:37
double cws_break
critical wind speed for tree breakage (m/s)
Definition: windmodule.h:50
int n_iteration
number of iteration this pixel is processed (and trees are killed)
Definition: windmodule.h:45
double basal_area_killed
basal area of trees that died (m2) (during an event)
Definition: windmodule.h:48
int n_affected
number of storm that killed trees on that pixel.
Definition: windmodule.h:52
float edge
maximum difference to neighboring cells (m)
Definition: windmodule.h:43
float topex
topographic modifier for wind speed (-)
Definition: windmodule.h:39
Helper class manage and visualize data layers related to fire.
Definition: windmodule.h:66
double value(const WindCell &data, const int index) const
Definition: windmodule.cpp:55
void setGrid(const Grid< WindCell > &grid)
Definition: windmodule.h:68
const QVector< LayerElement > & names()
list of stored layers
Definition: windmodule.cpp:77
void setRUGrid(const Grid< WindRUCell > *grid)
Definition: windmodule.h:72
The WindModule is the main object of the iLand wind module.
Definition: windmodule.h:95
bool simulationMode() const
Definition: windmodule.h:110
void setWindProperties(const double direction_rad, const double speed_ms)
Definition: windmodule.h:108
WindModule()
Definition: windmodule.cpp:109
void setSimulationMode(const bool mode)
Definition: windmodule.h:109
friend void nc_calculateFetch(WindCell *begin, WindCell *end)
Definition: windmodule.cpp:463
static double cellsize()
Definition: windmodule.h:98
void setupResourceUnit(const ResourceUnit *ru)
setup of spatial explicit variables (e.g.
Definition: windmodule.cpp:193
void run(const int iteration=-1, const bool execute_from_script=false)
main function of the disturbance module
Definition: windmodule.cpp:295
void testFetch(double degree_direction)
Definition: windmodule.cpp:566
void setMaximumIterations(const double maxit)
Definition: windmodule.h:111
void setup()
the general setup routine after starting iland
Definition: windmodule.cpp:125
WindLayers & layers()
Definition: windmodule.h:102
void testEffect()
Definition: windmodule.cpp:585
friend void nc_calculateWindImpact(ResourceUnit *unit)
Definition: windmodule.cpp:518
Definition: windmodule.h:56
bool soilIsFrozen
Definition: windmodule.h:60
WindRUCell()
Definition: windmodule.h:58
int flag
Definition: windmodule.h:59
Definition: windscript.h:29
Species parameters that are specific to the wind module.
Definition: windmodule.h:82
double wet_biomass_factor
Definition: windmodule.h:88
double MOR
Definition: windmodule.h:87
double crown_length
Definition: windmodule.h:85
WindSpeciesParameters()
Definition: windmodule.h:83
double crown_area_factor
Definition: windmodule.h:84
double Creg
Definition: windmodule.h:86