00001
00026 #ifndef FireYear_H
00027 #define FireYear_H
00028
00029 #include <stdlib.h>
00030
00031 #include "GridData.h"
00032 #include "IntTwoDArray.h"
00033 #include "ChHashTable.h"
00034 #include "FuelModel.h"
00035 #include "CoordTrans.h"
00036 #include "Err.h"
00037
00038
00039
00040
00041
00042
00043
00047 #define FIRE_YEAR_ID_UNBURNABLE (-9999)
00048
00052 #define FIRE_YEAR_ID_DEFAULT (0)
00053
00054
00055
00056
00057
00058
00059
00063 typedef struct FireYear_ FireYear;
00064
00068 struct FireYear_ {
00070 int year;
00072 int num_fires;
00074 double xllcorner;
00076 double yllcorner;
00078 int cellsize;
00080 IntTwoDArray * id;
00081 };
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00110 FireYear * InitFireYearFuels(int year, GridData * fuels, ChHashTable * fmtble);
00111
00127 int FireYearGetCellIDRowCol(FireYear * fy, int i, int j, int * id);
00128
00144 int FireYearGetCellIDRealWorld(FireYear * fy, double rwx, double rwy, int * id);
00145
00154 int FireYearIsCellBurnedRowCol(FireYear * fy, int i, int j);
00155
00164 int FireYearIsCellBurnedRealWorld(FireYear * fy, double rwx, double rwy);
00165
00176 void FireYearSetCellNewFireIDRowCol(FireYear * fy, int i, int j);
00177
00188 void FireYearSetCellNewFireIDRealWorld(FireYear * fy, double rwx, double rwy);
00189
00197 void FreeFireYear(FireYear * fy);
00198
00199 #endif FireYear_H