BG_Flood  0.8
Documentation (Work-in-progress)
Input.h
Go to the documentation of this file.
1 
2 #ifndef INPUT_H
3 #define INPUT_H
4 
5 #include "General.h"
6 
7 // Timeseries output
8 class TSoutnode {
9 public:
10  int i, j, block;
11  double x, y;
12  std::string outname;
13 };
14 
15 // Special output zones for nc files, informatin given by the user
16 class outzoneP {
17 public:
18  //std::vector<int> blocks; // one zone will spread across multiple blocks (entire blocks containing a part of the area will be output)
19  double xstart, xend, ystart, yend; // definition of the zone needed for special nc output (rectangular zone) by the user
20  //double xo, xmax, yo, ymax; // Real zone for output (because we output full blocks)
21  std::string outname; // name for the output file (one for each zone)
22 };
23 
24 class Flowin {
25 public:
26  double time, q;
27 };
28 
29 class Mapparam {
30 public:
31 
32 };
33 
34 class River {
35 public:
36  std::vector<int> i, j, block; // one river can spring across multiple cells
37  double disarea; // discharge area
38  double xstart,xend, ystart,yend; // location of the discharge as a rectangle
39  double to, tmax;
40  std::string Riverflowfile; // river flow input time[s] flow in m3/s
41  std::vector<Flowin> flowinput; // vector to store the data of the river flow input file
42 
43 };
44 
45 class inputmap {
46 public:
47  int nx = 0;
48  int ny= 0;
49  double xo = 0.0;
50  double yo = 0.0;
51  double xmax = 0.0;
52  double ymax = 0.0;
53  double dx = 0.0;
54  double grdalpha=0.0;
55  bool flipxx = false;
56  bool flipyy = false;
57  std::string inputfile;
58  std::string extension;
59  std::string varname;
60 };
61 
62 class SLTS {
63 public:
64  double time;
65  std::vector<double> wlevs;
66  std::vector<double> uuvel;
67  std::vector<double> vvvel;
68 
69 };
70 
71 class Windin {
72 public:
73  double time;
74  double wspeed;
75  double wdirection;
76  double uwind;
77  double vwind;
78 
79 
80 };
81 
82 
83 // used as vector class to store Time series outputs
84 class Pointout {
85 public:
86  double time, zs, h, u,v;
87 };
88 
89 class Vertex {
90 public:
91  double x, y;
92 };
93 
94 class Polygon {
95 public:
96  double xmin, xmax, ymin, ymax;
97  std::vector<Vertex> vertices;
98 };
99 
100 // End of global definition
101 #endif
Definition: Input.h:24
double q
Definition: Input.h:26
double time
Definition: Input.h:26
Definition: Input.h:29
Definition: Input.h:84
double h
Definition: Input.h:86
double time
Definition: Input.h:86
double v
Definition: Input.h:86
double zs
Definition: Input.h:86
double u
Definition: Input.h:86
Definition: Input.h:94
double xmin
Definition: Input.h:96
double ymin
Definition: Input.h:96
double xmax
Definition: Input.h:96
std::vector< Vertex > vertices
Definition: Input.h:97
double ymax
Definition: Input.h:96
Definition: Input.h:34
double xend
Definition: Input.h:38
std::vector< int > block
Definition: Input.h:36
double xstart
Definition: Input.h:38
double ystart
Definition: Input.h:38
std::vector< int > i
Definition: Input.h:36
double yend
Definition: Input.h:38
std::vector< Flowin > flowinput
Definition: Input.h:41
double disarea
Definition: Input.h:37
std::vector< int > j
Definition: Input.h:36
double tmax
Definition: Input.h:39
std::string Riverflowfile
Definition: Input.h:40
double to
Definition: Input.h:39
Definition: Input.h:62
double time
Definition: Input.h:64
std::vector< double > uuvel
Definition: Input.h:66
std::vector< double > wlevs
Definition: Input.h:65
std::vector< double > vvvel
Definition: Input.h:67
Definition: Input.h:8
int i
Definition: Input.h:10
double x
Definition: Input.h:11
std::string outname
Definition: Input.h:12
int block
Definition: Input.h:10
double y
Definition: Input.h:11
int j
Definition: Input.h:10
Definition: Input.h:89
double y
Definition: Input.h:91
double x
Definition: Input.h:91
Definition: Input.h:71
double uwind
Definition: Input.h:76
double wspeed
Definition: Input.h:74
double time
Definition: Input.h:73
double vwind
Definition: Input.h:77
double wdirection
Definition: Input.h:75
Definition: Input.h:45
std::string varname
Definition: Input.h:59
double yo
Definition: Input.h:50
std::string inputfile
Definition: Input.h:57
double xmax
Definition: Input.h:51
bool flipxx
Definition: Input.h:55
std::string extension
Definition: Input.h:58
bool flipyy
Definition: Input.h:56
int nx
Definition: Input.h:47
double grdalpha
Definition: Input.h:54
double xo
Definition: Input.h:49
double ymax
Definition: Input.h:52
int ny
Definition: Input.h:48
double dx
Definition: Input.h:53
Definition: Input.h:16
double xend
Definition: Input.h:19
double yend
Definition: Input.h:19
double xstart
Definition: Input.h:19
std::string outname
Definition: Input.h:21
double ystart
Definition: Input.h:19