BG_Flood  0.1
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 dy = 0.0;
55  double grdalpha=0.0;
56  double denanval = NAN;
57  bool flipxx = false;
58  bool flipyy = false;
59  std::string inputfile;
60  std::string extension;
61  std::string varname;
62 };
63 
64 class SLTS {
65 public:
66  double time;
67  std::vector<double> wlevs;
68  std::vector<double> uuvel;
69  std::vector<double> vvvel;
70 
71 };
72 
73 class Windin {
74 public:
75  double time;
76  double wspeed;
77  double wdirection;
78  double uwind;
79  double vwind;
80 
81 
82 };
83 
84 
85 // used as vector class to store Time series outputs
86 class Pointout {
87 public:
88  double time, zs, h, u,v;
89 };
90 
91 class Vertex {
92 public:
93  double x, y;
94 };
95 
96 class Polygon {
97 public:
98  double xmin, xmax, ymin, ymax;
99  std::vector<Vertex> vertices;
100 };
101 
102 // End of global definition
103 #endif
Definition: Input.h:24
double q
Definition: Input.h:26
double time
Definition: Input.h:26
Definition: Input.h:29
Definition: Input.h:86
double h
Definition: Input.h:88
double time
Definition: Input.h:88
double v
Definition: Input.h:88
double zs
Definition: Input.h:88
double u
Definition: Input.h:88
Definition: Input.h:96
double xmin
Definition: Input.h:98
double ymin
Definition: Input.h:98
double xmax
Definition: Input.h:98
std::vector< Vertex > vertices
Definition: Input.h:99
double ymax
Definition: Input.h:98
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:64
double time
Definition: Input.h:66
std::vector< double > uuvel
Definition: Input.h:68
std::vector< double > wlevs
Definition: Input.h:67
std::vector< double > vvvel
Definition: Input.h:69
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:91
double y
Definition: Input.h:93
double x
Definition: Input.h:93
Definition: Input.h:73
double uwind
Definition: Input.h:78
double wspeed
Definition: Input.h:76
double time
Definition: Input.h:75
double vwind
Definition: Input.h:79
double wdirection
Definition: Input.h:77
Definition: Input.h:45
std::string varname
Definition: Input.h:61
double dy
Definition: Input.h:54
double yo
Definition: Input.h:50
std::string inputfile
Definition: Input.h:59
double xmax
Definition: Input.h:51
bool flipxx
Definition: Input.h:57
std::string extension
Definition: Input.h:60
bool flipyy
Definition: Input.h:58
int nx
Definition: Input.h:47
double grdalpha
Definition: Input.h:55
double xo
Definition: Input.h:49
double ymax
Definition: Input.h:52
int ny
Definition: Input.h:48
double denanval
Definition: Input.h:56
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