Ecological Landscape Modeling: Models Pages

generic_driver.h

Go to the documentation of this file.
00001 
00012 /* General notes on revisions to this source file. 
00013        Nov/Dec 2004 v2.3.2: documentation upgrade 
00014                 - Re-organized, clarified scopes, Doxygen tags added 
00015        Jan 2005 v2.4.0: multi-run capability
00016        Apr 2005 v2.4.4: added (actually redid) flexible canal output
00017        Oct 2006 v2.6.0 - increased functionality for boundary conditions
00018             - added PTSL_test() def, and extern to  PtInterp_read() for PTSL functionality
00019             - added ModExperim_test() def
00020         
00021 */
00022 
00023 #ifndef GENERIC_DRIVER_H
00024 #define GENERIC_DRIVER_H
00025 
00026 #include "globals.h"
00027 
00028 int NSector;    
00029 int iSector[MAX_SECTOR];        
00030 int seed;       
00031 int ESPmodeON=0;     
00034 int WatMgmtOn;  
00035 int HabSwitchOn;        
00036 int PositAnalOn=0;      
00038 int IsSubstituteModel=0;        
00042 char SimAlt[30];        
00043 char SimModif[30];     
00044 char outpath[120];     
00046 int gbl_size[2];        
00048 char initDateRead[15];  
00049 double Jdate_init;  
00050 double Jdate_end;  
00062 int yr_in, mo_in, da_in, hr_in, mi_in, se_in, yr_end, mo_end, da_end;    
00063 int mo_R_in;    
00064 int da_R_in;    
00065 int PORnumday;     
00067 int N_iter;     
00068 int istep;      
00069 float step_Cell;        
00071 float avg_Intvl=0;     
00072 float budg_Intvl=0;    
00073 float BIRavg_Intvl=0;    
00074 float BIRhyd_avg_Intvl=0;    
00075 float can_Intvl=0;    
00077 int budgCalendar;       
00078 int BIRhydCalendar;     
00079 int avgCalendar = 0;    
00080 int canalCalendar = 0;  
00081 int avgPrint = 0;       
00082 int canPrint = 0;       
00084 #define numRunSets 150
00085 /* struct and pointer to struct for sensitivity analysis */
00086 ProgAttr *ProgExec;
00087 ProgAttr **RunList;
00088 
00089 float gRTable[] =
00090         {.5000,.5398,.5793,.6179,.6554,.6915,.7257,.7580,.7881,.8159,
00091          .8413,.8643,.8849,.9032,.9192,.9332,.9452,.9554,.9641,.9713,
00092          .9773,.9821,.9861,.9893,.9918,.9938,.9953,.9965,.9974,.9981,
00093          .9987,.9990,.9993,.9995,.9997,.9998,.9998,.9999,.9999,1.00} ;  
00095 ViewParm *view;
00096 SeriesParm pSeries[MAX_PTSERIES];       
00097 Point2D dbgPt;  
00099 struct nodenv env;      
00111 int procnum, Lprocnum, nprocs[2], recpnum[2], tramType, tramNum[2], lcl_size[2], lcl_start[2];
00112 
00113 
00114 void get_parmf();
00115 void setup();
00116 void track_time(int istep);
00117 int PTSL_test(); /* v2.6 PTSL */
00118 int ModExperim_test(); /* v2.6  */
00119 
00120 
00121 /* from multi_run.h */
00122 //extern void get_SensiParms(char* s_parm_name);
00123 
00124 /* from driver_utilities.h */
00125 extern char *ModelPath, *ProjName, *OS_TYPE;
00126 extern char *OutputPath;
00127 extern char modelName[20], modelVers[10];
00128 
00129 extern ViewParm *read_output_parms(void);
00130 
00131 extern void read_model_parameters(char* s_parm_name, int s_parm_relval);
00132 
00133 extern void getInt(FILE* inFile, const char* lString, int* iValPtr);
00134 extern void getFloat(FILE* inFile, const char* lString, float* fValPtr );
00135 extern void getString(FILE* inFile, const char* lString, char* inString);
00136 extern void calcdate(double jd, int *m, int *d, int *y, int *h, int *mi, double *sec);
00137 extern void setup_platform();
00138 extern void set_env_vars(void);
00139 extern void setup_grid();
00140 extern int skip_white(FILE* infile);
00141 extern int scan_forward (FILE* infile, const char* tstring);
00142 extern double julday(int mon, int day, int year, int h, int mi, double se);
00143 extern float FMOD( float x, float y); 
00144 
00145 /* from serial.h */
00146 extern void local_setup(int argc, char** argv);
00147 extern void open_debug_outFile(int index);
00148 extern void broadcastInt(int* iValPtr);
00149 extern void sync_processors();
00150 extern void send_point_lists2(SeriesParm *pSeries, int nSeries);
00151 extern void open_point_lists(SeriesParm *pSeries, int nSeries); 
00152 
00153 /* from unitmod.h */
00154 extern void init_static_data(void);
00155 extern void init_dynam_data(void);
00156 extern void init_eqns(void);
00157 extern void init_canals(int runNumb);
00158 extern void init_succession(void);
00159 extern void PtInterp_read(void); /* v2.6 PTSL */
00160 extern void reinitBIR(void);
00161 extern void reinitCanals(void);
00162 extern void alloc_memory();
00163 extern void gen_output(int step, ViewParm *view);
00164 extern void get_map_dims(void);
00165 extern int call_cell_dyn(int sector,int step); 
00166 
00167 #endif  /* GENERIC_DRIVER_H */

Generated on Sat Jan 7 14:04:15 2012 for ELM source code by  doxygen 1.5.6