Toggle navigation
Open-FVS
Dashboard
Settings
Profile
Help
Main Page
Modules
Data Types List
Files
File List
File Members
fire
fofem
src
fm_fofem.h
Go to the documentation of this file.
1
//
2
// $Id$
3
//
4
/*{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}
5
* Name: fm_fofem.h
6
* Desc: Interface between the FFE-FVS and fofem for predicting Soil Heating.
7
*
8
{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{*}{**/
9
10
/*.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.*/
11
/* Output Array Indexes */
12
/* The soil heat temperature for each layer will start going into the array */
13
/* at eX_Deg, of which there are 'e_Layers' layers. Following that will */
14
/* go the deepest layer number that reach 60 and 275 degrees */
15
/* these are the same things we show on the FOFEM Soil report */
16
#define eX_Deg 0
/* start indx of layr degees */
17
#define eX_SL60 eX_Deg+e_Layers
/* Seen note above */
18
#define eX_SL275 eX_SL60 +1
19
20
/*.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.*/
21
/* Input Array indexes */
22
/* each index demotes a position in the input array where the caller is */
23
/* to put a particular input value or code */
24
/* Also shown below are the numeric codes that are to be used for setting */
25
/* season, fuel category, etc. */
26
/* Note-1: the caller needs to send into the function the lenght of there */
27
/* error message string, so that I can check and not over run it. */
28
/* */
29
30
#define eX_EM 0
/* len callrs err mess str, see Note-1 Above */
31
32
#define eX_1Hr 1
/* 1 Hr, 0->1/4 woody load */
33
#define eX_10Hr 2
/* 10 Hr, 1/4->1 woody load */
34
#define eX_100Hr 3
/* 100 Hr, 1->3 woody load */
35
36
#define eX_Snd_DW3 4
/* 1000 hour */
37
#define eX_Snd_DW6 5
38
#define eX_Snd_DW9 6
39
#define eX_Snd_DW20 7
40
41
#define eX_Rot_DW3 8
42
#define eX_Rot_DW6 9
43
#define eX_Rot_DW9 10
44
#define eX_Rot_DW20 11
45
46
#define eX_Duff 12
/* Duff load */
47
#define eX_DufDep 13
/* Duff depth, inches */
48
49
#define eX_Litter 14
/* Litter Load */
50
51
#define eX_Herb 15
/* Herb load */
52
#define eX_Shrub 16
/* Shrub load */
53
54
#define eX_CroFol 17
/* Crown Foliage load */
55
#define eX_CroBra 18
/* Crown Branch load */
56
#define eX_Pc_CroBrn 19
/* Percent of crown that will burn */
57
58
#define eX_MoistDW10 20
/* 10 Hr Moisture */
59
#define eX_MoistDW1k 21
/* 1000 Hr Moisture */
60
#define eX_MoistDuff 22
/* Duff Moisture */
61
62
/*...........................................................................*/
63
/* Inputs for Soil Heating */
64
#define eX_MoistSoil 23
/* Soil Moisture */
65
66
#define eX_MoistCond 24
67
#define e_xVeryDry 1
68
#define e_xDry 2
69
#define e_xModerate 3
70
#define e_xWet 4
71
72
73
#define eX_SoilType 25
74
#define e_xLoaSke 1
75
#define e_xFinSil 2
76
#define e_xFin 3
77
#define e_xCoaSil 4
78
#define e_xCoaLoa 5
79
80
/*...........................................................................*/
81
82
#define eX_MM 26
/* Duff Moisture Method */
83
#define e_xEntire 1
84
#define e_xLower 2
85
#define e_xNFDR 3
86
#define e_xAdj_NFDR 4
87
88
#define eX_Season 27
/* Season */
89
#define e_xSpring 1
90
#define e_xSummer 2
91
#define e_xFall 3
92
#define e_xWinter 4
93
94
#define eX_Region 28
/* Region */
95
#define e_xIntWest 1
96
#define e_xPacific 2
97
#define e_xSE 3
98
#define e_xNE 4
99
100
#define eX_FuelCat 29
/* Fuel Category */
101
#define e_xNatural 1
102
#define e_xPiles 2
103
#define e_xSlash 3
104
105
#define eX_MM_CovGrp 30
/* Cover Group */
106
#define e_xGrassGroup 1
107
#define e_xSageBrush 2
108
#define e_xShrubGroup 3
109
#define e_xPocosin 4
110
#define e_xPonderosa 5
111
#define e_xWhiPinHem 6
/* White Pine Hemlock */
112
#define e_xRedJacPin 7
/* Red Jack Pine */
113
#define e_xBalBRWSpr 8
/* Balsam, Blk Red Whit Spruce */
114
115
/* 1 will Cause an output file to be created, showing inputs and outputs */
116
/* 0 is used for no output file */
117
#define eX_OutFile 31
/* will great output file */
118
119
120
#ifdef CMPgcc
121
int
fm_fofem_ (
float
fr_In[],
float
fr_Out[],
char
cr_ErrMes[]);
122
#else
123
int
fm_fofem
(
float
fr_In[],
float
fr_Out[],
char
cr_ErrMes[]);
124
#endif
125
fm_fofem
int fm_fofem(float fr_In[], float fr_Out[], char cr_ErrMes[])