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
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
18the terms of the GNU General Public License as published by the Free Software
19Foundation; either version 3 of the License, or (at your option) any later
20version.
21
22 This program is distributed in the hope that it will be useful, but WITHOUT
23ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
24FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
25
26 You should have received a copy of the GNU General Public License along with
27this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave,
28Cambridge, MA 02139, USA.
29
30===============================================================================================================================*/
31#include <vector>
32using std::vector;
33
34#include <assert.h>
35
36#include "cell.h"
37#include "cme.h"
38#include "simulation.h"
39#include "cell.h"
40#include "cell_layer.h"
41#include "cell_sediment.h"
42
45 : m_bInContiguousSea(false),
47 m_bIsInActiveZone(false),
48 m_bCliff(false),
49 m_bFloodLine(false),
50 m_bWaveFlood(false),
51 // m_bCheckCell(false),
52 m_bCheckFloodCell(false),
53 m_bShadowBoundary(false),
66 m_dSeaDepth(0),
97 m_dUnconsD50(0),
99{
100 m_Landform.SetLFCategory(LF_NONE);
101}
102
105
107void CGeomCell::SetBoundingBoxEdge(int const nDirection)
108{
109 m_nBoundingBoxEdge = nDirection;
110}
111
114{
115 return m_nBoundingBoxEdge;
116}
117
120{
122}
123
126{
127 m_bInContiguousSea = true;
128}
129
132{
133 return m_bInContiguousSea;
134}
135
141
147
153
156{
158}
159
165
171
174{
176}
177
179void CGeomCell::SetInActiveZone(bool const bFlag)
180{
181 m_bIsInActiveZone = bFlag;
182}
183
186{
187 return m_bIsInActiveZone;
188}
189
195
198{
199 return m_bShadowBoundary;
200}
201
207
213
219
225
231
232// bool CGeomCell::bActualPlatformErosion(void) const
233// {
234// return (m_dActualPlatformErosionThisIter > 0);
235// }
236
238void CGeomCell::SetAsCoastline(int const nCoast)
239{
240 m_nCoastlineID = nCoast;
241}
242
245{
247 return false;
248
249 return true;
250}
251
254{
255 return m_nCoastlineID;
256}
257
259void CGeomCell::SetAsCliff(bool const bNewFlag)
260{
261 m_bCliff = bNewFlag;
262}
263
265bool CGeomCell::bIsCliff(void) const
266{
267 return m_bCliff;
268}
269
271void CGeomCell::SetAsFloodline(bool const bNewFlag)
272{
273 m_bFloodLine = bNewFlag;
274}
275
278{
279 return m_bFloodLine;
280}
281
283void CGeomCell::SetProfileID(int const nProfile)
284{
285 m_nProfileID = nProfile;
286}
287
290{
291 return m_nProfileID;
292}
293
295bool CGeomCell::bIsProfile(void) const
296{
298 return false;
299
300 return true;
301}
302
304void CGeomCell::SetProfileCoastID(int const nCoast)
305{
306 m_nProfileCoastID = nCoast;
307}
308
311{
312 return m_nProfileCoastID;
313}
314
316void CGeomCell::SetCoastAndProfileID(int const nProfileCoastID, int const nProfile)
317{
318 m_nProfileCoastID = nProfileCoastID;
319 m_nProfileID = nProfile;
320}
321
323void CGeomCell::SetPolygonID(int const nPolyID) { m_nPolygonID = nPolyID; }
324
326int CGeomCell::nGetPolygonID(void) const { return m_nPolygonID; }
327
329void CGeomCell::SetPolygonCoastID(int const nPolyCoastID)
330{
331 m_nPolygonCoastID = nPolyCoastID;
332}
333
336{
337 return m_nPolygonCoastID;
338}
339
341void CGeomCell::SetCoastAndPolygonID(int const nPolyCoastID, int const nPolyID)
342{
343 m_nPolygonCoastID = nPolyCoastID;
344 m_nPolygonID = nPolyID;
345}
346
349{
350 m_nShadowZoneNumber = nCode;
351}
352
355
357bool CGeomCell::bIsinThisShadowZone(int const nZone) const
358{
359 if (m_nShadowZoneNumber == nZone)
360 return true;
361
362 return false;
363}
364
367{
368 if (m_nShadowZoneNumber != 0)
369 return true;
370
371 return false;
372}
373
376
377// void CGeomCell::SetWaveSetup(int const dWaveSetup)
378// {
379// m_dWaveSetup = dWaveSetup;
380// }
381
382// void CGeomCell::SetStormSurge(int const dStormSurge)
383// {
384// m_dStormSurge = dStormSurge;
385// }
386
387// void CGeomCell::SetRunUp(int const dRunUp)
388// {
389// m_dRunUp = dRunUp;
390// }
391
392// void CGeomCell::SetTotLevel(void) const
393// {
394// m_dTotLevel = m_dWaveSetup + m_dStormSurge + m_dRunUp +
395// m_pGrid->pGetSim()->CSimulation::dGetThisIterSWL();
396// }
397
398// int CGeomCell::nGetTotLevel(void) const
399// {
400// return m_dTotLevel;
401// }
402
405{
406 return ((m_VdAllHorizonTopElev.back() + m_dInterventionHeight) < (m_pGrid->pGetSim()->dGetThisIterTotWaterLevel() + m_pGrid->pGetSim()->dGetThisIterSWL()));
407}
408
409// //! Set this cell as checked TODO What is this used for?
410// void CGeomCell::SetCheckCell(void)
411// {
412// m_bCheckCell = true;
413// }
414
415// //! Returns true if this cell is checked, false otherwise TODO 007 What is
416// this used for? bool CGeomCell::bIsCellCheck(void) const
417// {
418// return m_bCheckCell;
419// }
420
423{
424 m_bCheckFloodCell = true;
425}
426
429{
430 m_bCheckFloodCell = false;
431}
432
435{
436 return m_bCheckFloodCell;
437}
438
441{
443}
444
447{
449}
450
456
458void CGeomCell::SetLocalConsSlope(double const dNewSlope)
459{
460 m_dLocalConsSlope = dNewSlope;
461}
462
465{
466 return m_dLocalConsSlope;
467}
468
470void CGeomCell::SetBasementElev(double const dNewElev)
471{
472 m_dBasementElevation = dNewElev;
473}
474
477{
478 return (m_dBasementElevation);
479}
480
482void CGeomCell::SetSlope(double const dNewSlope)
483{
484 m_dSlope = dNewSlope;
485}
486
488double CGeomCell::dGetSlope(void) const
489{
490 return (m_dSlope);
491}
492
495{
496 if (bFPIsEqual(m_dBasementElevation, m_pGrid->pGetSim()->CSimulation::dGetMissingValue(), TOLERANCE))
497 return true;
498
499 return false;
500}
501
503double CGeomCell::dGetSeaDepth(void) const
504{
505 return (m_dSeaDepth);
506}
507
510{
511 return (m_dTotSeaDepth);
512}
513
515void CGeomCell::SetSuspendedSediment(double const dNewSedDepth)
516{
517 // Note no checks here to see if new equiv depth is sensible (e.g. non-negative)
518 m_dSuspendedSediment = dNewSedDepth;
519 m_dTotSuspendedSediment += dNewSedDepth;
520}
521
523void CGeomCell::AddSuspendedSediment(double const dIncSedDepth)
524{
525 // Note no checks here to see if increment equiv depth is sensible (e.g. non-negative)
526 m_dSuspendedSediment += dIncSedDepth;
527 m_dTotSuspendedSediment += dIncSedDepth;
528}
529
532{
533 return (m_dSuspendedSediment);
534}
535
538{
540}
541
544{
545 if (m_VLayerAboveBasement.empty())
546 return INT_NODATA;
547
548 int nTop = static_cast<int>(m_VLayerAboveBasement.size()) - 1;
549
550 while (m_VLayerAboveBasement[nTop].dGetTotalThickness() <= 0)
551 {
552 if (--nTop < 0)
554 }
555
556 return nTop;
557}
558
561{
562 if (m_VLayerAboveBasement.empty())
563 return INT_NODATA;
564
565 return static_cast<int>(m_VLayerAboveBasement.size()) - 1;
566}
567
570{
571 // Note no check to see if nLayer < m_VLayerAboveBasement.size()
572 double dTopElev = m_dBasementElevation;
573
574 for (int n = 0; n < nLayer; n++)
575 {
576 dTopElev += m_VLayerAboveBasement[n].dGetUnconsolidatedThickness();
577 dTopElev += m_VLayerAboveBasement[n].dGetConsolidatedThickness();
578 }
579
580 dTopElev += m_VLayerAboveBasement[nLayer].dGetConsolidatedThickness();
581
582 return dTopElev;
583}
584
587{
588 // TODO 055 No check that nLayer < size()
589 return &m_VLayerAboveBasement[nLayer];
590}
591
592// //! Returns the volume-equivalent elevation of the sediment's top surface for this cell (i.e. if there is a cliff notch, then lower the elevation by the notch's volume)
593// double CGeomCell::dGetVolEquivSedTopElev(void) const
594// {
595// double dTopElev = m_dBasementElevation;
596// for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
597// {
598// dTopElev += (m_VLayerAboveBasement[n].dGetUnconsolidatedThickness() -
599// m_VLayerAboveBasement[n].dGetNotchUnconsolidatedLost()); dTopElev +=
600// (m_VLayerAboveBasement[n].dGetConsolidatedThickness() -
601// m_VLayerAboveBasement[n].dGetNotchConsolidatedLost());
602// }
603//
604// return dTopElev;
605// }
606
609{
610 return m_VdAllHorizonTopElev.back();
611}
612
618
624
627{
628 return ((m_VdAllHorizonTopElev.back() + m_dInterventionHeight) < m_pGrid->pGetSim()->CSimulation::dGetThisIterSWL());
629}
630
633{
634 return m_pGrid->pGetSim()->CSimulation::dGetThisIterSWL();
635}
636
639{
640 return m_pGrid->pGetSim()->CSimulation::dGetThisIterTotWaterLevel();
641}
642
643// //! Returns true if the elevation of the sediment top surface for this cell
644// is greater than or equal to the grid's this-timestep still water elevation.
645// Also returns true if the cell has unconsolidated sediment on it and the
646// elevation of the sediment top surface, minus a tolerance value, is less than
647// the grid's this-timestep still water elevation bool
648// CGeomCell::bIsSeaIncBeach(void) const
649// {
650// if (m_bInContiguousSea)
651// // Sea
652// return true;
653//
654// double
655// dWaterLevel = m_pGrid->pGetSim()->CSimulation::dGetThisIterSWL(),
656// dSedTop = m_VdAllHorizonTopElev.back();
657//
658// // Beach
659// if ((m_VLayerAboveBasement.back().dGetUnconsolidatedThickness() > 0) &&
660// ((dSedTop - m_pGrid->pGetSim()->CSimulation::dGetMaxBeachElevAboveSWL()) <
661// dWaterLevel)) return true;
662//
663// return false;
664// }
665
668{
669 double dTotThick = 0;
670
671 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
672 {
674 double const dLayerThick = m_Layer.dGetFineConsolidatedThickness();
675 double const dNotchEquiv = m_Layer.pGetConsolidatedSediment()->dGetNotchFineLost();
676
677 dTotThick += (dLayerThick - dNotchEquiv);
678 }
679
680 return dTotThick;
681}
682
685{
686 double dTotThick = 0;
687
688 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
689 dTotThick += m_VLayerAboveBasement[n].dGetFineUnconsolidatedThickness();
690
691 return dTotThick;
692}
693
696{
697 double dTotThick = 0;
698
699 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
700 {
702 double const dLayerThick = m_Layer.dGetSandConsolidatedThickness();
703 double const dNotchEquiv = m_Layer.pGetConsolidatedSediment()->dGetNotchSandLost();
704
705 dTotThick += (dLayerThick - dNotchEquiv);
706 }
707
708 return dTotThick;
709}
710
713{
714 double dTotThick = 0;
715
716 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
717 dTotThick += m_VLayerAboveBasement[n].dGetSandUnconsolidatedThickness();
718
719 return dTotThick;
720}
721
724{
725 double dTotThick = 0;
726
727 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
728 {
730 double const dLayerThick = m_Layer.dGetCoarseConsolidatedThickness();
731 double const dNotchEquiv = m_Layer.pGetConsolidatedSediment()->dGetNotchCoarseLost();
732
733 dTotThick += (dLayerThick - dNotchEquiv);
734 }
735
736 return dTotThick;
737}
738
741{
742 double dTotThick = 0;
743
744 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
745 dTotThick += m_VLayerAboveBasement[n].dGetCoarseUnconsolidatedThickness();
746
747 return dTotThick;
748}
749
752{
753 double dTotThick = 0;
754
755 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
756 dTotThick += m_VLayerAboveBasement[n].dGetConsolidatedThickness();
757
758 return dTotThick;
759}
760
763{
764 double dTotThick = 0;
765
766 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
767 dTotThick += m_VLayerAboveBasement[n].dGetUnconsolidatedThickness();
768
769 return dTotThick;
770}
771
774{
775 return (this->dGetTotUnconsThickness() + this->dGetTotConsThickness());
776}
777
779void CGeomCell::AppendLayers(int const nLayer)
780{
781 for (int i = 0; i < nLayer; i++)
783}
784
787{
788 m_VdAllHorizonTopElev.clear();
789 m_VdAllHorizonTopElev.push_back(m_dBasementElevation); // Elevation of top of the basement
790
791 // Calculate the elevation of the top of all other layers
792 int m = 0;
793
794 for (unsigned int n = 0; n < m_VLayerAboveBasement.size(); n++)
795 m_VdAllHorizonTopElev.push_back(m_VLayerAboveBasement[n].dGetTotalThickness() + m_VdAllHorizonTopElev[m++]); // Elevation of top of layer n
796
797 // 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
799
800 for (int n = static_cast<int>(m_VLayerAboveBasement.size()) - 1; n >= 0; n--)
801 {
802 double const dUnconsThick = m_VLayerAboveBasement[n].dGetUnconsolidatedThickness();
803
804 if (dUnconsThick > 0)
805 {
806 // This is a layer with non-zero thickness of unconsolidated sediment
807 CRWCellSediment const *pUnconsSedLayer = m_VLayerAboveBasement[n].pGetUnconsolidatedSediment();
808 double const dFineProp = pUnconsSedLayer->dGetFineDepth() / dUnconsThick;
809 double const dSandProp = pUnconsSedLayer->dGetSandDepth() / dUnconsThick;
810 double const dCoarseProp = pUnconsSedLayer->dGetCoarseDepth() / dUnconsThick;
811
812 // Calculate d50 for the unconsolidated sediment
813 m_dUnconsD50 = (dFineProp * m_pGrid->pGetSim()->dGetD50Fine()) +
814 (dSandProp * m_pGrid->pGetSim()->dGetD50Sand()) +
815 (dCoarseProp * m_pGrid->pGetSim()->dGetD50Coarse());
816
817 break;
818 }
819 }
820}
821
823int CGeomCell::nGetLayerAtElev(double const dElev) const
824{
826 if (dElev < m_VdAllHorizonTopElev[0])
827 return ELEV_IN_BASEMENT;
828
829 for (unsigned int nLayer = 1; nLayer < m_VdAllHorizonTopElev.size();
830 nLayer++)
831 {
832 if ((m_VLayerAboveBasement[nLayer - 1].dGetTotalThickness() > 0) &&
833 (dElev >= m_VdAllHorizonTopElev[nLayer - 1]) &&
834 (dElev <= m_VdAllHorizonTopElev[nLayer]))
835 return (nLayer - 1);
836 }
837
839}
840
842double CGeomCell::dCalcLayerElev(const int nLayer)
843{
844 // Note no check to see if nLayer < m_VLayerAboveBasement.size()
845 double dTopElev = m_dBasementElevation;
846
847 for (int n = 0; n <= nLayer; n++)
848 dTopElev += m_VLayerAboveBasement[n].dGetTotalThickness();
849
850 return dTopElev;
851}
852
854void CGeomCell::SetPotentialPlatformErosion(double const dPotentialIn)
855{
857 m_dTotPotentialPlatformErosion += dPotentialIn;
858}
859
865
871
873void CGeomCell::SetActualPlatformErosion(double const dThisActualErosion)
874{
875 m_dActualPlatformErosionThisIter = dThisActualErosion;
876 m_dTotActualPlatformErosion += dThisActualErosion;
877}
878
884
890
893{
894 m_dSeaDepth = tMax(m_pGrid->pGetSim()->CSimulation::dGetThisIterSWL() - (m_VdAllHorizonTopElev.back() + m_dInterventionHeight), 0.0);
895}
896
899{
904 // m_bEstimated =
909 // m_bCheckCell =
910 m_bCheckFloodCell = false;
911
916
919
933 m_dWaveAngle = 0;
934
936
937 // Initialize this-iteration sediment input event values
938 int const nThisLayer = this->nGetTopNonZeroLayerAboveBasement();
939
940 // Safety check
941 if ((nThisLayer == NO_NONZERO_THICKNESS_LAYERS) ||
942 (nThisLayer == INT_NODATA))
943 {
944 // Uh-oh, problem. So just return TODO 021
945 return;
946 }
947
948 m_VLayerAboveBasement[nThisLayer].pGetUnconsolidatedSediment()->InitThisIterSedimentInputAll();
949}
950
952void CGeomCell::SetWaveHeight(double const dWaveHeight)
953{
954 m_dWaveHeight = dWaveHeight;
955 m_dTotWaveHeight += dWaveHeight;
956
957 // if (m_dWaveHeight != DBL_NODATA)
958 // assert(m_dWaveHeight >= 0);
959}
960
963{
964 return m_dWaveHeight;
965}
966
969{
970 return m_dTotWaveHeight;
971}
972
974void CGeomCell::SetWaveAngle(double const dWaveAngle)
975{
976 m_dWaveAngle = dWaveAngle;
977 m_dTotWaveAngle += dWaveAngle;
978}
979
981double CGeomCell::dGetWaveAngle(void) const
982{
983 return m_dWaveAngle;
984}
985
988{
989 return m_dTotWaveAngle;
990}
991
993void CGeomCell::SetCellDeepWaterWaveHeight(double const dWaveHeight)
994{
995 m_dDeepWaterWaveHeight = dWaveHeight;
996}
997
1000{
1002}
1003
1005void CGeomCell::SetCellDeepWaterWaveAngle(double const dWaveAngle)
1006{
1007 m_dDeepWaterWaveAngle = dWaveAngle;
1008}
1009
1012{
1013 return m_dDeepWaterWaveAngle;
1014}
1015
1017void CGeomCell::SetCellDeepWaterWavePeriod(double const dWavePeriod)
1018{
1019 m_dDeepWaterWavePeriod = dWavePeriod;
1020}
1021
1024{
1026}
1027
1035
1036// Sets this cell's beach protection factor
1037void CGeomCell::SetBeachProtectionFactor(double const dFactor)
1038{
1039 m_dBeachProtectionFactor = dFactor;
1040}
1041
1044{
1046}
1047
1049void CGeomCell::IncrCliffCollapseErosion(double const dFineDepth, double const dSandDepth, double const dCoarseDepth)
1050{
1051 m_dCliffCollapseFineThisIter += dFineDepth;
1052 m_dCliffCollapseSandThisIter += dSandDepth;
1053 m_dCliffCollapseCoarseThisIter += dCoarseDepth;
1054
1055 m_dTotFineCliffCollapse += dFineDepth;
1056 m_dTotSandCliffCollapse += dSandDepth;
1057 m_dTotCoarseCliffCollapse += dCoarseDepth;
1058}
1059
1065
1071
1077
1080{
1082}
1083
1086{
1088}
1089
1092{
1094}
1095
1097void CGeomCell::AddSandTalusDeposition(double const dDepth)
1098{
1100 m_dTotTalusSandDeposition += dDepth;
1101}
1102
1105{
1108}
1109
1115
1121
1124{
1126}
1127
1133
1135void CGeomCell::SetPotentialBeachErosion(double const dPotentialIn)
1136{
1137 m_dPotentialBeachErosionThisIter = dPotentialIn;
1138 m_dTotPotentialBeachErosion += dPotentialIn;
1139}
1140
1146
1152
1154void CGeomCell::SetActualBeachErosion(double const dThisActualErosion)
1155{
1156 m_dActualBeachErosionThisIter = dThisActualErosion;
1157 m_dTotActualBeachErosion += dThisActualErosion;
1158}
1159
1162{
1164}
1165
1168{
1170}
1171
1172// //! Returns true if there has been actual beach erosion this timestep
1173// bool CGeomCell::bActualBeachErosionThisIter(void) const
1174// {
1175// return (m_dActualBeachErosionThisIter > 0 ? true : false);
1176// }
1177
1179void CGeomCell::IncrBeachDeposition(double const dThisDeposition)
1180{
1181 m_dBeachDepositionThisIter += dThisDeposition;
1182 m_dTotBeachDeposition += dThisDeposition;
1183}
1184
1187{
1189}
1190
1193{
1194 return m_dTotBeachDeposition;
1195}
1196
1197// //! Returns true if there has been beach deposition this timestep
1198// bool CGeomCell::bBeachDepositionThisIter(void) const
1199// {
1200// return (m_dBeachDepositionThisIter > 0 ? true : false);
1201// }
1202
1205{
1207 return true;
1208
1209 return false;
1210}
1211
1214{
1215 return m_dUnconsD50;
1216}
1217
1219void CGeomCell::SetInterventionClass(int const nSubCatCode)
1220{
1221 if (nSubCatCode != LF_NONE)
1222 {
1223 this->m_Landform.SetLFCategory(LF_CAT_INTERVENTION);
1224
1225 if (nSubCatCode == IO_INTERVENTION_STRUCT)
1226 this->m_Landform.SetLFSubCategory(LF_SUBCAT_INTERVENTION_STRUCT);
1227
1228 else if (nSubCatCode == IO_INTERVENTION_NON_STRUCT)
1229 this->m_Landform.SetLFSubCategory(LF_SUBCAT_INTERVENTION_NON_STRUCT);
1230 }
1231}
1232
1235{
1236 int nTmp = INT_NODATA;
1237
1238 if (this->m_Landform.nGetLFCategory() == LF_CAT_INTERVENTION)
1239 {
1240 if (this->m_Landform.nGetLFSubCategory() == LF_SUBCAT_INTERVENTION_STRUCT)
1242
1243 else if (this->m_Landform.nGetLFSubCategory() ==
1246 }
1247
1248 return nTmp;
1249}
1250
1252void CGeomCell::SetInterventionHeight(double const dHeight)
1253{
1254 m_dInterventionHeight = dHeight;
1255}
1256
1259{
1260 return m_dInterventionHeight;
1261}
1262
1265{
1267}
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:174
double dGetTotCliffCollapseFine(void) const
Returns the running total depth of fine-sized sediment eroded by cliff collapse on this cell.
Definition cell.cpp:1079
void SetCellDeepWaterWavePeriod(double const)
Sets the deep water wave Period on this cell.
Definition cell.cpp:1017
double dGetTotWaveHeight(void) const
Returns the total wave height on this cell.
Definition cell.cpp:968
void SetInContiguousFlood(void)
Set this cell as in the contiguous runup flood area.
Definition cell.cpp:137
double dGetThisIterCliffCollapseErosionFine(void) const
Returns the depth of this-timestep fine-sized sediment cliff collapse on this cell.
Definition cell.cpp:1061
double m_dTotTalusCoarseDeposition
Total depth of unconsolidated coarse sediment deposited as a result of cliff collapse.
Definition cell.h:204
double dGetTotCoarseTalusDeposition(void) const
Returns the total depth of coarse talus deposition from cliff collapse on this cell.
Definition cell.cpp:1129
double m_dTotPotentialPlatformErosion
Total depth of sediment eroded from the shore platform, if no supply-limitation.
Definition cell.h:168
int m_nBoundingBoxEdge
If this cell is an edge (or bounding box) cell, this specifies the edge.
Definition cell.h:89
double m_dWaveAngle
Wave orientation.
Definition cell.h:138
double dGetTotPotentialPlatformErosion(void) const
Get total potential (unconstrained) shore platform erosion.
Definition cell.cpp:867
void SetAsFloodline(bool const)
Marks this cell is flood line.
Definition cell.cpp:271
bool bIsinAnyShadowZone(void) const
Returns true if this cell is in any shadow zone, false otherwise.
Definition cell.cpp:366
double dGetTotConsFineThickConsiderNotch(void) const
Returns the total thickness of fine consolidated sediment on this cell, minus the depth-equivalent of...
Definition cell.cpp:667
bool bIsFloodBySetupSurge(void) const
Is this cell flooded by setup surge?
Definition cell.cpp:155
bool m_bCheckFloodCell
TODO 007 What is this used for?
Definition cell.h:71
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:786
bool m_bCliff
Is this cell a cliff?
Definition cell.h:59
void SetProfileCoastID(int const)
Sets the coast ID number of the coast-normal profile which this cell is 'under'.
Definition cell.cpp:304
int nGetTopLayerAboveBasement(void) const
Returns the index of the topmost sediment layer (layer 0 being the one just above basement),...
Definition cell.cpp:560
double dCalcLayerElev(const int)
For this cell, calculates the elevation of the top of a given layer.
Definition cell.cpp:842
int nGetShadowZoneNumber(void) const
Gets the number of the shadow zone that this cell is in.
Definition cell.cpp:354
void SetWaveHeight(double const)
Sets the wave height on this cell, also increments the total wave height.
Definition cell.cpp:952
bool bIsShadowZoneBoundary(void) const
Returns a flag which shows whether this cell is a shadow zone boundary.
Definition cell.cpp:197
double dGetCellDeepWaterWavePeriod(void) const
Returns the deep water wave period on this cell.
Definition cell.cpp:1023
void InitCell(void)
Initialise values for this cell.
Definition cell.cpp:898
double dGetCellDeepWaterWaveAngle(void) const
Returns the deep water wave orientation on this cell.
Definition cell.cpp:1011
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:310
bool bBeachErosionOrDepositionThisIter(void) const
Returns true only if this cell has had no deposition or erosion this timestep.
Definition cell.cpp:1204
double dGetTotPotentialBeachErosion(void) const
Get total potential (supply-unconstrained) beach erosion.
Definition cell.cpp:1148
bool bIsFloodBySetupSurgeRunup(void) const
Is this cell flooded by setup surge runup?
Definition cell.cpp:167
void SetInActiveZone(bool const)
Sets a flag to show whether this cell is in the active zone.
Definition cell.cpp:179
double dGetPotentialBeachErosion(void) const
Get potential (unconstrained) beach erosion.
Definition cell.cpp:1142
bool bIsInContiguousSea(void) const
Is this a sea cell?
Definition cell.cpp:131
double m_dBeachProtectionFactor
Only meaningful if in zone of platform erosion. 0 = fully protected; 1 = ! no protection.
Definition cell.h:156
bool m_bInContiguousSea
Switch to indicate if this is a sea cell, contiguous with other sea cells.
Definition cell.h:50
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:335
int nGetCoastline(void) const
Returns the ID of the coastline, or INT_NODATA if not a coastline.
Definition cell.cpp:253
bool bIsBoundingBoxEdge(void) const
Is this an edge bounding-box cell?
Definition cell.cpp:119
double m_dTotActualBeachErosion
Total depth of unconsolidated beach sediment actually eroded.
Definition cell.h:216
double dGetTotBeachDeposition(void) const
Get beach erosion.
Definition cell.cpp:1192
void SetSuspendedSediment(double const)
Sets this cell's suspended sediment depth equivalent, it also increments the running total of suspend...
Definition cell.cpp:515
double dGetTotWaveAngle(void) const
Returns the total wave orientation on this cell.
Definition cell.cpp:987
void IncrBeachDeposition(double const)
Increment this-timestep beach deposition, also increment total beach deposition.
Definition cell.cpp:1179
void SetActualPlatformErosion(double const)
Set this-timestep actual (constrained) shore platform erosion and increment total actual shore platfo...
Definition cell.cpp:873
double dGetSeaDepth(void) const
Returns the depth of seawater on this cell.
Definition cell.cpp:503
bool bPotentialPlatformErosion(void) const
Returns true if this cell has had potential erosion this timestep.
Definition cell.cpp:227
double dGetTotActualBeachErosion(void) const
Get total actual (supply-constrained) beach erosion.
Definition cell.cpp:1167
double m_dBasementElevation
Elevation of basement surface (m)
Definition cell.h:119
double dGetCellDeepWaterWaveHeight(void) const
Returns the deep water wave height on this cell.
Definition cell.cpp:999
double dGetInterventionTopElev(void) const
Returns the elevation of the top of the intervention, assuming it rests on the sediment-top surface.
Definition cell.cpp:1264
double dGetOverallTopElev(void) const
Returns the highest elevation of the cell, which is either the sediment top elevation plus interventi...
Definition cell.cpp:620
double dGetTotUnconsFine(void) const
Returns the total thickness of fine unconsolidated sediment on this cell.
Definition cell.cpp:684
double m_dLocalConsSlope
Used in erosion calculations, stored here for display purposes.
Definition cell.h:116
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:543
bool m_bFloodBySetupSurgeRunup
TODO 007 What is this used for?
Definition cell.h:86
double dGetTotConsSandThickConsiderNotch(void) const
Returns the total thickness of sand-sized consolidated sediment on this cell, minus the depth-equival...
Definition cell.cpp:695
double dGetTotSandTalusDeposition(void) const
Returns the total depth of sand talus deposition from cliff collapse on this cell.
Definition cell.cpp:1123
double m_dBeachDepositionThisIter
Depth of unconsolidated beach sediment deposited this timestep.
Definition cell.h:219
bool m_bPossibleFloodStartCell
TODO 007 What is this used for?
Definition cell.h:80
double dGetTotCliffCollapseSand(void) const
Returns the running total depth of sand-sized sediment eroded by cliff collapse on this cell.
Definition cell.cpp:1085
double dGetBeachDeposition(void) const
Get beach deposition.
Definition cell.cpp:1186
bool bIsInundated(void) const
Returns true if the elevation of the sediment top surface for this cell (plus any intervention) is le...
Definition cell.cpp:626
void AppendLayers(int const)
Appends sediment layers.
Definition cell.cpp:779
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:209
int m_nPolygonCoastID
If this cell is within a polygon, this is the ID number of the polygon's coast.
Definition cell.h:104
void SetActualBeachErosion(double const)
Set this-timestep actual (supply-constrained) beach erosion and increment total actual beach erosion.
Definition cell.cpp:1154
double dGetBeachProtectionFactor(void) const
Returns this cell's beach protection factor.
Definition cell.cpp:1043
double m_dTalusSandDepositionThisIter
Depth of unconsolidated sand sediment deposited as a result of cliff collapse this timestep.
Definition cell.h:195
double m_dTalusCoarseDepositionThisIter
Depth of unconsolidated coarse sediment deposited as a result of cliff collapse this timestep.
Definition cell.h:201
double dGetTotAllSedThickness(void) const
Returns the total thickness of all sediment (all size classes) on this cell.
Definition cell.cpp:773
double m_dTotBeachDeposition
Total depth of unconsolidated beach sediment deposited.
Definition cell.h:222
void AddCoarseTalusDeposition(double const)
Increments the depth of this-timestep coarse-sized talus from cliff collapse on this cell,...
Definition cell.cpp:1104
void SetPotentialBeachErosion(double const)
Set potential (unconstrained) beach erosion and increment total beach potential erosion.
Definition cell.cpp:1135
double m_dTotWaveHeight
Total wave height (m) (used to calc average)
Definition cell.h:135
int nGetPolygonID(void) const
Returns the global ID number of the polygon which 'contains' this cell (returns INT_NODATA if the cel...
Definition cell.cpp:326
double dGetSedimentTopElev(void) const
Returns the true elevation of the sediment's top surface for this cell (if there is a cliff notch,...
Definition cell.cpp:608
~CGeomCell(void)
Destructor.
Definition cell.cpp:104
int nGetBoundingBoxEdge(void) const
Returns the number of the bounding-box edge, or NO_DIRECTION if it is not.
Definition cell.cpp:113
bool bIsInActiveZone(void) const
Returns a flag which shows whether this cell is in the active zone.
Definition cell.cpp:185
CRWCellLayer * pGetLayerAboveBasement(int const)
Return a reference to the Nth sediment layer (layer 0 being just above basement)
Definition cell.cpp:586
double m_dTotWaveAngle
Total wave orientation (used to calc average)
Definition cell.h:144
void SetInterventionHeight(double const)
Sets the intervention height.
Definition cell.cpp:1252
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:289
double m_dCliffCollapseSandThisIter
Depth of sand sediment (consolidated and unconsolidated) removed via cliff collapse this timestep.
Definition cell.h:180
double dGetThisIterCliffCollapseCoarseTalusDeposition(void) const
Retuns the depth of this-timestep coarse talus deposition from cliff collapse on this cell.
Definition cell.cpp:1117
double dGetSedimentPlusInterventionTopElev(void) const
Returns the true elevation of the sediment's top surface for this cell (if there is a cliff notch,...
Definition cell.cpp:614
double dGetSlope(void) const
Returns this cell's slope.
Definition cell.cpp:488
double dGetInterventionHeight(void) const
Returns the intervention height.
Definition cell.cpp:1258
void SetPolygonID(int const)
Sets the global ID number of the polygon which 'contains' this cell.
Definition cell.cpp:323
double m_dPotentialPlatformErosionThisIter
Depth of sediment on the shore platform that could be eroded this timestep, if no supply-limitation.
Definition cell.h:165
double m_dTotSandCliffCollapse
Total depth of sand sediment (consolidated and unconsolidated) removed via cliff collapse.
Definition cell.h:189
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:316
double dGetThisIterSWL(void) const
Returns the sea surface elevation at current iteration.
Definition cell.cpp:632
int nGetInterventionClass(void) const
Gets the intervention class.
Definition cell.cpp:1234
void SetLocalConsSlope(double const)
Sets the local slope of the consolidated sediment only.
Definition cell.cpp:458
double dGetThisIterCliffCollapseSandTalusDeposition(void) const
Returns the depth of this-timestep sand talus deposition from cliff collapse on this cell.
Definition cell.cpp:1111
void SetDownDriftZoneNumber(int const)
Sets the down drift zone number.
Definition cell.cpp:440
static CGeomRasterGrid * m_pGrid
Definition cell.h:243
double dGetWaveHeight(void) const
Returns the wave height on this cell.
Definition cell.cpp:962
double dGetWaveAngle(void) const
Returns the wave orientation on this cell.
Definition cell.cpp:981
double dGetTotSeaDepth(void) const
Returns the total depth of seawater on this cell.
Definition cell.cpp:509
void SetSlope(double const)
Sets this cell's slope.
Definition cell.cpp:482
bool bIsCliff(void) const
Returns true if this cell is marked as a cliff.
Definition cell.cpp:265
double m_dTotFineCliffCollapse
Total depth of fine sediment (consolidated and unconsolidated) removed via cliff collapse.
Definition cell.h:186
bool bIsFloodline(void) const
Returns true if the cell is flood line.
Definition cell.cpp:277
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:823
double m_dTotCoarseCliffCollapse
Total depth of coarse sediment (consolidated and unconsolidated) removed via cliff collapse.
Definition cell.h:192
CRWCellLandform m_Landform
This cell's landform data.
Definition cell.h:231
void SetCoastAndPolygonID(int const, int const)
Sets the coast number, and the polygon ID, of the polygon which 'contains' this cell.
Definition cell.cpp:341
double m_dCliffCollapseFineThisIter
Depth of fine sediment (consolidated and unconsolidated) removed via cliff collapse this timestep.
Definition cell.h:177
double m_dDeepWaterWaveHeight
Wave height if this is a deep water cell.
Definition cell.h:147
double dGetLocalConsSlope(void) const
Returns the local slope of the consolidated sediment only.
Definition cell.cpp:464
double m_dActualBeachErosionThisIter
Depth of unconsolidated beach sediment actually eroded this timestep.
Definition cell.h:213
double m_dTotSuspendedSediment
Total depth of suspended sediment (m) since simulation start (used to calc average)
Definition cell.h:162
void SetInterventionClass(int const)
Sets the landform category and subcategory for an intervention.
Definition cell.cpp:1219
bool m_bInContiguousFlood
Switch to indicate that this cell is in the contiguous runup flood area.
Definition cell.h:53
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:1029
void SetBoundingBoxEdge(int const)
Set the edge number if this cell is an edge bounding-box cell.
Definition cell.cpp:107
double dGetTotUnconsCoarse(void) const
Returns the total thickness of coarse unconsolidated sediment on this cell.
Definition cell.cpp:740
void SetFloodBySetupSurgeRunup(void)
Set this cell as flooded by setup surge runup.
Definition cell.cpp:161
void SetPotentialPlatformErosion(double const)
Set potential (unconstrained) shore platform erosion and increment total shore platform potential ero...
Definition cell.cpp:854
bool m_bIsInActiveZone
Switch to indicate that this cell is in the active zone.
Definition cell.h:56
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:215
void AddSuspendedSediment(double const)
Adds to this cell's suspended sediment depth equivalent, it also increments the running total of susp...
Definition cell.cpp:523
bool m_bShadowBoundary
Switch to show this cell is 'under' a shadow boundary.
Definition cell.h:74
int nGetDownDriftZoneNumber(void) const
Gets the down drift zone number.
Definition cell.cpp:446
double dGetTotUnconsSand(void) const
Returns the total thickness of sand-sized unconsolidated sediment on this cell.
Definition cell.cpp:712
void UnSetInContiguousFlood(void)
Set this cell as not in the contiguous runup flood area.
Definition cell.cpp:143
bool bIsInContiguousSeaArea(void) const
Is this cell in the contiguous sea area?
Definition cell.cpp:173
double dGetUnconsD50(void) const
Returns the D50 of unconsolidated sediment on this cell.
Definition cell.cpp:1213
double m_dPotentialBeachErosionThisIter
Depth of unconsolidated beach sediment that could be eroded this timestep, if no supply-limitation.
Definition cell.h:207
bool bIsCellFloodCheck(void) const
Returns true if this cell is checked, false otherwise (flood switch)
Definition cell.cpp:434
double dGetTotActualPlatformErosion(void) const
Get total actual (constrained) shore platform erosion.
Definition cell.cpp:886
bool bIsElevLessThanWaterLevel(void) const
Returns true if the top elevation of this cell (sediment plus any intervention) is less than this ite...
Definition cell.cpp:404
vector< double > m_VdAllHorizonTopElev
Number of layer-top elevations (inc. that of the basement, which is m_VdAllHorizonTopElev[0]) size 1 ...
Definition cell.h:239
double m_dWavePeriod
Wave period (s)
Definition cell.h:141
double m_dSeaDepth
Depth of still water (m), is zero if not inundated.
Definition cell.h:125
double dGetTotUnconsThickness(void) const
Returns the total thickness of unconsolidated sediment (all size classes) on this cell.
Definition cell.cpp:762
double dGetBasementElev(void) const
Returns this cell's basement elevation.
Definition cell.cpp:476
int m_nPolygonID
If this cell is within a polygon, this is the ID of the polygon.
Definition cell.h:101
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:221
double m_dActualPlatformErosionThisIter
Depth of sediment actually eroded from the shore platform this timestep.
Definition cell.h:171
double dGetPotentialPlatformErosion(void) const
Get potential (unconstrained) shore platform erosion.
Definition cell.cpp:861
double dGetTotSuspendedSediment(void) const
Returns the total suspended sediment depth equivalent on this cell.
Definition cell.cpp:537
double m_dDeepWaterWaveAngle
Wave orientation if this is a deep water cell.
Definition cell.h:150
double dGetActualBeachErosion(void) const
Get actual (supply-constrained) beach erosion.
Definition cell.cpp:1161
void SetSeaDepth(void)
Returns the depth of seawater on this cell if the sediment top is < SWL, or zero.
Definition cell.cpp:892
void SetShadowZoneNumber(int const)
Set the number of the shadow zone that this cell is in.
Definition cell.cpp:348
double dGetTotConsCoarseThickConsiderNotch(void) const
Returns the total thickness of coarse consolidated sediment on this cell, minus the depth-equivalent ...
Definition cell.cpp:723
void SetCellDeepWaterWaveAngle(double const)
Sets the deep water wave orientation on this cell.
Definition cell.cpp:1005
bool m_bPossibleCoastStartCell
Switch to show that this cell could be the start of a coastline.
Definition cell.h:77
CGeomCell()
Constructor with initialization list.
Definition cell.cpp:44
double dGetActualPlatformErosion(void) const
Get actual (constrained) shore platform erosion.
Definition cell.cpp:880
void SetFloodBySetupSurge(void)
Set this cell as flooded by setup surge.
Definition cell.cpp:149
int m_nShadowZoneNumber
If this cell is within a shadow zone, this is the ID number of the shadow zone.
Definition cell.h:110
bool bIsinThisShadowZone(int const) const
Returns true if this cell is in the shadow zone with number given by the parameter,...
Definition cell.cpp:357
double m_dDeepWaterWavePeriod
Wave period if this is a deep water cell.
Definition cell.h:153
double m_dTotPotentialBeachErosion
Total depth of unconsolidated beach sediment eroded; if no supply-limitation.
Definition cell.h:210
double m_dSuspendedSediment
Suspended sediment as depth equivalent (m)
Definition cell.h:159
double m_dTotTalusSandDeposition
Total depth of unconsolidated sand sediment deposited as a result of cliff collapse.
Definition cell.h:198
double dGetTotConsThickness(void) const
Returns the total thickness of consolidated sediment (all size classes) on this cell.
Definition cell.cpp:751
void SetCheckFloodCell(void)
Set this cell as checked (flood switch)
Definition cell.cpp:422
void SetInContiguousSea(void)
Set this cell as a sea cell.
Definition cell.cpp:125
int m_nDownDriftZoneNumber
If this cell is within a downdrift zone, this is the ID number of the downdrift zone.
Definition cell.h:113
double m_dWaveHeight
Wave height (m)
Definition cell.h:132
void SetWaveAngle(double const)
Sets the wave orientation on this cell, also increments the total wave orientation.
Definition cell.cpp:974
void SetProfileID(int const)
Sets the ID number of the coast-normal profile which this cell is 'under'.
Definition cell.cpp:283
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:203
double m_dSlope
Slope at this cell (degrees or unitless)
Definition cell.h:122
void SetShadowZoneBoundary(void)
Sets a flag to show that this cell is a shadow zone boundary.
Definition cell.cpp:191
double dGetThisIterCliffCollapseErosionCoarse(void) const
Returns the depth of this-timestep coarse-sized sediment cliff collapse on this cell.
Definition cell.cpp:1073
void SetBasementElev(double const)
Sets this cell's basement elevation.
Definition cell.cpp:470
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:1049
void AddSandTalusDeposition(double const)
Increments the depth of this-timestep sand-sized talus from cliff collapse on this cell,...
Definition cell.cpp:1097
double dGetSuspendedSediment(void) const
Returns the suspended sediment depth equivalent on this cell.
Definition cell.cpp:531
bool bIsProfile(void) const
Returns true if this cell is 'under' a coastline normal.
Definition cell.cpp:295
double m_dUnconsD50
d50 of unconsolidated sediment on top layer with unconsolidated sediment depth > 0
Definition cell.h:225
double m_dInterventionHeight
Height of intervention structure.
Definition cell.h:228
vector< CRWCellLayer > m_VLayerAboveBasement
Number of layers NOT including the basement. Layer 0 is the lowest.
Definition cell.h:236
bool m_bFloodLine
Switch to indicate that this cell is 'under' a runup flood line.
Definition cell.h:62
bool bIsCoastline(void) const
Returns true if the cell is a coastline.
Definition cell.cpp:244
void SetPolygonCoastID(int const)
Sets the coast number of the polygon which 'contains' this cell.
Definition cell.cpp:329
void UnSetCheckFloodCell(void)
Set the cell as not checked (flood switch)
Definition cell.cpp:428
void SetAsCliff(bool const)
Marks this cell as a cliff cell.
Definition cell.cpp:259
void SetCellDeepWaterWaveHeight(double const)
Sets the deep water wave height on this cell.
Definition cell.cpp:993
int m_nCoastlineID
If this cell is 'under' a coastline, this is the ID number of the coast.
Definition cell.h:92
double dGetThisIterCliffCollapseErosionSand(void) const
Returns the depth of this-timestep sand-sized sediment cliff collapse on this cell.
Definition cell.cpp:1067
bool bBasementElevIsMissingValue(void) const
Returns true if this cells's basement data is NODATA, is needed for irregularly-shaped DEMs.
Definition cell.cpp:494
double dGetTotCliffCollapseCoarse(void) const
Returns the running total depth of coarse-sized sediment eroded by cliff collapse on this cell.
Definition cell.cpp:1091
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:98
bool m_bWaveFlood
Switch to indicate that this cell is 'under' a runup wave flood line.
Definition cell.h:65
double m_dCliffCollapseCoarseThisIter
Depth of coarse sediment (consolidated and unconsolidated) removed via cliff collapse this timestep.
Definition cell.h:183
CRWCellLandform * pGetLandform(void)
Returns a pointer to this cell's CRWCellLandform object.
Definition cell.cpp:452
void SetBeachProtectionFactor(double const)
Definition cell.cpp:1037
void SetAsCoastline(int const)
Marks this cell with a coastline ID nunber.
Definition cell.cpp:238
void SetWaveFlood(void)
Set this cell as flooded by swl + surge + setup + runup.
Definition cell.cpp:375
double m_dTotSeaDepth
Definition cell.h:129
double dGetConsSedTopForLayerAboveBasement(int const) const
Returns the elevation of the top of the consolidated sediment only, for a given layer (layer 0 being ...
Definition cell.cpp:569
bool m_bFloodBySetupSurge
TODO 007 What is this used for?
Definition cell.h:83
int m_nProfileID
If this cell is 'under' a coast-normal profile, this is the ID number of the profile.
Definition cell.h:95
double dGetThisIterTotWaterLevel(void) const
Returns the total water level at current iteration.
Definition cell.cpp:638
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:31
CRWCellSediment * pGetConsolidatedSediment(void)
Returns a pointer to the cell's consolidated sediment object.
double dGetCoarseConsolidatedThickness(void) const
Returns the thickness of this cell's coarse consolidated sediment.
double dGetFineConsolidatedThickness(void) const
Returns the thickness of this cell's fine consolidated sediment.
double dGetSandConsolidatedThickness(void) const
Returns the thickness of this cell's sand consolidated sediment.
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 dGetNotchFineLost(void) const
Gets the depth equivalent of fine sediment lost by notch incision.
double dGetFineDepth(void) const
Returns the fine sediment depth equivalent for this sediment layer object.
double dGetNotchSandLost(void) const
Gets the depth equivalent of sand sediment lost by notch incision.
double dGetNotchCoarseLost(void) const
Gets the depth equivalent of coarse sediment lost by notch incision.
double dGetSandDepth(void) const
Returns the sand sediment depth equivalent for this sediment layer.
This file contains global definitions for CoastalME.
int const NO_NONZERO_THICKNESS_LAYERS
Definition cme.h:778
int const INT_NODATA
Definition cme.h:476
double const TOLERANCE
Definition cme.h:823
int const ELEV_ABOVE_SEDIMENT_TOP
Definition cme.h:777
int const IO_INTERVENTION_STRUCT
Definition cme.h:528
bool bFPIsEqual(const T d1, const T d2, const T dEpsilon)
Definition cme.h:1303
T tMax(T a, T b)
Definition cme.h:1252
int const LF_SUBCAT_INTERVENTION_NON_STRUCT
Definition cme.h:560
int const NO_DIRECTION
Definition cme.h:496
int const IO_INTERVENTION_NON_STRUCT
Definition cme.h:529
double const DBL_NODATA
Definition cme.h:834
int const LF_NONE
Definition cme.h:532
int const ELEV_IN_BASEMENT
Definition cme.h:776
int const LF_SUBCAT_INTERVENTION_STRUCT
Definition cme.h:559
int const LF_CAT_INTERVENTION
Definition cme.h:545
Contains CSimulation definitions.