00001
00027 #ifndef FireEnv_H
00028 #define FireEnv_H
00029
00030 #include <stdlib.h>
00031
00032 #include "ChHashTable.h"
00033 #include "GridData.h"
00034 #include "FireYear.h"
00035 #include "List.h"
00036 #include "Err.h"
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00053 typedef struct FireEnv_ FireEnv;
00054
00059 struct FireEnv_ {
00061 int (* GetFuelsRegrowthFromProps) (ChHashTable * proptbl, GridData * std_age, GridData ** fuels);
00063 int (* IsIgnitionNowFromProps) (ChHashTable * proptbl);
00065 int (* GetIgnitionLocFromProps) (ChHashTable * proptbl, FireYear * fy, List ** rwxylist);
00067 int (* GetWindAzimuthFromProps) (ChHashTable * proptbl, int month, int day, int hour,
00068 unsigned int row, unsigned int col, double * waz);
00070 int (* GetWindSpeedMpsFromProps) (ChHashTable * proptbl, double fbedhgtm,
00071 int month, int day, int hour,
00072 unsigned int row, unsigned int col, double * wspmps);
00074 int (* GetDeadFuelMoistFromProps) (ChHashTable * proptbl, int month, int day, int hour,
00075 unsigned int row, unsigned int col,
00076 double * d1hfm, double * d10hfm, double * d100hfm);
00078 int (* GetLiveFuelMoistFromProps) (ChHashTable * proptbl, int year, int month, int day,
00079 unsigned int row, unsigned int col,
00080 double * lhfm, double * lwfm);
00082 int (* IsSantaAnaNowFromProps) (ChHashTable * proptbl, int year, int month, int day);
00084 int (* GetSantaAnaEnvFromProps) (ChHashTable * proptbl, int month, int day, int hour,
00085 double * waz, double fbedhgtm, double * wspmps,
00086 double * d1hfm, double * d10hfm, double * d100hfm);
00087 };
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00106 FireEnv * InitFireEnv();
00107
00115 void FreeFireEnv(FireEnv * fe);
00116
00117 #endif FireEnv_H