CoastalME (Coastal Modelling Environment)
Simulates the long-term behaviour of complex coastlines
Loading...
Searching...
No Matches
cell.cpp
Go to the documentation of this file.
1
10
11/* ===============================================================================================================================
12 This file is part of CoastalME, the Coastal Modelling Environment.
13
14 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.
15
16 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.
17
18 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.
19===============================================================================================================================*/
20#include <cstddef>
21
22#include <vector>
23using std::vector;
24
25#include <assert.h>
26
27#include "cell.h"
28#include "cme.h"
29#include "simulation.h"
30#include "cell.h"
31#include "cell_layer.h"
32#include "cell_sediment.h"
33#include "cell_talus.h"
34
37 : m_bInContiguousSea(false),
39 m_bIsInActiveZone(false),
40 m_bCliffToe(false),
41 m_bFloodLine(false),
42 m_bWaveFlood(false),
43 // m_bCheckCell(false),
44 m_bCheckFloodCell(false),
45 m_bShadowBoundary(false),
58 m_dSeaDepth(0),
93 m_dUnconsD50(0),
95{
96 m_Landform.SetLFCategory(LF_UNKNOWN);
97}
98
101{
102}
103
105void CGeomCell::SetBoundingBoxEdge(int const nDirection)
106{
107 m_nBoundingBoxEdge = nDirection;
108}
109
112{
113 return m_nBoundingBoxEdge;
114}
115
118{
120}
121
124{
125 m_bInContiguousSea = true;
126}
127
130{
131 return m_bInContiguousSea;
132}
133
139
145
151
154{
156}
157
163
169
172{
174}
175
177void CGeomCell::SetInActiveZone(bool const bFlag)
178{
179 m_bIsInActiveZone = bFlag;
180}
181
184{
185 return m_bIsInActiveZone;
186}
187
193
196{
197 return m_bShadowBoundary;
198}
199
205
211
217
223
229
232{
234}
235
237void CGeomCell::SetAsCoastline(int const nCoast)
238{
239 m_nCoastlineID = nCoast;
240}
241
244{
246 return false;
247
248 return true;
249}
250
253{
254 return m_nCoastlineID;
255}
256
258void CGeomCell::SetAsCliffToe(bool const bNewFlag)
259{
260 m_bCliffToe = bNewFlag;
261}
262
265{
266 return m_bCliffToe;
267}
268
270void CGeomCell::SetAsFloodline(bool const bNewFlag)
271{
272 m_bFloodLine = bNewFlag;
273}
274
277{
278 return m_bFloodLine;
279}
280
283{
284 return m_nProfileID;
285}
286
288bool CGeomCell::bIsProfile(void) const
289{
291 return false;
292
293 return true;
294}
295
298{
299 return m_nProfileCoastID;
300}
301
303void CGeomCell::SetCoastAndProfileID(int const nProfileCoastID, int const nProfile)
304{
305 m_nProfileCoastID = nProfileCoastID;
306 m_nProfileID = nProfile;
307}
308
311{
312 return m_nPolygonID;
313}
314
317{
318 return m_nPolygonCoastID;
319}
320
322void CGeomCell::SetCoastAndPolygonID(int const nPolyCoastID, int const nPolyID)
323{
324 m_nPolygonCoastID = nPolyCoastID;
325 m_nPolygonID = nPolyID;
326}
327
330{
331 m_nShadowZoneNumber = nCode;
332}
333
336{
337 return m_nShadowZoneNumber;
338}
339
341bool CGeomCell::bIsinThisShadowZone(int const nZone) const
342{
343 if (m_nShadowZoneNumber == nZone)
344 return true;
345
346 return false;
347}
348
351{
352 if (m_nShadowZoneNumber != 0)
353 return true;
354
355 return false;
356}
357
360{
361 double dTotTalusDepth = 0;
362
363 for (int nLayer = 0; nLayer < static_cast<int>(m_VLayerAboveBasement.size()); nLayer++)
364 {
365 CRWCellTalus const* pTalus = m_VLayerAboveBasement[nLayer].pGetTalus();
366 if (pTalus != NULL)
367 {
368 // There is some talus on this layer
369 double const dThisTalusDepth = pTalus->dGetSandDepth() + pTalus->dGetCoarseDepth();
370 dTotTalusDepth += dThisTalusDepth;
371 }
372 }
373
374 return dTotTalusDepth;
375}
376
379{
380 m_bWaveFlood = true;
381}
382
383// void CGeomCell::SetWaveSetup(int const dWaveSetup)
384// {
385// m_dWaveSetup = dWaveSetup;
386// }
387
388// void CGeomCell::SetStormSurge(int const dStormSurge)
389// {
390// m_dStormSurge = dStormSurge;
391// }
392
393// void CGeomCell::SetRunUp(int const dRunUp)
394// {
395// m_dRunUp = dRunUp;
396// }
397
398// void CGeomCell::SetTotLevel(void) const
399// {
400// m_dTotLevel = m_dWaveSetup + m_dStormSurge + m_dRunUp +
401// m_pGrid->pGetSim()->CSimulation::dGetThisIterSWL();
402// }
403
404// int CGeomCell::nGetTotLevel(void) const
405// {
406// return m_dTotLevel;
407// }
408
411{
412 // // Note that m_pGrid->pGetSim()->dGetThisIterTotWaterLevel() is zero, since TODO 007 Finish surge and runup stuff
413 // return ((m_VdAllHorizonTopElev.back() + this->dGetTalusDepth() + m_dInterventionHeight) < (m_pGrid->pGetSim()->dGetThisIterTotWaterLevel() + m_pGrid->pGetSim()->dGetThisIterSWL()));
414
415 // Will need to change this (see above) once surge and runup stuff is working
416 return ((m_VdAllHorizonTopElev.back() + this->dGetTalusDepth() + m_dInterventionHeight) < m_pGrid->pGetSim()->dGetThisIterSWL());
417}
418
419// //! Set this cell as checked TODO 007 Finish surge and runup stuff
420// void CGeomCell::SetCheckCell(void)
421// {
422// m_bCheckCell = true;
423// }
424
425// //! Returns true if this cell is checked, false otherwise TODO 007 Finish surge and runup stuff
426// bool CGeomCell::bIsCellCheck(void) const
427// {
428// return m_bCheckCell;
429// }
430
433{
434 m_bCheckFloodCell = true;
435}
436
439{
440 m_bCheckFloodCell = false;
441}
442
445{
446 return m_bCheckFloodCell;
447}
448
451{
453}
454
457{
459}
460
466
468void CGeomCell::SetLocalConsSlope(double const dNewSlope)
469{
470 m_dLocalConsSlope = dNewSlope;
471}
472
475{
476 return m_dLocalConsSlope;
477}
478
480void CGeomCell::SetBasementElev(double const dNewElev)
481{
482 m_dBasementElevation = dNewElev;
483}
484
487{
488 return (m_dBasementElevation);
489}
490
492void CGeomCell::SetSlopeForCliffToe(double const dNewSlope)
493{
494 m_dSlopeForCliffToe = dNewSlope;
495}
496
499{
500 return (m_dSlopeForCliffToe);
501}
502
505{
506 if (bFPIsEqual(m_dBasementElevation, m_pGrid->pGetSim()->CSimulation::dGetMissingValue(), TOLERANCE))
507 return true;
508
509 return false;
510}
511
513double CGeomCell::dGetSeaDepth(void) const
514{
515 return (m_dSeaDepth);
516}
517
520{
521 return (m_dTotSeaDepth);
522}
523
525void CGeomCell::SetSuspendedSediment(double const dNewSedDepth)
526{
527 // Note no checks here to see if new equiv depth is sensible (e.g. non-negative)
528 m_dSuspendedSediment = dNewSedDepth;
529 m_dTotSuspendedSediment += dNewSedDepth;
530}
531
533void CGeomCell::AddSuspendedSediment(double const dIncSedDepth)
534{
535 // Note no checks here to see if increment equiv depth is sensible (e.g. non-negative)
536 m_dSuspendedSediment += dIncSedDepth;
537 m_dTotSuspendedSediment += dIncSedDepth;
538}
539
542{
543 return (m_dSuspendedSediment);
544}
545
548{
550}
551
554{
555 return static_cast<int>(m_VLayerAboveBasement.size());
556}
557
558
561{
562 if (m_VLayerAboveBasement.empty())
563 return INT_NODATA;
564
565 int nTop = static_cast<int>(m_VLayerAboveBasement.size()) - 1;
566
567 while (m_VLayerAboveBasement[nTop].dGetTotalThickness() <= 0)
568 {
569 if (--nTop < 0)
571 }
572
573 return nTop;
574}
575
578{
579 if (m_VLayerAboveBasement.empty())
580 return INT_NODATA;
581
582 return static_cast<int>(m_VLayerAboveBasement.size()) - 1;
583}
584
587{
588 // Note no check to see if nLayer < m_VLayerAboveBasement.size()
589 double dTopElev = m_dBasementElevation;
590
591 for (int n = 0; n < nLayer; n++)
592 {
593 dTopElev += m_VLayerAboveBasement[n].dGetAllUnconsDepth();
594 dTopElev += m_VLayerAboveBasement[n].dGetAllConsDepth();
595 }
596
597 dTopElev += m_VLayerAboveBasement[nLayer].dGetAllConsDepth();
598
599 return dTopElev;
600}
601
604{
605 // TODO 055 No check that nLayer < size()
606 return &m_VLayerAboveBasement[nLayer];
607}
608
611{
612 return m_VdAllHorizonTopElev.back();
613}
614
617{
618 return this->dGetAllSedTopElevOmitTalus() + this->dGetTalusDepth();
619}
620
623{
624 return this->dGetBasementElev() + this->dGetAllConsDepthAllLayers();
625}
626
629{
630 return this->dGetConsSedTopElevOmitTalus() + this->dGetTalusDepth();
631}
632
638
641{
642 return ((m_VdAllHorizonTopElev.back() + m_dInterventionHeight + this->dGetTalusDepth()) < m_pGrid->pGetSim()->CSimulation::dGetThisIterSWL());
643}
644
647{
648 return m_pGrid->pGetSim()->CSimulation::dGetThisIterSWL();
649}
650
653{
654 return m_pGrid->pGetSim()->CSimulation::dGetThisIterTotWaterLevel();
655}
656
659{
660 double dTotDepth = 0;
661
662 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
663 dTotDepth += m_VLayerAboveBasement[n].dGetConsFineDepth();
664
665 return dTotDepth;
666}
667
670{
671 double dTotDepth = 0;
672
673 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
674 dTotDepth += m_VLayerAboveBasement[n].dGetUnconsFineDepth();
675
676 return dTotDepth;
677}
678
681{
682 double dTotDepth = 0;
683
684 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
685 dTotDepth += m_VLayerAboveBasement[n].dGetConsSandDepth();
686
687 return dTotDepth;
688}
689
692{
693 double dTotDepth = 0;
694
695 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
696 dTotDepth += m_VLayerAboveBasement[n].dGetUnconsSandDepth();
697
698 return dTotDepth;
699}
700
703{
704 double dTotDepth = 0;
705
706 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
707 dTotDepth += m_VLayerAboveBasement[n].dGetConsCoarseDepth();
708
709 return dTotDepth;
710}
711
714{
715 double dTotDepth = 0;
716
717 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
718 dTotDepth += m_VLayerAboveBasement[n].dGetUnconsCoarseDepth();
719
720 return dTotDepth;
721}
722
725{
726 double dTotDepth = 0;
727
728 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
729 dTotDepth += m_VLayerAboveBasement[n].dGetAllConsDepth();
730
731 return dTotDepth;
732}
733
736{
737 double dTotDepth = 0;
738
739 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
740 dTotDepth += m_VLayerAboveBasement[n].dGetAllUnconsDepth();
741
742 return dTotDepth;
743}
744
747{
749}
750
752void CGeomCell::AppendLayers(int const nLayer)
753{
754 for (int i = 0; i < nLayer; i++)
756}
757
760{
761 m_VdAllHorizonTopElev.clear();
762 m_VdAllHorizonTopElev.push_back(m_dBasementElevation); // Elevation of top of the basement
763
764 // Calculate the elevation of the top of all other layers
765 int m = 0;
766
767 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
768 m_VdAllHorizonTopElev.push_back(m_VLayerAboveBasement[n].dGetTotalThickness() + m_VdAllHorizonTopElev[m++]); // Elevation of top of layer n, ignoring any talus
769
770 // Now calculate the d50 of the topmost unconsolidated sediment layer with non-zero thickness. If there is no unconsolidated sediment, m_dUnconsD50 is set to DBL_NODATA
772
773 for (int n = static_cast<int>(m_VLayerAboveBasement.size()) - 1; n >= 0; n--)
774 {
775 double const dUnconsThick = m_VLayerAboveBasement[n].dGetAllUnconsDepth();
776
777 if (dUnconsThick > 0)
778 {
779 // This is a layer with non-zero thickness of unconsolidated sediment
780 CRWCellSediment const* pUnconsSedLayer = m_VLayerAboveBasement[n].pGetUnconsolidatedSediment();
781 double const dFineProp = pUnconsSedLayer->dGetFineDepth() / dUnconsThick;
782 double const dSandProp = pUnconsSedLayer->dGetSandDepth() / dUnconsThick;
783 double const dCoarseProp = pUnconsSedLayer->dGetCoarseDepth() / dUnconsThick;
784
785 // Calculate d50 for the unconsolidated sediment
786 m_dUnconsD50 = (dFineProp * m_pGrid->pGetSim()->dGetD50Fine()) + (dSandProp * m_pGrid->pGetSim()->dGetD50Sand()) + (dCoarseProp * m_pGrid->pGetSim()->dGetD50Coarse());
787
788 break;
789 }
790 }
791}
792
794int CGeomCell::nGetLayerAtElev(double const dElev) const
795{
797 if (dElev < m_VdAllHorizonTopElev[0])
798 return ELEV_IN_BASEMENT;
799
800 for (unsigned int nLayer = 1; nLayer < m_VdAllHorizonTopElev.size();
801 nLayer++)
802 {
803 if ((m_VLayerAboveBasement[nLayer - 1].dGetTotalThickness() > 0) && (dElev >= m_VdAllHorizonTopElev[nLayer - 1]) && (dElev <= m_VdAllHorizonTopElev[nLayer]))
804 return (nLayer - 1);
805 }
806
808}
809
811double CGeomCell::dCalcLayerElev(const int nLayer)
812{
813 // Note no check to see if nLayer < m_VLayerAboveBasement.size()
814 double dTopElev = m_dBasementElevation;
815
816 for (int n = 0; n <= nLayer; n++)
817 dTopElev += m_VLayerAboveBasement[n].dGetTotalThickness();
818
819 return dTopElev;
820}
821
823void CGeomCell::SetPotentialPlatformErosion(double const dPotentialIn)
824{
826 m_dTotPotentialPlatformErosion += dPotentialIn;
827}
828
834
840
842void CGeomCell::SetActualPlatformErosion(double const dThisActualErosion)
843{
844 m_dActualPlatformErosionThisIter = dThisActualErosion;
845 m_dTotActualPlatformErosion += dThisActualErosion;
846}
847
853
859
862{
863 m_dSeaDepth = tMax(m_pGrid->pGetSim()->CSimulation::dGetThisIterSWL() - (m_VdAllHorizonTopElev.back() + this->dGetTalusDepth() + m_dInterventionHeight), 0.0);
864}
865
868{
869 m_bInContiguousSea = false;
870 m_bInContiguousFlood = false;
871 m_bFloodLine = false;
872 m_bIsInActiveZone = false;
873 // m_bEstimated = false;
874 m_bShadowBoundary = false;
877 m_bWaveFlood = false;
878 // m_bCheckCell = false;
879 m_bCheckFloodCell = false;
880
885
888
902 m_dSeaDepth = 0;
903 m_dWaveHeight = 0;
904 m_dWaveAngle = 0;
905
907
908 // Initialize this-iteration sediment input event values
909 int const nThisLayer = this->nGetTopNonZeroLayerAboveBasement();
910
911 // Safety check
912 if ((nThisLayer == NO_NONZERO_THICKNESS_LAYERS) ||
913 (nThisLayer == INT_NODATA))
914 {
915 // Uh-oh, problem. So just return TODO 021
916 return;
917 }
918
919 m_VLayerAboveBasement[nThisLayer].pGetUnconsolidatedSediment()->InitThisIterSedimentInputAll();
920}
921
923void CGeomCell::SetWaveHeight(double const dWaveHeight)
924{
925 m_dWaveHeight = dWaveHeight;
926 m_dTotWaveHeight += dWaveHeight;
927
928 // if (m_dWaveHeight != DBL_NODATA)
929 // assert(m_dWaveHeight >= 0);
930}
931
934{
935 return m_dWaveHeight;
936}
937
940{
941 return m_dTotWaveHeight;
942}
943
945void CGeomCell::SetWaveAngle(double const dWaveAngle)
946{
947 m_dWaveAngle = dWaveAngle;
948 m_dTotWaveAngle += dWaveAngle;
949}
950
952double CGeomCell::dGetWaveAngle(void) const
953{
954 return m_dWaveAngle;
955}
956
959{
960 return m_dTotWaveAngle;
961}
962
964void CGeomCell::SetCellDeepWaterWaveHeight(double const dWaveHeight)
965{
966 m_dDeepWaterWaveHeight = dWaveHeight;
967}
968
971{
973}
974
976void CGeomCell::SetCellDeepWaterWaveAngle(double const dWaveAngle)
977{
978 m_dDeepWaterWaveAngle = dWaveAngle;
979}
980
983{
985}
986
988void CGeomCell::SetCellDeepWaterWavePeriod(double const dWavePeriod)
989{
990 m_dDeepWaterWavePeriod = dWavePeriod;
991}
992
995{
997}
998
1006
1007// Sets this cell's beach protection factor
1008void CGeomCell::SetBeachProtectionFactor(double const dFactor)
1009{
1010 m_dBeachProtectionFactor = dFactor;
1011}
1012
1015{
1017}
1018
1020void CGeomCell::IncrCliffCollapseErosion(double const dFineDepth, double const dSandDepth, double const dCoarseDepth)
1021{
1022 m_dCliffCollapseFineThisIter += dFineDepth;
1023 m_dCliffCollapseSandThisIter += dSandDepth;
1024 m_dCliffCollapseCoarseThisIter += dCoarseDepth;
1025
1026 m_dTotFineCliffCollapse += dFineDepth;
1027 m_dTotSandCliffCollapse += dSandDepth;
1028 m_dTotCoarseCliffCollapse += dCoarseDepth;
1029}
1030
1036
1042
1048
1051{
1053}
1054
1057{
1059}
1060
1063{
1065}
1066
1068void CGeomCell::AddSandTalusDeposition(double const dDepth)
1069{
1071 m_dTotTalusSandDeposition += dDepth;
1072}
1073
1076{
1079}
1080
1086
1092
1095{
1097}
1098
1104
1106void CGeomCell::AddSandTalusToUncons(double const dSandTalus)
1107{
1108 m_dSandTalusToUnconsThisIter += dSandTalus;
1109 m_dTotSandTalusToUncons += dSandTalus;
1110}
1111
1117
1123
1125void CGeomCell::AddCoarseTalusToUncons(double const dCoarseTalus)
1126{
1127 m_dCoarseTalusToUnconsThisIter += dCoarseTalus;
1128 m_dTotCoarseTalusToUncons += dCoarseTalus;
1129}
1130
1136
1142
1144void CGeomCell::SetPotentialBeachErosion(double const dPotentialIn)
1145{
1146 m_dPotentialBeachErosionThisIter = dPotentialIn;
1147 m_dTotPotentialBeachErosion += dPotentialIn;
1148}
1149
1155
1161
1163void CGeomCell::SetActualBeachErosion(double const dThisActualErosion)
1164{
1165 m_dActualBeachErosionThisIter = dThisActualErosion;
1166 m_dTotActualBeachErosion += dThisActualErosion;
1167}
1168
1171{
1173}
1174
1177{
1179}
1180
1181// //! Returns true if there has been actual beach erosion this timestep
1182// bool CGeomCell::bActualBeachErosionThisIter(void) const
1183// {
1184// return (m_dActualBeachErosionThisIter > 0 ? true : false);
1185// }
1186
1188void CGeomCell::IncrBeachDeposition(double const dThisDeposition)
1189{
1190 m_dBeachDepositionThisIter += dThisDeposition;
1191 m_dTotBeachDeposition += dThisDeposition;
1192}
1193
1196{
1198}
1199
1202{
1203 return m_dTotBeachDeposition;
1204}
1205
1206// //! Returns true if there has been beach deposition this timestep
1207// bool CGeomCell::bBeachDepositionThisIter(void) const
1208// {
1209// return (m_dBeachDepositionThisIter > 0 ? true : false);
1210// }
1211
1214{
1216 return true;
1217
1218 return false;
1219}
1220
1223{
1224 return m_dUnconsD50;
1225}
1226
1229{
1230 int const nTmp = this->m_Landform.nGetLFCategory();
1231 if ((nTmp == LF_INTERVENTION_STRUCT) || (nTmp == LF_INTERVENTION_NON_STRUCT))
1232 return nTmp;
1233
1234 return INT_NODATA;
1235}
1236
1238void CGeomCell::SetInterventionHeight(double const dHeight)
1239{
1240 m_dInterventionHeight = dHeight;
1241}
1242
1245{
1246 return m_dInterventionHeight;
1247}
1248
1251{
1253}
Contains CGeomCell definitions.
Contains CRWCellLayer definitions.
Contains CRWCellSediment definitions.
double m_dTotActualPlatformErosion
Total depth of sediment actually eroded from the shore platform.
Definition cell.h:164
void SetSlopeForCliffToe(double const)
Sets this cell's slope for cliff toe locating.
Definition cell.cpp:492
double dGetTotCliffCollapseFine(void) const
Returns the running total depth of fine-sized sediment eroded by cliff collapse on this cell.
Definition cell.cpp:1050
int nGetNumLayers(void) const
Returns the number of sediment layers on the cell (some could have zero thickness)
Definition cell.cpp:553
double dGetTotCoarseTalusToUncons(void)
Returns the grand total of coarse-sized talus moved to unconsolidated sediment on this cell.
Definition cell.cpp:1138
void SetCellDeepWaterWavePeriod(double const)
Sets the deep water wave Period on this cell.
Definition cell.cpp:988
double dGetTotWaveHeight(void) const
Returns the total wave height on this cell.
Definition cell.cpp:939
bool bIsInContiguousSeaFlood(void) const
Is this cell in the contiguous sea flood area?
Definition cell.cpp:171
void SetInContiguousFlood(void)
Set this cell as in the contiguous runup flood area.
Definition cell.cpp:135
double dGetThisIterCliffCollapseErosionFine(void) const
Returns the depth of this-timestep fine-sized sediment cliff collapse on this cell.
Definition cell.cpp:1032
bool bIsCliffToe(void) const
Returns true if this cell is marked as a cliff toe.
Definition cell.cpp:264
double m_dTotTalusCoarseDeposition
Total depth of unconsolidated coarse sediment deposited as a result of cliff collapse.
Definition cell.h:194
double dGetTotCoarseTalusDeposition(void) const
Returns the total depth of coarse talus deposition from cliff collapse on this cell.
Definition cell.cpp:1100
double m_dTotPotentialPlatformErosion
Total depth of sediment eroded from the shore platform, if no supply-limitation.
Definition cell.h:158
int m_nBoundingBoxEdge
If this cell is an edge (or bounding box) cell, this specifies the edge.
Definition cell.h:80
double m_dWaveAngle
Wave orientation.
Definition cell.h:128
double dGetTotPotentialPlatformErosion(void) const
Get total potential (unconstrained) shore platform erosion.
Definition cell.cpp:836
void SetAsFloodline(bool const)
Marks this cell as a flood line.
Definition cell.cpp:270
double dGetConsFineDepthAllLayers(void) const
Returns the total (all layers) depth (in external CRS units) of fine consolidated sediment on this ce...
Definition cell.cpp:658
bool bIsinAnyShadowZone(void) const
Returns true if this cell is in any shadow zone, false otherwise.
Definition cell.cpp:350
double m_dSandTalusToUnconsThisIter
Depth of sand-sized cliff collapse talus moved to unconsolidated sediment this timestep.
Definition cell.h:197
bool bIsFloodBySetupSurge(void) const
Is this cell flooded by setup surge?
Definition cell.cpp:153
bool m_bCheckFloodCell
TODO 007 Finish surge and runup stuff.
Definition cell.h:62
void CalcAllLayerElevsAndD50(void)
For this cell, calculates the elevation of the top of every layer, and the d50 for the topmost uncons...
Definition cell.cpp:759
double dCalcLayerElev(const int)
For this cell, calculates the elevation of the top of a given layer.
Definition cell.cpp:811
int nGetShadowZoneNumber(void) const
Gets the number of the shadow zone that this cell is in.
Definition cell.cpp:335
void SetWaveHeight(double const)
Sets the wave height on this cell, also increments the total wave height.
Definition cell.cpp:923
bool bIsShadowZoneBoundary(void) const
Returns a flag which shows whether this cell is a shadow zone boundary.
Definition cell.cpp:195
double dGetCellDeepWaterWavePeriod(void) const
Returns the deep water wave period on this cell.
Definition cell.cpp:994
void InitCell(void)
Initialise values for this cell.
Definition cell.cpp:867
double dGetCellDeepWaterWaveAngle(void) const
Returns the deep water wave orientation on this cell.
Definition cell.cpp:982
int nGetProfileCoastID(void) const
Gets the coast ID number of the coast-normal profile which this cell is 'under', or returns INT_NODAT...
Definition cell.cpp:297
bool bBeachErosionOrDepositionThisIter(void) const
Returns true only if this cell has had no deposition or erosion this timestep.
Definition cell.cpp:1213
double dGetTotPotentialBeachErosion(void) const
Get total potential (supply-unconstrained) beach erosion.
Definition cell.cpp:1157
bool bIsFloodBySetupSurgeRunup(void) const
Is this cell flooded by setup surge runup?
Definition cell.cpp:165
void SetInActiveZone(bool const)
Sets a flag to show whether this cell is in the active zone.
Definition cell.cpp:177
double dGetPotentialBeachErosion(void) const
Get potential (unconstrained) beach erosion.
Definition cell.cpp:1151
bool bIsInContiguousSea(void) const
Is this a sea cell?
Definition cell.cpp:129
double m_dBeachProtectionFactor
Only meaningful if in zone of platform erosion. 0 = fully protected; 1 = ! no protection.
Definition cell.h:146
int nGetNumOfTopLayerAboveBasement(void) const
Returns the index of the topmost sediment layer (layer 0 being the one just above basement)....
Definition cell.cpp:577
bool m_bInContiguousSea
Switch to indicate if this is a sea cell, contiguous with other sea cells.
Definition cell.h:41
double dGetTotSandTalusToUncons(void)
Returns the grand total of sand-sized talus moved to unconsolidated sediment on this cell.
Definition cell.cpp:1119
int nGetPolygonCoastID(void) const
Returns the coast number of the polygon which 'contains' this cell (returns INT_NODATA if the cell is...
Definition cell.cpp:316
int nGetCoastline(void) const
Returns the ID of the coastline, or INT_NODATA if not a coastline.
Definition cell.cpp:252
bool bIsBoundingBoxEdge(void) const
Is this an edge bounding-box cell?
Definition cell.cpp:117
double m_dTotActualBeachErosion
Total depth of unconsolidated beach sediment actually eroded.
Definition cell.h:218
double dGetTotBeachDeposition(void) const
Get beach erosion.
Definition cell.cpp:1201
void SetSuspendedSediment(double const)
Sets this cell's suspended sediment depth equivalent, it also increments the running total of suspend...
Definition cell.cpp:525
double dGetTotWaveAngle(void) const
Returns the total wave orientation on this cell.
Definition cell.cpp:958
void IncrBeachDeposition(double const)
Increment this-timestep beach deposition, also increment total beach deposition.
Definition cell.cpp:1188
void SetActualPlatformErosion(double const)
Set this-timestep actual (constrained) shore platform erosion and increment total actual shore platfo...
Definition cell.cpp:842
double dGetSeaDepth(void) const
Returns the depth of seawater on this cell.
Definition cell.cpp:513
bool bPotentialPlatformErosion(void) const
Returns true if this cell has had potential platform erosion on this cell this timestep.
Definition cell.cpp:225
double dGetTotActualBeachErosion(void) const
Get total actual (supply-constrained) beach erosion.
Definition cell.cpp:1176
double m_dBasementElevation
Elevation of basement surface (m)
Definition cell.h:110
double dGetCellDeepWaterWaveHeight(void) const
Returns the deep water wave height on this cell.
Definition cell.cpp:970
double dGetInterventionTopElev(void) const
Returns the elevation of the top of the intervention, assuming it rests on the sediment-top surface.
Definition cell.cpp:1250
double m_dLocalConsSlope
Used in erosion calculations, stored here for display purposes.
Definition cell.h:107
void SetAsCliffToe(bool const)
Marks this cell as a cliff toe cell.
Definition cell.cpp:258
int nGetTopNonZeroLayerAboveBasement(void) const
Returns the index of the topmost sediment layer (layer 0 being the one just above basement) with non-...
Definition cell.cpp:560
bool m_bFloodBySetupSurgeRunup
TODO 007 Finish surge and runup stuff.
Definition cell.h:77
double dGetTotSandTalusDeposition(void) const
Returns the total depth of sand talus deposition from cliff collapse on this cell.
Definition cell.cpp:1094
double dGetSlopeForCliffToe(void) const
Returns this cell's slope for cliff toe locationg.
Definition cell.cpp:498
double m_dBeachDepositionThisIter
Depth of unconsolidated beach sediment deposited this timestep.
Definition cell.h:221
bool m_bPossibleFloodStartCell
TODO 007 Finish surge and runup stuff.
Definition cell.h:71
double dGetTotCliffCollapseSand(void) const
Returns the running total depth of sand-sized sediment eroded by cliff collapse on this cell.
Definition cell.cpp:1056
double dGetBeachDeposition(void) const
Get beach deposition.
Definition cell.cpp:1195
void AppendLayers(int const)
Appends sediment layers.
Definition cell.cpp:752
bool bIsPossibleCoastStartCell(void) const
Returns a flag which shows whether this cell has been flagged as a possible start- or end-point for a...
Definition cell.cpp:207
int m_nPolygonCoastID
If this cell is within a polygon, this is the ID number of the polygon's coast.
Definition cell.h:95
void SetActualBeachErosion(double const)
Set this-timestep actual (supply-constrained) beach erosion and increment total actual beach erosion.
Definition cell.cpp:1163
double dGetBeachProtectionFactor(void) const
Returns this cell's beach protection factor.
Definition cell.cpp:1014
double m_dTalusSandDepositionThisIter
Depth of unconsolidated sand sediment deposited as a result of cliff collapse this timestep.
Definition cell.h:185
double m_dTalusCoarseDepositionThisIter
Depth of unconsolidated coarse sediment deposited as a result of cliff collapse this timestep.
Definition cell.h:191
double m_dTotBeachDeposition
Total depth of unconsolidated beach sediment deposited.
Definition cell.h:224
void AddCoarseTalusDeposition(double const)
Increments the depth of this-timestep coarse-sized cliff collapse talus on this cell,...
Definition cell.cpp:1075
void SetPotentialBeachErosion(double const)
Set potential (unconstrained) beach erosion and increment total beach potential erosion.
Definition cell.cpp:1144
double m_dTotWaveHeight
Total wave height (m) (used to calc average)
Definition cell.h:125
int nGetPolygonID(void) const
Returns the coast ID number of the polygon which 'contains' this cell (returns INT_NODATA if the cell...
Definition cell.cpp:310
double dGetUnconsFineDepthAllLayers(void) const
Returns the total (all layers) depth (in external CRS units) of fine unconsolidated sediment on this ...
Definition cell.cpp:669
double dGetThisIterCoarseTalusToUncons(void)
Returns the this-iteration total of coarse-sized talus moved to unconsolidated sediment on this cell.
Definition cell.cpp:1132
~CGeomCell(void)
Destructor.
Definition cell.cpp:100
int nGetBoundingBoxEdge(void) const
Returns the number of the bounding-box edge, or NO_DIRECTION if it is not.
Definition cell.cpp:111
bool bIsInActiveZone(void) const
Returns a flag which shows whether this cell is in the active zone.
Definition cell.cpp:183
CRWCellLayer * pGetLayerAboveBasement(int const)
Return a reference to the Nth sediment layer (layer 0 being just above basement)
Definition cell.cpp:603
double m_dTotWaveAngle
Total wave orientation (used to calc average)
Definition cell.h:134
void SetInterventionHeight(double const)
Sets the intervention height.
Definition cell.cpp:1238
int nGetProfileID(void) const
Gets the ID number of the coast-normal profile which this cell is 'under', or returns INT_NODATA.
Definition cell.cpp:282
double m_dCliffCollapseSandThisIter
Depth of sand sediment (consolidated and unconsolidated) removed via cliff collapse this timestep.
Definition cell.h:170
double dGetThisIterCliffCollapseCoarseTalusDeposition(void) const
Retuns the depth of this-timestep coarse talus deposition from cliff collapse on this cell.
Definition cell.cpp:1088
double dGetInterventionHeight(void) const
Returns the intervention height.
Definition cell.cpp:1244
double m_dPotentialPlatformErosionThisIter
Depth of sediment on the shore platform that could be eroded this timestep, if no supply-limitation.
Definition cell.h:155
double m_dTotSandCliffCollapse
Total depth of sand sediment (consolidated and unconsolidated) removed via cliff collapse.
Definition cell.h:179
double dGetAllUnconsDepthAllLayers(void) const
Returns the total (all layers) depth (in external CRS units) of unconsolidated sediment (all size cla...
Definition cell.cpp:735
void SetCoastAndProfileID(int const, int const)
Sets the coast ID number, and the profile ID number, of the coast-normal profile which this cell is '...
Definition cell.cpp:303
double dGetThisIterSWL(void) const
Returns the sea surface elevation at the current iteration.
Definition cell.cpp:646
double dGetUnconsCoarseDepthAllLayers(void) const
Returns the total (all layers) depth (in external CRS units) of coarse unconsolidated sediment on thi...
Definition cell.cpp:713
int nGetInterventionClass(void) const
Gets the intervention class for this cell, or returns INT_NODATA if there is not an intervention here...
Definition cell.cpp:1228
void SetLocalConsSlope(double const)
Sets the local slope of the consolidated sediment only.
Definition cell.cpp:468
double dGetThisIterCliffCollapseSandTalusDeposition(void) const
Returns the depth of this-timestep sand talus deposition from cliff collapse on this cell.
Definition cell.cpp:1082
void SetDownDriftZoneNumber(int const)
Sets the down drift zone number.
Definition cell.cpp:450
static CGeomRasterGrid * m_pGrid
Definition cell.h:245
double dGetWaveHeight(void) const
Returns the wave height on this cell.
Definition cell.cpp:933
double dGetWaveAngle(void) const
Returns the wave orientation on this cell.
Definition cell.cpp:952
double dGetTotSeaDepth(void) const
Returns the total depth of seawater on this cell.
Definition cell.cpp:519
double m_dTotFineCliffCollapse
Total depth of fine sediment (consolidated and unconsolidated) removed via cliff collapse.
Definition cell.h:176
bool bIsInundated(void)
Returns true if the elevation of the sediment top surface (both consolidated and unconsolidated,...
Definition cell.cpp:640
bool bIsFloodline(void) const
Returns true if the cell is a flood line.
Definition cell.cpp:276
int nGetLayerAtElev(double const) const
Given an elevation, this finds the index of the layer that contains that elevation (layer 0 being the...
Definition cell.cpp:794
double dGetConsSedTopElevForLayerAboveBasement(int const) const
Returns the elevation of the top of the consolidated sediment only, for a given layer (layer 0 being ...
Definition cell.cpp:586
double m_dTotCoarseCliffCollapse
Total depth of coarse sediment (consolidated and unconsolidated) removed via cliff collapse.
Definition cell.h:182
CRWCellLandform m_Landform
This cell's landform data.
Definition cell.h:233
bool bElevLessThanSWL(void) const
Returns true if the top elevation (sediment and talus, plus any intervention) of this cell is less th...
Definition cell.cpp:410
double dGetConsSedTopElevOmitTalus(void) const
Returns the elevation of the top surface of sediment (both consolidated and unconsolidated) for this ...
Definition cell.cpp:622
void SetCoastAndPolygonID(int const, int const)
Sets the coast number, and the polygon ID, of the polygon which 'contains' this cell.
Definition cell.cpp:322
double m_dCliffCollapseFineThisIter
Depth of fine sediment (consolidated and unconsolidated) removed via cliff collapse this timestep.
Definition cell.h:167
double m_dDeepWaterWaveHeight
Wave height if this is a deep water cell.
Definition cell.h:137
double m_dActualBeachErosionThisIter
Depth of unconsolidated beach sediment actually eroded this timestep.
Definition cell.h:215
double m_dTotSuspendedSediment
Total depth of suspended sediment (m) since simulation start (used to calc average)
Definition cell.h:152
bool m_bInContiguousFlood
Switch to indicate that this cell is in the contiguous runup flood area.
Definition cell.h:44
void SetWaveValuesToDeepWaterWaveValues(void)
Sets wave height to the deep water wave height value, and sets wave orientation to the deep water wav...
Definition cell.cpp:1000
double dGetUnconsSandDepthAllLayers(void) const
Returns the total (all layers) depth (in external CRS units) of sand-sized unconsolidated sediment on...
Definition cell.cpp:691
void SetBoundingBoxEdge(int const)
Set the edge number if this cell is an edge bounding-box cell.
Definition cell.cpp:105
void SetFloodBySetupSurgeRunup(void)
Set this cell as flooded by setup surge runup.
Definition cell.cpp:159
void SetPotentialPlatformErosion(double const)
Set potential (unconstrained) shore platform erosion and increment total shore platform potential ero...
Definition cell.cpp:823
bool m_bIsInActiveZone
Switch to indicate that this cell is in the active zone.
Definition cell.h:47
void SetPossibleFloodStartCell(void)
Sets a flag to show that this cell has been flagged as a possible start-point for runup flooding.
Definition cell.cpp:213
double dGetAllConsDepthAllLayers(void) const
Returns the total (all layers) depth (in external CRS units) of consolidated sediment (all size class...
Definition cell.cpp:724
double dGetConsSedTopElevIncTalus(void)
Returns the elevation of the top surface of sediment (both consolidated and unconsolidated) plus talu...
Definition cell.cpp:628
void AddSuspendedSediment(double const)
Adds to this cell's suspended sediment depth equivalent, it also increments the running total of susp...
Definition cell.cpp:533
bool m_bShadowBoundary
Switch to show this cell is 'under' a shadow boundary.
Definition cell.h:65
int nGetDownDriftZoneNumber(void) const
Gets the down drift zone number.
Definition cell.cpp:456
void UnSetInContiguousFlood(void)
Set this cell as not in the contiguous runup flood area.
Definition cell.cpp:141
double dGetUnconsD50(void) const
Returns the D50 of unconsolidated sediment on this cell.
Definition cell.cpp:1222
double m_dPotentialBeachErosionThisIter
Depth of unconsolidated beach sediment that could be eroded this timestep, if no supply-limitation.
Definition cell.h:209
bool bIsCellFloodCheck(void) const
Returns true if this cell is checked, false otherwise (flood switch)
Definition cell.cpp:444
double dGetTotActualPlatformErosion(void) const
Get total actual (constrained) shore platform erosion.
Definition cell.cpp:855
double m_dSlopeForCliffToe
Slope at this cell (degrees or unitless)
Definition cell.h:113
double dGetConsSandDepthAllLayers(void) const
Returns the total (all layers) depth (in external CRS units) of sand-sized consolidated sediment on t...
Definition cell.cpp:680
double dGetThisIterSandTalusToUncons(void)
Returns the this-iteration total of sand-sized talus moved to unconsolidated sediment on this cell.
Definition cell.cpp:1113
vector< double > m_VdAllHorizonTopElev
Number of layer-top elevations (inc. that of the basement, which is m_VdAllHorizonTopElev[0]) size 1 ...
Definition cell.h:241
bool bActualPlatformErosion(void) const
Returns true if we have had actual platform erosion on this cell during this timestep.
Definition cell.cpp:231
double m_dWavePeriod
Wave period (s)
Definition cell.h:131
double m_dSeaDepth
Depth of still water (m), is zero if not inundated.
Definition cell.h:116
double dGetBasementElev(void) const
Returns this cell's basement elevation.
Definition cell.cpp:486
int m_nPolygonID
If this cell is within a polygon, this is the ID of the polygon.
Definition cell.h:92
bool bIsPossibleFloodStartCell(void) const
Returns a flag which shows whether this cell has been flagged as a possible start point for runup flo...
Definition cell.cpp:219
double m_dActualPlatformErosionThisIter
Depth of sediment actually eroded from the shore platform this timestep.
Definition cell.h:161
double m_dTotSandTalusToUncons
Total depth of sand-sized cliff collapse talus moved to unconsolidated sediment.
Definition cell.h:200
double dGetPotentialPlatformErosion(void) const
Get potential (unconstrained) shore platform erosion.
Definition cell.cpp:830
double dGetTotSuspendedSediment(void) const
Returns the total suspended sediment depth equivalent on this cell.
Definition cell.cpp:547
double m_dDeepWaterWaveAngle
Wave orientation if this is a deep water cell.
Definition cell.h:140
double dGetActualBeachErosion(void) const
Get actual (supply-constrained) beach erosion.
Definition cell.cpp:1170
void SetSeaDepth(void)
Returns the depth of seawater on this cell if the sediment top (including talus and intervention) is ...
Definition cell.cpp:861
void SetShadowZoneNumber(int const)
Set the number of the shadow zone that this cell is in.
Definition cell.cpp:329
double dGetAllSedTopElevOmitTalus(void) const
Returns the elevation of the top surface of sediment (both consolidated and unconsolidated) for this ...
Definition cell.cpp:610
void SetCellDeepWaterWaveAngle(double const)
Sets the deep water wave orientation on this cell.
Definition cell.cpp:976
bool m_bPossibleCoastStartCell
Switch to show that this cell could be the start of a coastline.
Definition cell.h:68
void AddSandTalusToUncons(double const)
Adds to the totals of sand-sized talus moved to unconsolidated sediment on this cell.
Definition cell.cpp:1106
CGeomCell()
Constructor with initialisation list.
Definition cell.cpp:36
double dGetActualPlatformErosion(void) const
Get actual (constrained) shore platform erosion.
Definition cell.cpp:849
void SetFloodBySetupSurge(void)
Set this cell as flooded by setup surge.
Definition cell.cpp:147
int m_nShadowZoneNumber
If this cell is within a shadow zone, this is the ID number of the shadow zone.
Definition cell.h:101
bool bIsinThisShadowZone(int const) const
Returns true if this cell is in the shadow zone with number given by the parameter,...
Definition cell.cpp:341
double m_dTotCoarseTalusToUncons
Total depth of coarse-sized cliff collapse talus moved to unconsolidated sediment.
Definition cell.h:206
double m_dDeepWaterWavePeriod
Wave period if this is a deep water cell.
Definition cell.h:143
double m_dTotPotentialBeachErosion
Total depth of unconsolidated beach sediment eroded; if no supply-limitation.
Definition cell.h:212
double m_dSuspendedSediment
Suspended sediment as depth equivalent (m)
Definition cell.h:149
double m_dTotTalusSandDeposition
Total depth of unconsolidated sand sediment deposited as a result of cliff collapse.
Definition cell.h:188
void SetCheckFloodCell(void)
Set this cell as checked (flood switch)
Definition cell.cpp:432
double m_dCoarseTalusToUnconsThisIter
Depth of coarse-sized cliff collapse talus moved to unconsolidated sediment this timestep.
Definition cell.h:203
void SetInContiguousSea(void)
Set this cell to be a sea cell.
Definition cell.cpp:123
double dGetConsCoarseDepthAllLayers(void) const
Returns the total (all layers) depth (in external CRS units) of coarse consolidated sediment on this ...
Definition cell.cpp:702
int m_nDownDriftZoneNumber
If this cell is within a downdrift zone, this is the ID number of the downdrift zone.
Definition cell.h:104
double m_dWaveHeight
Wave height (m)
Definition cell.h:122
double dGetTopElevIncSea(void)
Returns the topmost elevation of the cell, including sea (sediment top elevation (both consolidated a...
Definition cell.cpp:634
void SetWaveAngle(double const)
Sets the wave orientation on this cell, also increments the total wave orientation.
Definition cell.cpp:945
void SetPossibleCoastStartCell(void)
Sets a flag to show that this cell has been flagged as a possible start- or end-point for a coastline...
Definition cell.cpp:201
void SetShadowZoneBoundary(void)
Sets a flag to show that this cell is a shadow zone boundary.
Definition cell.cpp:189
bool m_bCliffToe
Is this cell a cliff toe?
Definition cell.h:50
double dGetThisIterCliffCollapseErosionCoarse(void) const
Returns the depth of this-timestep coarse-sized sediment cliff collapse on this cell.
Definition cell.cpp:1044
void SetBasementElev(double const)
Sets this cell's basement elevation.
Definition cell.cpp:480
void IncrCliffCollapseErosion(double const, double const, double const)
Increments the fine, sand, and coarse depths of this-timestep cliff collapse on this cell,...
Definition cell.cpp:1020
double dGetAllSedDepthAllLayers(void) const
Returns the total (all layers) depth (in external CRS units) of all sediment (all size classes,...
Definition cell.cpp:746
void AddSandTalusDeposition(double const)
Increments the depth of this-timestep sand-sized cliff collapse talus on this cell,...
Definition cell.cpp:1068
double dGetSuspendedSediment(void) const
Returns the suspended sediment depth equivalent on this cell.
Definition cell.cpp:541
bool bIsProfile(void) const
Returns true if this cell is 'under' a coastline normal.
Definition cell.cpp:288
double m_dUnconsD50
d50 of unconsolidated sediment on top layer with unconsolidated sediment depth > 0
Definition cell.h:227
double dGetConsSedSlope(void) const
Returns the local slope of the consolidated sediment only.
Definition cell.cpp:474
double m_dInterventionHeight
Height of intervention structure.
Definition cell.h:230
vector< CRWCellLayer > m_VLayerAboveBasement
Cell sediment layers NOT including the basement. Layer 0 is the lowest.
Definition cell.h:238
bool m_bFloodLine
Switch to indicate that this cell is 'under' a runup flood line TODO 007 Finish surge and runup stuff...
Definition cell.h:53
bool bIsCoastline(void) const
Returns true if the cell is a coastline.
Definition cell.cpp:243
void UnSetCheckFloodCell(void)
Set the cell as not checked (flood switch)
Definition cell.cpp:438
void SetCellDeepWaterWaveHeight(double const)
Sets the deep water wave height on this cell.
Definition cell.cpp:964
void AddCoarseTalusToUncons(double const)
Adds to the totals of coarse-sized talus moved to unconsolidated sediment on this cell.
Definition cell.cpp:1125
int m_nCoastlineID
If this cell is 'under' a coastline, this is the ID number of the coast.
Definition cell.h:83
double dGetThisIterCliffCollapseErosionSand(void) const
Returns the depth of this-timestep sand-sized sediment cliff collapse on this cell.
Definition cell.cpp:1038
bool bBasementElevIsMissingValue(void) const
Returns true if this cells's basement data is NODATA, is needed for irregularly-shaped DEMs.
Definition cell.cpp:504
double dGetTotCliffCollapseCoarse(void) const
Returns the running total depth of coarse-sized sediment eroded by cliff collapse on this cell.
Definition cell.cpp:1062
int m_nProfileCoastID
If this cell is 'under' a coast-normal profile, this is the ID number of the profile's coast.
Definition cell.h:89
bool m_bWaveFlood
Switch to indicate that this cell is 'under' a runup wave flood line TODO 007 Finish surge and runup ...
Definition cell.h:56
double m_dCliffCollapseCoarseThisIter
Depth of coarse sediment (consolidated and unconsolidated) removed via cliff collapse this timestep.
Definition cell.h:173
double dGetAllSedTopElevIncTalus(void)
Returns the elevation of the top surface of sediment (both consolidated and unconsolidated) plus talu...
Definition cell.cpp:616
CRWCellLandform * pGetLandform(void)
Returns a pointer to this cell's CRWCellLandform object.
Definition cell.cpp:462
void SetBeachProtectionFactor(double const)
Definition cell.cpp:1008
void SetAsCoastline(int const)
Marks this cell with a coastline ID nunber.
Definition cell.cpp:237
void SetWaveFlood(void)
Set this cell as flooded by swl + surge + setup + runup.
Definition cell.cpp:378
double m_dTotSeaDepth
Total depth of still water (m) since beginning of simulation (used to calc average)
Definition cell.h:119
bool m_bFloodBySetupSurge
TODO 007 Finish surge and runup stuff.
Definition cell.h:74
int m_nProfileID
If this cell is 'under' a coast-normal profile, this is the ID number of the profile.
Definition cell.h:86
double dGetThisIterTotWaterLevel(void) const
Returns the total water level for the current iteration TODO 007 Finish surge and runup stuff.
Definition cell.cpp:652
double dGetTalusDepth(void) const
Returns the depth of any talus that is on this cell, in any layer.
Definition cell.cpp:359
Real-world class used to represent the landform of a cell.
Real-world class used to represent the sediment layers associated with a cell object.
Definition cell_layer.h:28
Real-world class used to represent the sediment (either consolidated or unconsolidated) associated wi...
double dGetCoarseDepth(void) const
Returns the coarse sediment depth equivalent for this sediment layer object.
double dGetFineDepth(void) const
Returns the fine sediment depth equivalent for this sediment layer object.
double dGetSandDepth(void) const
Returns the sand sediment depth equivalent for this sediment layer.
Real-world class used to represent the talus (unconsolidated sediment resulting from cliff collapse) ...
Definition cell_talus.h:25
double dGetCoarseDepth(void) const
Returns the coarse sediment depth equivalent for this talus object object.
double dGetSandDepth(void) const
Returns the sand sediment depth equivalent for this talus object.
This file contains global definitions for CoastalME.
int const NO_NONZERO_THICKNESS_LAYERS
Definition cme.h:672
int const INT_NODATA
Definition cme.h:380
double const TOLERANCE
Definition cme.h:725
int const LF_INTERVENTION_STRUCT
Definition cme.h:442
int const ELEV_ABOVE_SEDIMENT_TOP
Definition cme.h:671
int const LF_INTERVENTION_NON_STRUCT
Definition cme.h:443
int const LF_UNKNOWN
Definition cme.h:434
bool bFPIsEqual(const T d1, const T d2, const T dEpsilon)
Definition cme.h:1213
T tMax(T a, T b)
Definition cme.h:1162
int const NO_DIRECTION
Definition cme.h:398
double const DBL_NODATA
Definition cme.h:736
int const ELEV_IN_BASEMENT
Definition cme.h:670
Contains CSimulation definitions.