Everglades Landscape Model (ELM) Home Page
Main Page | Data Structures | Directories | File List | Data Fields | Globals

unitmod.h

Go to the documentation of this file.
00001 
00012 /* General notes on revisions to this source file. 
00013        Jan 2005 v2.3.3: documentation upgrade 
00014                 - Re-organized, clarified scopes, Doxygen tags added 
00015                 - Created quasi-automated unitmod_*.h header file generation for vars and parms 
00016         Apr 2005 v2.4.4: changed init maps: icMult removed, icMacBio added
00017         May 2006 v2.5: added some debug-level output for boundary condition stage
00018         
00019 */
00020 #ifndef UNITMOD_H
00021 #define UNITMOD_H
00022 
00023 #include "globals.h"
00024 
00025 /* non-spatial variables */
00026 
00027 float DAYJUL; 
00045 float LATRAD, SOLALPHA, SOLALTCORR, SOLBETA, SOLCOSDEC, SOLDEC, SOLDEC1, SOLELEV_SINE, SOLRADATMOS,
00046       SOLRISSET_HA, SOLRISSET_HA1; 
00047 /* float AMPL, DAYLENGTH;*/ /* unused AMPL in unused DAYLENGTH */
00048 
00049 float dispParm_scaled;/* v2.1b, v2.4: dispersion adjustment parameter,  scaled for model grid (=0 for no adjustment)  */
00050 
00051 /* data for graph functions that interpolate the data */
00053 float g7[11][2] = { {0.0000000,0.0000000},{0.1000000,0.0200000},{0.2000000,0.0400000},{0.3000000,0.0700000},
00054     {0.4000000,0.1250000},{0.5000000,0.2150000},{0.6000000,0.3450000},{0.7000000,0.5750000},
00055     {0.8000000,0.8550000},{0.9000000,0.9850000},{1.0000000,1.0000000} };
00057 float g8[11][2] = { {0.0000000,0.0050000},{0.1000000,0.0100000},{0.2000000,0.0400000},{0.3000000,0.1000000},
00058     {0.4000000,0.2800000},{0.5000000,0.7150000},{0.6000000,0.8650000},{0.7000000,0.9350000},
00059     {0.8000000,0.9750000},{0.9000000,0.9950000},{1.0000000,1.0000000} };
00060 
00061 
00062 /* functions */
00063 int call_cell_dyn(int sector,int step);
00064 
00065 void cell_dyn1(int step);
00066 void cell_dyn2(int step);
00067 void cell_dyn4(int step);
00068 void horizFlow(int step);
00069 void cell_dyn7(int step);
00070 void cell_dyn8(int step);
00071 void cell_dyn9(int step);
00072 void cell_dyn10(int step);
00073 void cell_dyn12(int step);
00074 void cell_dyn13(int step);
00075 
00076 float tempCF(int form, float c1, float topt, float tmin, float tmax, float tempC);
00077 
00078 void init_static_data(void);
00079 void init_dynam_data(void);
00080 void init_eqns(void);
00081 void init_canals(int irun);
00082 void init_succession(void);
00083 void reinitBIR(void);
00084 void reinitCanals(void);
00085 
00086 void gen_output(int step, ViewParm *view);
00087 
00088 void ReadGlobalParms(char* s_parm_name, int s_parm_relval);
00089 void ReadHabParms(char* s_parm_name, int s_parm_relval);
00090 
00091 void get_map_dims(void);
00092 void alloc_memory();
00093 float graph7(unsigned char y, float x);
00094 float graph8(unsigned char y, float x);
00095 
00096 
00097 /* **** externs **** */
00098 
00099 /* from success.h */
00100 extern void HabSwitch_Init( void );
00101 extern unsigned char HabSwitch(int ix, int iy, float *Water, float *Nutrient,
00102                                int *Fire, unsigned char *HAB);
00103 
00104 /* from watmgmt.h */
00105 extern void Run_Canal_Network(float *SWH, float *ElevMap, float *MC,
00106                               float *GWV, float *poros, float *GWcond,
00107                               double *NA, double *PA, double *SA,
00108                               double *GNA, double *GPA, double *GSA,
00109                               float *Unsat, float *sp_yield);
00110 extern void Canal_Network_Init(float baseDatum, float *elev ); 
00111 extern void CanalReInit();
00112 
00113 
00114 /* from driver_utilities.h */
00115 extern int CalMonOut;
00116 extern void getInt(FILE* inFile, const char* lString, int* iValPtr);
00117 extern void read_map_dims(const char* filename);
00118 extern void write_output(int index, ViewParm* vp, void* Map,
00119                          const char* filename, char Mtype, int step);
00120 extern void getChar(FILE* inFile, const char* lString, char* cValPtr);
00121 extern void init_pvar(VOIDP Map, UCHAR* mask, unsigned char Mtype,float iv);
00122 extern int read_map_file(const char* filename, VOIDP Map,
00123                          unsigned char Mtype, float scale_value, float offset_value);
00124 extern int scan_forward (FILE* infile, const char* tstring);
00125 //extern float* get_DBase_parmOLD(const char *filename, int i0, int i1, int index);
00126 //extern float* get_DBase_parm(const char *filename, float *dArray);
00127 extern VOIDP nalloc(unsigned mem_size, const char var_name[]);
00128 extern float FMOD( float x, float y);
00129 
00130 /* from budgstats.h */
00131 extern basnDef **basn_list;
00132 extern basnDef *basins;
00133 
00134 extern void stats(int step);
00135 extern void alloc_mem_stats(void);
00136 extern void BIRinit(void);
00137 extern void BIRoutfiles(void);
00138 extern void BIRstats_reset(void);
00139 extern void BIRbudg_reset(void);
00140 extern void Cell_reset_avg(void);
00141 extern void Cell_reset_hydper(void);
00142 
00143 /* from fluxes.h */
00144 extern void Flux_SWater(int it, float *SURFACE_WAT,float *SED_ELEV,float *HYD_MANNINGS_N,
00145                    double *STUF1, double *STUF2, double *STUF3);
00146 extern void Flux_GWater(int it, float *SatWat, float *Unsat, float *SfWat,
00147                         float *rate, float *poros,
00148                         float *sp_yield, float *elev,
00149                         double *gwSTUF1, double *gwSTUF2, double *gwSTUF3,
00150                         double *swSTUF1, double *swSTUF2, double *swSTUF3);
00151 
00152 /* from generic_driver.h */
00153 extern int WatMgmtOn, ESPmodeON, HabSwitchOn;
00154 extern int avgPrint; /* v2.2.1note true/false flag to indicate whether it is the time (day) to finalize 
00155                                         and print averages for the current interval  */
00156 
00157 /* from driver_utilities.h */
00158 extern char *OutputPath, *ProjName;
00159 
00160 /* from serial.h */
00161 extern float* get_hab_parm(char* s_parm_name, int s_parm_relval, char* parmName);
00162 extern float get_global_parm(char* s_parm_name, int s_parm_relval, char* parmName );
00163 
00164 /* from stage.h, rain.h, evap.h */
00165 extern int stage_data_wmm(float*);
00166 extern int rain_data_wmm(float*);
00167 extern int evap_data_wmm(float*);
00168 
00169 
00170 #endif /* UNITMOD_H */

Generated on Thu Jul 6 11:17:56 2006 for ELM source code by  doxygen 1.3.9.1