Open-FVS
Main Page
Modules
Data Types List
Files
File List
File Members
fof_sh.h
Go to the documentation of this file.
1
//
2
// $Id$
3
//
4
/*{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}
5
* Name: fof_sh.h
6
* Desc: Soil Heating defines for input and output structures
7
*
8
* NOTE: To DLL (Dynamic Link Library) uses. Do NOT change any of the
9
* #defines in this file.
10
* The were used to compile the DLL, if you change them they will
11
* NOT effect the functionality of the DLL.
12
* They are in here for your use and reference. For example the
13
* e_Layers #define is the number soil layers and you may want to
14
* use it in a loop to process the output for each layer.
15
*
16
*
17
*
18
{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}*/
19
20
#define REAL float
21
22
#define e_SoiSimFail "Soil Simulation Failed"
23
24
25
/*.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- */
26
/* Degrees (celsius), used to look for deepest soil layer reaching the */
27
/* specified temperature */
28
#define e_Max1 60
/* degrees in celsius */
29
#define e_Max2 275
30
31
/*...........................................................................*/
32
#define e_mplus1 14
/* Soil Simulation uses this define */
33
#define e_Layers e_mplus1
/* user define for # of Soil Layers */
34
35
/*.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.*/
36
/* Soil Input Parameters Struct */
37
typedef
struct
{
38
float
f_DufDepPre
;
/* Pre and Post fire Duff Depth */
39
float
f_DufDepPos
;
/* inches */
40
float
f_SoilMoist
;
41
42
/* If Soil Heating is being calculated using the Consumed Managers outputs */
43
/* you can set this from d_CO.cr_BrnIg, which tells if burnup ignited or not */
44
/* If you are running the Soil Heating as a stand alone calculation this */
45
/* field will get set to YES when you SI_Init(SI) the sturct */
46
char
cr_BrnIg[10];
/* "YES" or "NO", tells Burnup didn't ignite */
47
48
/* Soil Type Arguments........... */
49
#define e_LoaSke "Loamy-Skeletal"
50
#define e_FinSil "Fine-Silt"
51
#define e_Fin "Fine"
52
#define e_CoaSil "Coarse-Silt"
53
#define e_CoaLoa "Coarse-Loamy"
54
55
#define LOAMY_SKELETAL e_LoaSke
56
#define FINE_SILT e_FinSil
57
#define FINE e_Fin
58
#define COARSE_SILT e_CoaSil
59
#define COARSE_LOAMY e_CoaLoa
60
61
62
#define eC_SoilType 30
63
char
cr_SoilType[
eC_SoilType
];
64
65
66
/* Moisture Condition Arguments ............................... */
67
#define e_VeryDry "VeryDry"
68
#define e_Dry "Dry"
69
#define e_Moderate "Moderate"
70
#define e_Wet "Wet"
71
72
#define VERY_DRY e_VeryDry
73
#define DRY e_Dry
74
#define MODERATE e_Moderate
75
#define WET e_Wet
76
77
78
#define eC_MoistCond 30
79
char
cr_MoistCond [
eC_MoistCond
];
80
81
/*...........................................................................*/
82
/* These values come directly from the Burnup Model */
83
/* See notes in the fof_co.h file, in the d_CO struct definition */
84
int
i_Time
;
/* time duration in seconds */
85
int
i_Cnt
;
/* count for takin averag hea intn*/
86
float
f_fi
;
/* heat intensity */
87
88
}
d_SI
;
89
90
91
/*.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.*/
92
/* Soil Output strcuture */
93
/* Soil Layer Maximum Temperatures arrays */
94
/* Temperature is in celsius */
95
/* Time is in minutes from start of fire */
96
/* [0] index represents surface, followed by next layer down [1] */
97
98
typedef
struct
{
99
int
ir_Temp[
e_Layers
];
/* Maximum Temp */
100
int
ir_Time[
e_Layers
];
/* reached at this time */
101
102
float
f_cDufPre
;
/* Prefire Duff Dep - centimeters */
103
float
f_cDufPost
;
/* Postfire Duff Dep - centimeters */
104
105
float
f_Heatpc
;
/* Percent of heat that makes it thru*/
106
/* the duff during fire */
107
/* This is only relevant when the */
108
/* Duff Model is run, 0.0 -> 1.00 */
109
110
#define e_LayNone -1
/* tells when no layer reached degree*/
111
int
i_LayMaxDeg1
;
/* deepest layers reaching specified */
112
int
i_LayMaxDeg2
;
/* degrees, see defines e_Max1, e_Max2 */
113
114
#define e_SM_Duff "Duff"
/* Tells which soil model/simulation */
115
#define e_SM_ZDuff "Zero-Duff"
/* was used to generate output */
116
char
cr_Model[30];
117
118
}
d_SO
;
119
120
121
/*.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.*/
122
void
WINAPI
SI_Init
(
d_SI
*a_SI);
123
void
WINAPI
SO_Init
(
d_SO
*a_SO);
124
int
WINAPI
SH_Mngr
(
d_SI
*a_SI,
d_SO
*a_SO,
char
cr_TmpPth[],
char
cr_ErrMes[]);
d_SI::f_DufDepPos
float f_DufDepPos
Definition:
fof_sh.h:39
d_SO::i_LayMaxDeg2
int i_LayMaxDeg2
Definition:
fof_sh.h:112
d_SI
Definition:
fof_sh.h:37
d_SO::f_cDufPre
float f_cDufPre
Definition:
fof_sh.h:102
d_SI::i_Time
int i_Time
Definition:
fof_sh.h:84
eC_MoistCond
#define eC_MoistCond
Definition:
fof_sh.h:78
d_SI::f_DufDepPre
float f_DufDepPre
Definition:
fof_sh.h:38
SI_Init
void WINAPI SI_Init(d_SI *a_SI)
Definition:
fof_sh.c:233
eC_SoilType
#define eC_SoilType
Definition:
fof_sh.h:62
d_SO::f_cDufPost
float f_cDufPost
Definition:
fof_sh.h:103
d_SO::f_Heatpc
float f_Heatpc
Definition:
fof_sh.h:105
d_SO::i_LayMaxDeg1
int i_LayMaxDeg1
Definition:
fof_sh.h:111
d_SI::i_Cnt
int i_Cnt
Definition:
fof_sh.h:85
d_SO
Definition:
fof_sh.h:98
e_Layers
#define e_Layers
Definition:
fof_sh.h:33
SO_Init
void WINAPI SO_Init(d_SO *a_SO)
Definition:
fof_sh.c:198
d_SI::f_SoilMoist
float f_SoilMoist
Definition:
fof_sh.h:40
SH_Mngr
int WINAPI SH_Mngr(d_SI *a_SI, d_SO *a_SO, char cr_TmpPth[], char cr_ErrMes[])
Definition:
fof_sh.c:55
d_SI::f_fi
float f_fi
Definition:
fof_sh.h:86
fire
fofem
src
fof_sh.h
Generated on Sun Mar 29 2015 21:59:58 for Open-FVS by
1.8.9.1