waterglobs.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. #ifndef __WATERGLOBS_H__
  2. #define __WATERGLOBS_H__
  3. #define EPS 1.e-7
  4. #define MAXW 7000000
  5. #define UNDEF -9999
  6. #include <grass/raster.h>
  7. extern char *elevin;
  8. extern char *dxin;
  9. extern char *dyin;
  10. extern char *rain;
  11. extern char *infil;
  12. extern char *traps;
  13. extern char *manin;
  14. /* extern char *observation; */
  15. extern char *depth;
  16. extern char *disch;
  17. extern char *err;
  18. extern char *outwalk;
  19. extern char *mapset;
  20. extern char *mscale;
  21. extern char *tserie;
  22. extern char *wdepth;
  23. extern char *detin;
  24. extern char *tranin;
  25. extern char *tauin;
  26. extern char *tc;
  27. extern char *et;
  28. extern char *conc;
  29. extern char *flux;
  30. extern char *erdep;
  31. extern char *rainval;
  32. extern char *maninval;
  33. extern char *infilval;
  34. struct options
  35. {
  36. struct Option *elevin, *dxin, *dyin, *rain, *infil, *traps, *manin,
  37. *observation, *depth, *disch, *err, *outwalk, *nwalk, *niter, *outiter,
  38. *density, *diffc, *hmax, *halpha, *hbeta, *wdepth, *detin, *tranin,
  39. *tauin, *tc, *et, *conc, *flux, *erdep, *rainval, *maninval,
  40. *infilval, *logfile;
  41. };
  42. extern struct options parm;
  43. struct flags
  44. {
  45. struct Flag *mscale, *tserie;
  46. };
  47. extern struct flags flag;
  48. struct seed
  49. {
  50. long int is1, is2;
  51. };
  52. extern struct seed seed;
  53. extern struct Cell_head cellhd;
  54. struct _points
  55. {
  56. double *x; /* x coor for each point */
  57. double *y; /* y coor for each point*/
  58. int *cats; /* Category for each point */
  59. int npoints; /* Number of observation points */
  60. int npoints_alloc; /* Number of allocated points */
  61. FILE *output; /* Output file descriptor */
  62. int is_open; /* Set to 1 if open, 0 if closed */
  63. };
  64. extern struct _points points;
  65. extern int input_data(void);
  66. extern int seeds(long int, long int);
  67. extern int seedg(long int, long int);
  68. extern int grad_check(void);
  69. extern void erod(double **);
  70. extern void main_loop(void);
  71. extern int output_data(int, double);
  72. extern int output_et(void);
  73. extern double ulec(void);
  74. extern double gasdev(void);
  75. extern double amax1(double, double);
  76. extern double amin1(double, double);
  77. extern int min(int, int);
  78. extern int max(int, int);
  79. extern void create_observation_points();
  80. extern double xmin, ymin, xmax, ymax;
  81. extern double mayy, miyy, maxx, mixx;
  82. extern int mx, my;
  83. extern int mx2, my2;
  84. extern double bxmi, bymi, bxma, byma, bresx, bresy;
  85. extern int maxwab;
  86. extern double step, conv;
  87. extern double frac;
  88. extern double bxmi, bymi;
  89. extern float **zz, **cchez;
  90. extern double **v1, **v2, **slope;
  91. extern double **gama, **gammas, **si, **inf, **sigma;
  92. extern float **dc, **tau, **er, **ct, **trap;
  93. extern float **dif;
  94. extern double vavg[MAXW][2], stack[MAXW][3], w[MAXW][3];
  95. extern int iflag[MAXW];
  96. extern double hbeta;
  97. extern double hhmax, sisum, vmean;
  98. extern double infsum, infmean;
  99. extern int maxw, maxwa, nwalk;
  100. extern double rwalk, bresx, bresy, xrand, yrand;
  101. extern double stepx, stepy, xp0, yp0;
  102. extern double chmean, si0, deltap, deldif, cch, hhc, halpha;
  103. extern double eps;
  104. extern int maxwab, nstack;
  105. extern int iterout, mx2o, my2o;
  106. extern int miter, nwalka;
  107. extern double timec;
  108. extern int ts, timesec;
  109. extern double rain_val;
  110. extern double manin_val;
  111. extern double infil_val;
  112. extern struct History history; /* holds meta-data (title, comments,..) */
  113. #endif /* __WATERGLOBS_H__ */