CoastalME (Coastal Modelling Environment)
Simulates the long-term behaviour of complex coastlines
Loading...
Searching...
No Matches
configuration.h
Go to the documentation of this file.
1
12
13/* ==============================================================================================================================
14
15 This file is part of CoastalME, the Coastal Modelling Environment.
16
17 CoastalME is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
18
19 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
20
21 You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22
23==============================================================================================================================*/
24#ifndef CONFIGURATION_H
25#define CONFIGURATION_H
26
27#include <string>
28#include <vector>
29
30using std::string;
31using std::vector;
32
35{
36 private:
37 // Run Information
41
42 // Simulation timing
46 vector<string> m_vecSaveTimes;
49
50 // GIS Output
53 vector<string> m_vecRasterFiles;
57 vector<double> m_vecSliceElevations;
58 vector<string> m_vecVectorFiles;
60 vector<string> m_vecTimeSeriesFiles;
61
62 // Grid and Coastline
70
71 // Layers and Files
74 vector<string> m_vecUnconsFineFiles;
75 vector<string> m_vecUnconsSandFiles;
76 vector<string> m_vecUnconsCoarseFiles;
77 vector<string> m_vecConsFineFiles;
78 vector<string> m_vecConsSandFiles;
79 vector<string> m_vecConsCoarseFiles;
84
85 // Hydrology
97
98 // Sediment and Erosion
115
116 // Cliff parameters
125
126 // Flood parameters
132
133 // Sediment input parameters
138
139 // Physics and Geometry
145
146 // Profile and Output Options
153
154 // Cliff Edge Processing
159
160 public:
163
164 // Setters for all parameters
165 void SetRunName(string const& str)
166 {
167 m_strRunName = str;
168 }
170 {
172 }
174 {
176 }
177 void SetStartDateTime(string const& str)
178 {
179 m_strStartDateTime = str;
180 }
181 void SetDuration(string const& str)
182 {
183 m_strDuration = str;
184 }
185 void SetTimestep(string const& str)
186 {
187 m_strTimestep = str;
188 }
189 void SetSaveTimes(vector<string> const& vec)
190 {
191 m_vecSaveTimes = vec;
192 }
193 void SetRandomSeed(int n)
194 {
195 m_nRandomSeed = n;
197 }
199 {
201 }
202
204 {
206 }
207 void SetSaveDigitsMode(string const& str)
208 {
210 }
211 void SetRasterFiles(vector<string> const& vec)
212 {
213 m_vecRasterFiles = vec;
214 }
215 void SetRasterFormat(string const& str)
216 {
217 m_strRasterFormat = str;
218 }
219 void SetWorldFile(bool b)
220 {
221 m_bWorldFile = b;
222 }
223 void SetScaleValues(bool b)
224 {
225 m_bScaleValues = b;
226 }
227 void SetSliceElevations(vector<double> const& vec)
228 {
230 }
231 void SetVectorFiles(vector<string> const& vec)
232 {
233 m_vecVectorFiles = vec;
234 }
235 void SetVectorFormat(string const& str)
236 {
237 m_strVectorFormat = str;
238 }
239 void SetTimeSeriesFiles(vector<string> const& vec)
240 {
242 }
243
245 {
247 }
253 {
255 }
256 void SetOmitGridEdges(string const& str)
257 {
258 m_strOmitGridEdges = str;
259 }
261 {
263 }
264 void SetMaxLocalSlope(double d)
265 {
267 }
268 void SetMaxBeachElevation(double d)
269 {
271 }
272
273 void SetNumLayers(int n)
274 {
275 m_nNumLayers = n;
276 }
277 void SetBasementDEMFile(string const& str)
278 {
280 }
281 void SetUnconsFineFiles(vector<string> const& vec)
282 {
284 }
285 void SetUnconsSandFiles(vector<string> const& vec)
286 {
288 }
289 void SetUnconsCoarseFiles(vector<string> const& vec)
290 {
292 }
293 void SetConsFineFiles(vector<string> const& vec)
294 {
295 m_vecConsFineFiles = vec;
296 }
297 void SetConsSandFiles(vector<string> const& vec)
298 {
299 m_vecConsSandFiles = vec;
300 }
301 void SetConsCoarseFiles(vector<string> const& vec)
302 {
304 }
305 void SetSuspendedSedFile(string const& str)
306 {
308 }
309 void SetLandformFile(string const& str)
310 {
311 m_strLandformFile = str;
312 }
313 void SetInterventionClassFile(string const& str)
314 {
316 }
317 void SetInterventionHeightFile(string const& str)
318 {
320 }
321
323 {
325 }
326 void SetSeawaterDensity(double d)
327 {
329 }
330 void SetInitialWaterLevel(double d)
331 {
333 }
334 void SetFinalWaterLevel(double d)
335 {
338 }
340 {
342 }
343 void SetWaveHeightTimeSeries(string const& str)
344 {
346 }
348 {
350 }
351 void SetWavePeriod(double d)
352 {
353 m_dWavePeriod = d;
354 }
355 void SetTideDataFile(string const& str)
356 {
357 m_strTideDataFile = str;
358 }
359 void SetBreakingWaveRatio(double d)
360 {
362 }
363
364 // Additional setters for comprehensive YAML support
366 {
368 }
374 {
376 }
378 {
380 }
382 {
384 }
385 void SetFineMedianSize(double d)
386 {
388 }
389 void SetSandMedianSize(double d)
390 {
392 }
393 void SetCoarseMedianSize(double d)
394 {
396 }
397 void SetSedimentDensity(double d)
398 {
400 }
402 {
404 }
405 void SetFineErosivity(double d)
406 {
408 }
409 void SetSandErosivity(double d)
410 {
412 }
413 void SetCoarseErosivity(double d)
414 {
416 }
417 void SetTransportKLS(double d)
418 {
419 m_dTransportKLS = d;
420 }
421 void SetKamphuis(double d)
422 {
423 m_dKamphuis = d;
424 }
425 void SetBermHeight(double d)
426 {
427 m_dBermHeight = d;
428 }
429
430 void SetCliffCollapse(bool b)
431 {
433 }
435 {
437 }
438 void SetNotchOverhang(double d)
439 {
441 }
442 void SetNotchBase(double d)
443 {
444 m_dNotchBase = d;
445 }
446 void SetCliffDepositionA(double d)
447 {
449 }
450 void SetTalusWidth(double d)
451 {
452 m_dTalusWidth = d;
453 }
454 void SetMinTalusLength(double d)
455 {
457 }
458 void SetMinTalusHeight(double d)
459 {
461 }
462
463 void SetFloodInput(bool b)
464 {
465 m_bFloodInput = b;
466 }
467 void SetFloodCoastline(string const& str)
468 {
470 }
471 void SetRunupEquation(string const& str)
472 {
473 m_strRunupEquation = str;
474 }
475 void SetFloodLocations(string const& str)
476 {
478 }
479 void SetFloodInputLocation(string const& str)
480 {
482 }
483
484 void SetSedimentInput(bool b)
485 {
487 }
488 void SetSedimentInputLocation(string const& str)
489 {
491 }
492 void SetSedimentInputType(string const& str)
493 {
495 }
496 void SetSedimentInputDetails(string const& str)
497 {
499 }
500
505 void SetNormalSpacing(double d)
506 {
508 }
509 void SetRandomFactor(double d)
510 {
511 m_dRandomFactor = d;
512 }
513 void SetNormalLength(double d)
514 {
515 m_dNormalLength = d;
516 }
517 void SetStartDepthRatio(double d)
518 {
520 }
521
523 {
525 }
526 void SetProfileNumbers(vector<int> const& vec)
527 {
529 }
530 void SetProfileTimesteps(vector<int> const& vec)
531 {
533 }
535 {
537 }
539 {
541 }
543 {
545 }
546
548 {
550 }
559 void SetCliffSlopeLimit(double d)
560 {
562 }
563
564 // Getters for all parameters
565 string GetRunName() const
566 {
567 return m_strRunName;
568 }
570 {
571 return m_nLogFileDetail;
572 }
574 {
576 }
577 string GetStartDateTime() const
578 {
579 return m_strStartDateTime;
580 }
581 string GetDuration() const
582 {
583 return m_strDuration;
584 }
585 string GetTimestep() const
586 {
587 return m_strTimestep;
588 }
589 vector<string> GetSaveTimes() const
590 {
591 return m_vecSaveTimes;
592 }
593 int GetRandomSeed() const
594 {
595 return m_nRandomSeed;
596 }
598 {
600 }
601
603 {
604 return m_nMaxSaveDigits;
605 }
606 string GetSaveDigitsMode() const
607 {
608 return m_strSaveDigitsMode;
609 }
610 vector<string> GetRasterFiles() const
611 {
612 return m_vecRasterFiles;
613 }
614 string GetRasterFormat() const
615 {
616 return m_strRasterFormat;
617 }
618 bool GetWorldFile() const
619 {
620 return m_bWorldFile;
621 }
622 bool GetScaleValues() const
623 {
624 return m_bScaleValues;
625 }
626 vector<double> GetSliceElevations() const
627 {
629 }
630 vector<string> GetVectorFiles() const
631 {
632 return m_vecVectorFiles;
633 }
634 string GetVectorFormat() const
635 {
636 return m_strVectorFormat;
637 }
638 vector<string> GetTimeSeriesFiles() const
639 {
641 }
642
644 {
646 }
648 {
650 }
652 {
653 return m_nPolynomialOrder;
654 }
655 string GetOmitGridEdges() const
656 {
657 return m_strOmitGridEdges;
658 }
660 {
662 }
663 double GetMaxLocalSlope() const
664 {
665 return m_dMaxLocalSlope;
666 }
667 double GetMaxBeachElevation() const
668 {
670 }
671
672 int GetNumLayers() const
673 {
674 return m_nNumLayers;
675 }
676 string GetBasementDEMFile() const
677 {
679 }
680 vector<string> GetUnconsFineFiles() const
681 {
683 }
684 vector<string> GetUnconsSandFiles() const
685 {
687 }
688 vector<string> GetUnconsCoarseFiles() const
689 {
691 }
692 vector<string> GetConsFineFiles() const
693 {
694 return m_vecConsFineFiles;
695 }
696 vector<string> GetConsSandFiles() const
697 {
698 return m_vecConsSandFiles;
699 }
700 vector<string> GetConsCoarseFiles() const
701 {
703 }
704 string GetSuspendedSedFile() const
705 {
707 }
708 string GetLandformFile() const
709 {
710 return m_strLandformFile;
711 }
713 {
715 }
717 {
719 }
720
722 {
724 }
725 double GetSeawaterDensity() const
726 {
727 return m_dSeawaterDensity;
728 }
729 double GetInitialWaterLevel() const
730 {
732 }
733 double GetFinalWaterLevel() const
734 {
735 return m_dFinalWaterLevel;
736 }
738 {
740 }
742 {
744 }
746 {
748 }
750 {
752 }
753 double GetWavePeriod() const
754 {
755 return m_dWavePeriod;
756 }
757 string GetTideDataFile() const
758 {
759 return m_strTideDataFile;
760 }
761 double GetBreakingWaveRatio() const
762 {
764 }
765
766 // Initialize with default values
767 void InitializeDefaults();
768};
769
770#endif // CONFIGURATION_H
double m_dCoarseMedianSize
bool HasFinalWaterLevel() const
string m_strSedimentInputLocation
void SetCoastlineSmoothingWindow(int n)
string GetOmitGridEdges() const
double m_dMinTalusHeight
int GetPolynomialOrder() const
string GetRunName() const
void SetSedimentInput(bool b)
double m_dSedimentDensity
double m_dPlatformErosionResistance
string GetInterventionHeightFile() const
void SetBeachSedimentPorosity(double d)
bool m_bCoastPlatformErosion
double m_dSeawaterDensity
bool m_bCSVPerTimestepResults
void SetBermHeight(double d)
int GetCoastlineSmoothingWindow() const
double GetMaxBeachElevation() const
void SetMinTalusHeight(double d)
void SetCoarseErosivity(double d)
double m_dNormalSpacing
double GetFinalWaterLevel() const
void SetCurvatureWindow(int n)
void SetMaxBeachElevation(double d)
void SetNotchBase(double d)
void SetInterventionClassFile(string const &str)
string GetBasementDEMFile() const
double GetBreakingWaveRatio() const
void SetSeawaterDensity(double d)
void SetSaveDigitsMode(string const &str)
double m_dCliffSlopeLimit
void SetInitialWaterLevel(double d)
void SetCliffDepositionA(double d)
double m_dFinalWaterLevel
double m_dDeepWaterWaveHeight
void SetFloodInput(bool b)
void SetNormalLength(double d)
string m_strVectorFormat
vector< string > GetTimeSeriesFiles() const
vector< string > m_vecConsCoarseFiles
string GetStartDateTime() const
vector< string > GetConsCoarseFiles() const
string m_strSuspendedSedFile
void SetTideDataFile(string const &str)
CConfiguration()
Constructor.
void SetBeachErosionEquation(int n)
void SetDeepWaterWaveHeight(double d)
void SetFineMedianSize(double d)
vector< string > GetUnconsFineFiles() const
string m_strStartDateTime
double m_dInitialWaterLevel
double m_dGravitationalAcceleration
bool m_bSaveParallelProfiles
void SetFloodCoastline(string const &str)
string GetSaveDigitsMode() const
int GetMaxSaveDigits() const
void SetRandomFactor(double d)
void SetConsSandFiles(vector< string > const &vec)
string GetInterventionClassFile() const
string GetTimestep() const
double m_dSandErosivity
double GetMaxLocalSlope() const
void SetPolynomialOrder(int n)
vector< string > GetSaveTimes() const
double m_dSandMedianSize
void SetCliffErosionResistance(double d)
void SetCliffEdgePolynomialOrder(int n)
void SetDuration(string const &str)
void SetMaxSaveDigits(int n)
string m_strLandformFile
int m_nCoastlineSmoothingWindow
void SetCoarseMedianSize(double d)
vector< string > m_vecUnconsSandFiles
void SetCliffSlopeLimit(double d)
int m_nWavePropagationModel
string m_strInterventionClassFile
void SetRunName(string const &str)
void SetProfileTimesteps(vector< int > const &vec)
void SetFloodInputLocation(string const &str)
vector< string > m_vecTimeSeriesFiles
void SetGravitationalAcceleration(double d)
void SetScaleValues(bool b)
void SetBeachTransportAtEdges(int n)
double GetSeawaterDensity() const
double m_dDeepWaterWaveOrientation
bool GetWorldFile() const
string m_strOmitGridEdges
void SetProfileNumbers(vector< int > const &vec)
void SetKamphuis(double d)
double m_dNotchOverhang
double m_dMinTalusLength
string GetDuration() const
void SetSedimentInputLocation(string const &str)
bool m_bBeachSedimentTransport
double GetDeepWaterWaveHeight() const
void SetWaveHeightTimeSeries(string const &str)
void SetVectorFiles(vector< string > const &vec)
bool GetCSVPerTimestepResults() const
void SetDeepWaterWaveOrientation(double d)
vector< string > m_vecRasterFiles
double GetDeepWaterWaveOrientation() const
void SetNormalSpacing(double d)
void SetSaveProfileData(bool b)
int GetWavePropagationModel() const
void SetConsCoarseFiles(vector< string > const &vec)
void SetSedimentDensity(double d)
void SetSandErosivity(double d)
void SetFineErosivity(double d)
vector< double > GetSliceElevations() const
string GetVectorFormat() const
string m_strBasementDEMFile
void SetCliffEdgeSmoothing(int n)
void SetCliffEdgeSmoothingWindow(int n)
void SetProfileSmoothingWindow(int n)
void SetUnconsSandFiles(vector< string > const &vec)
~CConfiguration()
Destructor.
double m_dBeachSedimentPorosity
vector< string > m_vecConsSandFiles
string m_strSedimentInputType
vector< string > m_vecVectorFiles
void SetSedimentInputDetails(string const &str)
string m_strFloodCoastline
int m_nCliffEdgePolynomialOrder
void SetOmitGridEdges(string const &str)
void SetStartDateTime(string const &str)
void SetSuspendedSedFile(string const &str)
vector< string > GetUnconsSandFiles() const
void SetPlatformErosionResistance(double d)
vector< string > m_vecUnconsFineFiles
void SetBasementDEMFile(string const &str)
bool m_bOutputErosionPotential
string m_strFloodInputLocation
void SetTimeSeriesFiles(vector< string > const &vec)
vector< double > m_vecSliceElevations
int m_nProfileSmoothingWindow
void SetUnconsCoarseFiles(vector< string > const &vec)
void SetWavePropagationModel(int n)
vector< int > m_vecProfileNumbers
void SetBeachSedimentTransport(bool b)
void SetCSVPerTimestepResults(bool b)
void SetSandMedianSize(double d)
void SetFinalWaterLevel(double d)
vector< string > GetConsSandFiles() const
string m_strTideDataFile
vector< string > m_vecSaveTimes
double m_dFineErosivity
void SetRandomSeed(int n)
int GetProfileSmoothingWindow() const
void SetRasterFormat(string const &str)
void SetWavePeriod(double d)
void SetFloodLocations(string const &str)
void SetVectorFormat(string const &str)
vector< string > GetConsFineFiles() const
int GetCoastlineSmoothing() const
void SetRunupEquation(string const &str)
int m_nCliffEdgeSmoothingWindow
double m_dCoarseErosivity
double m_dBreakingWaveRatio
string m_strWaveHeightTimeSeries
bool m_bHasFinalWaterLevel
void SetNotchOverhang(double d)
bool GetScaleValues() const
void SetNumLayers(int n)
void SetInterventionHeightFile(string const &str)
void SetUnconsFineFiles(vector< string > const &vec)
double m_dCliffDepositionA
string GetTideDataFile() const
void SetOutputErosionPotential(bool b)
void SetCliffCollapse(bool b)
void SetSliceElevations(vector< double > const &vec)
void SetBreakingWaveRatio(double d)
double GetWavePeriod() const
void SetWorldFile(bool b)
void SetConsFineFiles(vector< string > const &vec)
vector< string > GetUnconsCoarseFiles() const
void SetTalusWidth(double d)
vector< string > GetRasterFiles() const
int GetLogFileDetail() const
double m_dFineMedianSize
void SetCoastlineSmoothing(int n)
void SetMinTalusLength(double d)
vector< int > m_vecProfileTimesteps
double m_dStartDepthRatio
void SetTransportKLS(double d)
void SetSaveTimes(vector< string > const &vec)
void InitializeDefaults()
Initialize all parameters with default values.
string m_strFloodLocations
string m_strSaveDigitsMode
double m_dCliffErosionResistance
double m_dMaxBeachElevation
void SetLandformFile(string const &str)
string m_strRunupEquation
void SetStartDepthRatio(double d)
vector< string > GetVectorFiles() const
void SetRasterFiles(vector< string > const &vec)
void SetSaveParallelProfiles(bool b)
string m_strSedimentInputDetails
vector< string > m_vecConsFineFiles
double GetInitialWaterLevel() const
void SetMaxLocalSlope(double d)
bool m_bUseSystemTimeForSeed
string GetLandformFile() const
double m_dMaxLocalSlope
vector< string > m_vecUnconsCoarseFiles
string GetRasterFormat() const
string GetWaveHeightTimeSeries() const
int GetRandomSeed() const
string m_strInterventionHeightFile
string GetSuspendedSedFile() const
void SetLogFileDetail(int n)
string m_strRasterFormat
void SetTimestep(string const &str)
bool UseSystemTimeForRandomSeed() const
void SetCoastPlatformErosion(bool b)
void SetSedimentInputType(string const &str)
int GetNumLayers() const
void UseSystemTimeForSeed()