BMPText.h
Go to the documentation of this file.
1/*!
2 * \file BMPText.h
3 * \brief BMP related const strings
4 * \author Liang-Jun Zhu
5 * \date 2016-6-16
6 */
7#ifndef SEIMS_BMP_TEXT_H
8#define SEIMS_BMP_TEXT_H
9
10//base scenario id
11#define BASE_SCENARIO_ID 0
12//Table names in BMP database
13#define TAB_BMP_INDEX "BMP_INDEX"
14#define TAB_BMP_SCENARIO "BMP_SCENARIOS"
15//#define TAB_BMP_REACH "REACH_BMP"
16//#define TAB_BMP_POINT_SRC "POINTSOURCE"
17//#define TAB_BMP_FLOWDIVERSION "FLOWDIVERSION"
18//#define TAB_BMP_RESERVOIR "RESERVOIR"
19
20/// Table field names
21/// TAB_BMP_SCENARIO
22#define FLD_SCENARIO_ID "ID"
23#define FLD_SCENARIO_NAME "NAME"
24#define FLD_SCENARIO_BMPID "BMPID"
25#define FLD_SCENARIO_SUB "SUBSCENARIO"
26#define FLD_SCENARIO_DIST "DISTRIBUTION"
27#define FLD_SCENARIO_TABLE "COLLECTION"
28#define FLD_SCENARIO_LOCATION "LOCATION"
29#define FLD_SCENARIO_EFFECTIVENESSVARIABLE "EFFECTIVENESSVARIABLE"
30#define FLD_SCENARIO_CHANGEFREQUENCY "CHANGEFREQUENCY"
31
32/// Options of FLD_SCENARIO_DIST
33#define FLD_SCENARIO_DIST_RASTER "RASTER"
34#define FLD_SCENARIO_DIST_ARRAY "ARRAY"
35
36/// TAB_BMP_INDEX
37#define FLD_BMP_ID "ID"
38#define FLD_BMP_TYPE "TYPE"
39#define FLD_BMP_PRIORITY "PRIORITY"
40
41//BMPs
42//also the column name in Reach_BMP table for reach BMPs
43#define BMP_NAME_POINTSOURCE "POINT SOURCE"
44#define BMP_NAME_FLOWDIVERSION_STREAM "STREAM FLOW DIVERSION"
45#define BMP_NAME_RESERVOIR "RESERVOIR"
46#define BMP_NAME_RIPARIANWETLAND "RIPARIAN WETLAND"
47#define BMP_NAME_RIPARIANBUFFER "RIPARIAN BUFFER"
48#define BMP_NAME_GRASSWATERWAY "GRASS WATERWAY"
49#define BMP_NAME_FILTERSTRIP "FILTER STRIP"
50#define BMP_NAME_POND "POND"
51#define BMP_NAME_ISOLATEDPOND "ISOLATED POND"
52#define BMP_NAME_TERRACE "TERRACE"
53#define BMP_NAME_FLOWDIVERSION_OVERLAND "OVERLAND FLOW DIVERSION"
54#define BMP_NAME_CROP "PLANT MANAGEMENT"
55#define BMP_NAME_RESIDUAL "RESIDUAL MANAGEMENT"
56#define BMP_NAME_TILEDRAIN "TILE DRAIN MANAGEMENT"
57#define BMP_NAME_URBAN "URBAN MANAGEMENT"
58
59//BMP Type
60#define BMP_TYPE_POINTSOURCE 1
61#define BMP_TYPE_FLOWDIVERSION_STREAM 2
62#define BMP_TYPE_RESERVOIR 3
63#define BMP_TYPE_RIPARIANWETLAND 4
64#define BMP_TYPE_RIPARIANBUFFER 5
65#define BMP_TYPE_GRASSWATERWAY 6
66#define BMP_TYPE_FILTERSTRIP 7
67#define BMP_TYPE_POND 8
68#define BMP_TYPE_ISOLATEDPOND 9
69#define BMP_TYPE_TERRACE 10
70#define BMP_TYPE_FLOWDIVERSION_OVERLAND 11
71#define BMP_TYPE_PLANT_MGT 12
72#define BMP_TYPE_RESIDUAL 13
73#define BMP_TYPE_TILEDRAIN 14
74#define BMP_TYPE_URBAN 15
75#define BMP_TYPE_AREALSOURCE 16
76#define BMP_TYPE_AREALSTRUCT 17
77
78//// Common fields
79#define BMP_FLD_SUB "SUBSCENARIO"
80#define BMP_FLD_NAME "NAME"
81#define BMP_FLD_SEQUENCE "SEQUENCE"
82#define BMP_FLD_SYEAR "SYEAR"
83#define BMP_FLD_SMONTH "SMONTH"
84#define BMP_FLD_SDAY "SDAY"
85#define BMP_FLD_EYEAR "EYEAR"
86#define BMP_FLD_EMONTH "EMONTH"
87#define BMP_FLD_EDAY "EDAY"
88/// Point source management fields
89#define BMP_PTSRC_FLD_CODE "PTSRC"
90#define BMP_PTSRC_FLD_Q "Q"
91#define BMP_PTSRC_FLD_SED "SED"
92#define BMP_PTSRC_FLD_TN "TN"
93#define BMP_PTSRC_FLD_NO3 "NO3"
94#define BMP_PTSRC_FLD_NH4 "NH4"
95#define BMP_PTSRC_FLD_ORGN "ORGN"
96#define BMP_PTSRC_FLD_TP "TP"
97#define BMP_PTSRC_FLD_SOLP "SOLP"
98#define BMP_PTSRC_FLD_ORGP "ORGP"
99#define BMP_PTSRC_FLD_COD "COD"
100#define BMP_PTSRC_FLD_PTSRCID "PTSRCID"
101#define BMP_PTSRC_FLD_LAT "LAT"
102#define BMP_PTSRC_FLD_LON "LON"
103#define BMP_PTSRC_FLD_LOCALX "LOCALX"
104#define BMP_PTSRC_FLD_LOCALY "LOCALY"
105#define BMP_PTSRC_FLD_SUBBSN "SUBBASINID"
106#define BMP_PTSRC_FLD_SIZE "SIZE"
107#define BMP_PTSRC_FLD_DISTDOWN "DIST2REACH"
108/// Areal source management fields
109#define BMP_ARSRC_FLD_CODE "ARSRC"
110#define BMP_ARSRC_FLD_Q "Q"
111#define BMP_ARSRC_FLD_SED "SED"
112#define BMP_ARSRC_FLD_TN "TN"
113#define BMP_ARSRC_FLD_NO3 "NO3"
114#define BMP_ARSRC_FLD_NH4 "NH4"
115#define BMP_ARSRC_FLD_ORGN "ORGN"
116#define BMP_ARSRC_FLD_TP "TP"
117#define BMP_ARSRC_FLD_SOLP "SOLP"
118#define BMP_ARSRC_FLD_ORGP "ORGP"
119#define BMP_ARSRC_FLD_COD "COD"
120#define BMP_ARSRC_FLD_PTSRCID "ARSRCID"
121#define BMP_ARSRC_FLD_SIZE "SIZE"
122/// Plant management code
123#define BMP_PLTOP_Plant 1
124#define BMP_PLTOP_Irrigation 2
125#define BMP_PLTOP_Fertilizer 3
126#define BMP_PLTOP_Pesticide 4
127#define BMP_PLTOP_HarvestKill 5
128#define BMP_PLTOP_Tillage 6
129#define BMP_PLTOP_Harvest 7
130#define BMP_PLTOP_Kill 8
131#define BMP_PLTOP_Grazing 9
132#define BMP_PLTOP_AutoIrrigation 10
133#define BMP_PLTOP_AutoFertilizer 11
134#define BMP_PLTOP_ReleaseImpound 13
135#define BMP_PLTOP_ContinuousFertilizer 14
136#define BMP_PLTOP_ContinuousPesticide 15
137#define BMP_PLTOP_Burning 16
138#define BMP_PLTOP_SKIPYEAR 17
139
140/// Plant management fields
141#define BMP_PLTOP_FLD_LUCC "LANDUSE_ID"
142#define BMP_PLTOP_FLD_YEAR "YEAR"
143#define BMP_PLTOP_FLD_MONTH "MONTH"
144#define BMP_PLTOP_FLD_DAY "DAY"
145#define BMP_PLTOP_FLD_BASEHU "BASE_HU"
146#define BMP_PLTOP_FLD_HUSC "HUSC"
147#define BMP_PLTOP_FLD_MGTOP "MGT_OP"
148#define BMP_PLTOP_FLD_MGT_PRE "MGT"
149
150/// Areal structural BMP
151#define BMP_ARSTRUCT_FLD_DESC "DESC"
152#define BMP_ARSTRUCT_FLD_REF "REFERENCE"
153#define BMP_ARSTRUCT_FLD_LANDUSE "LANDUSE"
154#define BMP_ARSTRUCT_FLD_PARAMS "PARAMETERS"
155
156////BMP Type
157//#define BMP_TYPE_REACH 1
158//#define BMP_TYPE_AREAL_STRUCTURAL 2
159//#define BMP_TYPE_AREAL_NON_STRUCTURAL 3
160
161//Reservoir method column name
162//#define RESERVOIR_FLOW_ROUTING_METHOD_COLUMN_NAME "METHOD"
163//#define RESERVOIR_SEDIMENT_ROUTING_METHOD_COLUMN_NAME "SEDMETHOD"
164//#define RESERVOIR_NUTRIENT_ROUTING_METHOD_COLUMN_NAME "NUTMETHOD"
165
166//Reservoir flow routing method
167//#define RESERVOIR_FLOW_ROUTING_NAME_RATING_CURVE "RAT_RES"
168//#define RESERVOIR_FLOW_ROUTING_NAME_DAILY_OUTFLOW "MDO_RES"
169//#define RESERVOIR_FLOW_ROUTING_NAME_MONTHLY_OUTFLOW "MMO_RES"
170//#define RESERVOIR_FLOW_ROUTING_NAME_ANUNAL_RELEASE_RATE "AAR_RES"
171//#define RESERVOIR_FLOW_ROUTING_NAME_TARGET_RELEASE_RATE "TRR_RES"
172
173//#define RESERVOIR_FLOW_ROUTING_NAME_UNKNOWN -1
174//#define RESERVOIR_FLOW_ROUTING_RATING_CURVE 0
175//#define RESERVOIR_FLOW_ROUTING_DAILY_OUTFLOW 1
176//#define RESERVOIR_FLOW_ROUTING_MONTHLY_OUTFLOW 2
177//#define RESERVOIR_FLOW_ROUTING_ANUNAL_RELEASE_RATE 3
178//#define RESERVOIR_FLOW_ROUTING_TARGET_RELEASE_RATE 4
179
180//Reservoir sediment routing method
181//#define RESERVOIR_SEDIMENT_ROUTING_NAME_MASS_BALANCE "SMB_RES"
182//#define RESERVOIR_SEDIMENT_ROUTING_MASS_UNKONWN -1
183//#define RESERVOIR_SEDIMENT_ROUTING_MASS_BALANCE 0
184//
185////Reservoir column index
186//#define RESERVOIR_SA_EM_INDEX 4
187//#define RESERVOIR_V_EM_INDEX 5
188//#define RESERVOIR_SA_PR_INDEX 6
189//#define RESERVOIR_V_PR_INDEX 7
190//#define RESERVOIR_INI_S_INDEX 8
191//#define RESERVOIR_Q_REL_INDEX 9
192//#define RESERVOIR_k_res_INDEX 10
193//#define RESERVOIR_OFLOWMN01_INDEX 11
194//#define RESERVOIR_OFLOWMX01_INDEX 23
195//#define RESERVOIR_METHOD_INDEX 35
196//#define RESERVOIR_SED_METHOD_INDEX 36 //The method used to do sediment routing
197//#define RESERVOIR_INI_SC_INDEX 37 //initial sediment concentration, Mg/m**3, default value is 0.03
198//#define RESERVOIR_NSED_INDEX 38 //equilibrium sediment concentration, Mg/m**3,
199//#define RESERVOIR_D50_INDEX 39 //median particle size of the inflow sediment (um), default value is 10
200//#define RESERVOIR_NUT_METHOD_INDEX 40 //The method used to do nutrient routing
201
202//Crop classification
203#define CROP_IDC_WARM_SEASON_ANNUAL_LEGUME 1
204#define CROP_IDC_COLD_SEASON_ANNUAL_LEGUME 2
205#define CROP_IDC_PERENNIAL_LEGUME 3
206#define CROP_IDC_WARM_SEASON_ANNUAL 4
207#define CROP_IDC_COLD_SEASON_ANNUAL 5
208#define CROP_IDC_PERENNIAL 6
209#define CROP_IDC_TREES 7
210
211/// Field index in CropLookup table
212#define CROP_PARAM_COUNT 43
213/// Index started with 0
214/// ICNUM, IDC,BIO_E, HVSTI, BLAI, FRGRW1, LAIMX1, FRGRW2, LAIMX2, DLAI, CHTMX, 1-11
215/// RDMX, T_OPT, T_BASE, CNYLD, CPYLD, BN1, BN2, BN3, BP1, BP2, 12-21
216/// BP3, WSYF, USLE_C, GSI, VPDFR, FRGMAX, WAVP, CO2HI, BIOEHI, RSDCO_PL, 22-31
217/// OV_N, CN2A, CN2B, CN2C, CN2D, FERTFIELD, ALAI_MIN, BIO_LEAF, MAT_YRS, BMX_TREES, 32-41
218/// EXT_COEF, BM_DIEOFF 42-43
219#define CROP_PARAM_IDX_ICNUM 1
220#define CROP_PARAM_IDX_IDC 2
221#define CROP_PARAM_IDX_BIO_E 3
222#define CROP_PARAM_IDX_HVSTI 4
223#define CROP_PARAM_IDX_BLAI 5
224#define CROP_PARAM_IDX_FRGRW1 6
225#define CROP_PARAM_IDX_LAIMX1 7
226#define CROP_PARAM_IDX_FRGRW2 8
227#define CROP_PARAM_IDX_LAIMX2 9
228#define CROP_PARAM_IDX_DLAI 10
229#define CROP_PARAM_IDX_CHTMX 11
230#define CROP_PARAM_IDX_RDMX 12
231#define CROP_PARAM_IDX_T_OPT 13
232#define CROP_PARAM_IDX_T_BASE 14
233#define CROP_PARAM_IDX_CNYLD 15
234#define CROP_PARAM_IDX_CPYLD 16
235#define CROP_PARAM_IDX_BN1 17
236#define CROP_PARAM_IDX_BN2 18
237#define CROP_PARAM_IDX_BN3 19
238#define CROP_PARAM_IDX_BP1 20
239#define CROP_PARAM_IDX_BP2 21
240#define CROP_PARAM_IDX_BP3 22
241#define CROP_PARAM_IDX_WSYF 23
242#define CROP_PARAM_IDX_USLE_C 24
243#define CROP_PARAM_IDX_GSI 25
244#define CROP_PARAM_IDX_VPDFR 26
245#define CROP_PARAM_IDX_FRGMAX 27
246#define CROP_PARAM_IDX_WAVP 28
247#define CROP_PARAM_IDX_CO2HI 29
248#define CROP_PARAM_IDX_BIOEHI 30
249#define CROP_PARAM_IDX_RSDCO_PL 31
250#define CROP_PARAM_IDX_OV_N 32
251#define CROP_PARAM_IDX_CN2A 33
252#define CROP_PARAM_IDX_CN2B 34
253#define CROP_PARAM_IDX_CN2C 35
254#define CROP_PARAM_IDX_CN2D 36
255#define CROP_PARAM_IDX_FERTFIELD 37
256#define CROP_PARAM_IDX_ALAI_MIN 38
257#define CROP_PARAM_IDX_BIO_LEAF 39
258
259#define CROP_PADDYRICE 33
260
261/// Field index in TillageLookup table
262#define TILLAGE_PARAM_COUNT 7
263/// ITNUM, EFTMIX, DEPTIL, RRNS, CNOP_CN2, PRC, DSC
264#define TILLAGE_PARAM_ITNUM_IDX 1
265#define TILLAGE_PARAM_EFFMIX_IDX 2
266#define TILLAGE_PARAM_DEPTIL_IDX 3
267#define TILLAGE_PARAM_RRNS_IDX 4
268#define TILLAGE_PARAM_CNOP_IDX 5
269#define TILLAGE_PARAM_PRC_IDX 6
270#define TILLAGE_PARAM_DSC_IDX 7
271
272
273/// Field index in FertilizerLookup table
274#define FERTILIZER_PARAM_COUNT 10
275/// IFNUM, FMINN, FMINP, FORGN, FORGP, FNH4N, BACTPDB, BACTLPDB, BACTKDDB, MANURE
276#define FERTILIZER_PARAM_IFNUM_IDX 1
277#define FERTILIZER_PARAM_FMINN_IDX 2
278#define FERTILIZER_PARAM_FMINP_IDX 3
279#define FERTILIZER_PARAM_FORGN_IDX 4
280#define FERTILIZER_PARAM_FORGP_IDX 5
281#define FERTILIZER_PARAM_FNH4N_IDX 6
282#define FERTILIZER_PARAM_BACTPDB_IDX 7
283#define FERTILIZER_PARAM_BATTLPDB_IDX 8
284#define FERTILIZER_PARAM_BACKTKDDB_IDX 9
285#define FERTILIZER_PARAM_MANURE_IDX 10
286
287/// Fertilizer ID
288#define FERTILIZER_ID_UREA 4
289/// Field index in LanduseLookup table
290#define LANDUSE_PARAM_COUNT 49
291#define LANDUSE_PARAM_LANDUSE_ID_IDX 1
292#define LANDUSE_PARAM_CN2A_IDX 2
293#define LANDUSE_PARAM_CN2B_IDX 3
294#define LANDUSE_PARAM_CN2C_IDX 4
295#define LANDUSE_PARAM_CN2D_IDX 5
296#define LANDUSE_PARAM_ROOT_DEPTH_IDX 6
297#define LANDUSE_PARAM_MANNING_IDX 7
298#define LANDUSE_PARAM_INTERC_MAX_IDX 8
299#define LANDUSE_PARAM_INTERC_MIN_IDX 9
300#define LANDUSE_PARAM_SHC_IDX 10
301#define LANDUSE_PARAM_SOIL_T10_IDX 11
302#define LANDUSE_PARAM_USLE_C_IDX 12
303#define LANDUSE_PARAM_PET_FR_IDX 13
304#define LANDUSE_PARAM_PRC_ST1_IDX 14
305#define LANDUSE_PARAM_PRC_ST2_IDX 15
306#define LANDUSE_PARAM_PRC_ST3_IDX 16
307#define LANDUSE_PARAM_PRC_ST4_IDX 17
308#define LANDUSE_PARAM_PRC_ST5_IDX 18
309#define LANDUSE_PARAM_PRC_ST6_IDX 19
310#define LANDUSE_PARAM_PRC_ST7_IDX 20
311#define LANDUSE_PARAM_PRC_ST8_IDX 21
312#define LANDUSE_PARAM_PRC_ST9_IDX 22
313#define LANDUSE_PARAM_PRC_ST10_IDX 23
314#define LANDUSE_PARAM_PRC_ST11_IDX 24
315#define LANDUSE_PARAM_PRC_ST12_IDX 25
316#define LANDUSE_PARAM_SC_ST1_IDX 26
317#define LANDUSE_PARAM_SC_ST2_IDX 27
318#define LANDUSE_PARAM_SC_ST3_IDX 28
319#define LANDUSE_PARAM_SC_ST4_IDX 29
320#define LANDUSE_PARAM_SC_ST5_IDX 30
321#define LANDUSE_PARAM_SC_ST6_IDX 31
322#define LANDUSE_PARAM_SC_ST7_IDX 32
323#define LANDUSE_PARAM_SC_ST8_IDX 33
324#define LANDUSE_PARAM_SC_ST9_IDX 34
325#define LANDUSE_PARAM_SC_ST10_IDX 35
326#define LANDUSE_PARAM_SC_ST11_IDX 36
327#define LANDUSE_PARAM_SC_ST12_IDX 37
328#define LANDUSE_PARAM_DSC_ST1_IDX 38
329#define LANDUSE_PARAM_DSC_ST2_IDX 39
330#define LANDUSE_PARAM_DSC_ST3_IDX 40
331#define LANDUSE_PARAM_DSC_ST4_IDX 41
332#define LANDUSE_PARAM_DSC_ST5_IDX 42
333#define LANDUSE_PARAM_DSC_ST6_IDX 43
334#define LANDUSE_PARAM_DSC_ST7_IDX 44
335#define LANDUSE_PARAM_DSC_ST8_IDX 45
336#define LANDUSE_PARAM_DSC_ST9_IDX 46
337#define LANDUSE_PARAM_DSC_ST10_IDX 47
338#define LANDUSE_PARAM_DSC_ST11_IDX 48
339#define LANDUSE_PARAM_DSC_ST12_IDX 49
340
341#define LANDUSE_ID_WATR 18
342#define LANDUSE_ID_PADDY 33
343
344/// irrigation source code:
345#define IRR_SRC_RCH 1 /// divert water from reach
346#define IRR_SRC_RES 2 /// divert water from reservoir
347#define IRR_SRC_SHALLOW 3 /// divert water from shallow aquifer
348#define IRR_SRC_DEEP 4 /// divert water from deep aquifer
349#define IRR_SRC_OUTWTSD 5 /// divert water from source outside watershed
350
351#endif /* SEIMS_BMP_TEXT_H */