48 for (
int nCoast = 0; nCoast < static_cast<int>(
m_VCoast.size()); nCoast++)
50 for (
int j = 0; j <
m_VCoast[nCoast].nGetCoastlineSize(); j++)
53 int nX =
m_VCoast[nCoast].pPtiGetCellMarkedAsCoastline(j)->nGetX();
54 int nY =
m_VCoast[nCoast].pPtiGetCellMarkedAsCoastline(j)->nGetY();
57 m_pRasterGrid->m_Cell[nX][nY].pGetLandform()->SetCoast(nCoast);
58 m_pRasterGrid->m_Cell[nX][nY].pGetLandform()->SetPointOnCoast(j);
65 m_VCoast[nCoast].AppendCoastLandform(pIntervention);
91 double dConsSedTop =
m_pRasterGrid->m_Cell[nX][nY].dGetConsSedTopForLayerAboveBasement(nLayer);
92 bool bConsSedAtSWL =
false;
107 m_pRasterGrid->m_Cell[nX][nY].pGetLandform()->SetCliffNotchBaseElev(dNotchBaseElev);
108 m_pRasterGrid->m_Cell[nX][nY].pGetLandform()->SetCliffNotchDepth(0);
113 m_VCoast[nCoast].AppendCoastLandform(pCliff);
122 m_VCoast[nCoast].AppendCoastLandform(pDrift);
138 double dAccumWaveEnergy = 0;
139 double dNotchDepth = 0;
147 dAccumWaveEnergy =
m_pRasterGrid->m_Cell[nX][nY].pGetLandform()->dGetAccumWaveEnergy();
148 dNotchDepth =
m_pRasterGrid->m_Cell[nX][nY].pGetLandform()->dGetCliffNotchDepth();
149 dNotchBaseElev =
m_pRasterGrid->m_Cell[nX][nY].pGetLandform()->dGetCliffNotchBaseElev();
160 dAccumWaveEnergy =
m_pRasterGrid->m_Cell[nX][nY].pGetLandform()->dGetAccumWaveEnergy();
161 m_pRasterGrid->m_Cell[nX][nY].pGetLandform()->SetCliffNotchDepth(dNotchDepth);
162 m_pRasterGrid->m_Cell[nX][nY].pGetLandform()->SetCliffNotchBaseElev(dNotchBaseElev);
163 m_pRasterGrid->m_Cell[nX][nY].pGetLandform()->SetCliffRemaining(dRemaining);
170 m_VCoast[nCoast].AppendCoastLandform(pCliff);
177 m_VCoast[nCoast].AppendCoastLandform(pDrift);
301 int nX =
m_VCoast[nCoast].pPtiGetCellMarkedAsCoastline(nPoint)->nGetX();
302 int nY =
m_VCoast[nCoast].pPtiGetCellMarkedAsCoastline(nPoint)->nGetY();
315 m_pRasterGrid->m_Cell[nX][nY].pGetLandform()->SetCliffNotchBaseElev(dNotchBaseElev);
316 m_pRasterGrid->m_Cell[nX][nY].pGetLandform()->SetCliffNotchDepth(dNotchDepth);
317 m_pRasterGrid->m_Cell[nX][nY].pGetLandform()->SetCliffRemaining(dRemaining);
340 int nTopLayer =
m_pRasterGrid->m_Cell[nX][nY].nGetTopLayerAboveBasement();
376 #pragma omp parallel for collapse(2)
390 if (
m_pRasterGrid->m_Cell[nX][nY].bBasementElevIsMissingValue())
440 vCellUpdates[nX][nY] = nAction;
449 int nAction = vCellUpdates[nX][nY];
Real-world class used to represent the 'cliff' category of coastal landform object.
bool bHasCollapsed(void) const
Returns the value of the cliff collapse switch.
double dGetNotchBaseElev(void) const
Returns the elevation of the base of the erosional notch.
double dGetNotchDepth(void) const
Returns the horizontal depth of the cliff's erosional notch (the 'overhang')
double dGetRemaining(void) const
Returns the length (in external CRS units) of the cliff's remaining sediment 'behind' the erosional n...
Real-world class used to represent the 'drift' category of coastal landform object.
Real-world class used to represent the 'intervention' category of coastal landform objects.
int m_nYMinBoundingBox
The minimum y value of the bounding box.
CGeomRasterGrid * m_pRasterGrid
Pointer to the raster grid object.
int m_nXGridSize
The size of the grid in the x direction.
int nAssignLandformsForAllCoasts(void)
Each timestep, classify coastal landforms and assign a coastal landform object to every point on ever...
vector< CRWCoast > m_VCoast
The coastline objects.
int m_nYGridSize
The size of the grid in the y direction.
int m_nXMaxBoundingBox
The maximum x value of the bounding box.
double m_dNotchBaseBelowSWL
Notch base below SWL (m)
double dGridCentroidYToExtCRSY(int const) const
Given the integer Y-axis ordinate of a cell in the raster grid CRS, returns the external CRS Y-axis o...
int nAssignLandformsForAllCells(void)
Each timestep, classify landforms for cells that are not on the coastline.
bool bSurroundedByDriftCells(int const, int const)
Returns true if this cell has four drift cells surrounding it.
int m_nYMaxBoundingBox
The maximum y value of the bounding box.
int m_nXMinBoundingBox
The minimum x value of the bounding box.
bool bIsWithinValidGrid(int const, int const) const
Checks whether the supplied point (an x-y pair, in the grid CRS) is within the raster grid,...
unsigned long m_ulIter
The number of the current iteration (time step)
double dGridCentroidXToExtCRSX(int const) const
Given the integer X-axis ordinate of a cell in the raster grid CRS, returns the external CRS X-axis o...
double m_dCellSide
Length of a cell side (in external CRS units)
bool bIsInterventionCell(int const, int const) const
Returns true if the cell is an intervention.
double m_dThisIterMeanSWL
int nLandformToGrid(int const, int const)
At the end of each timestep, this routine stores the attributes from a single coastal landform object...
Contains CRWCliff definitions.
This file contains global definitions for CoastalME.
int const LF_SUBCAT_DRIFT_BEACH
int const RTN_ERR_NO_TOP_LAYER
int const LF_SUBCAT_CLIFF_ON_COASTLINE
int const ELEV_ABOVE_SEDIMENT_TOP
int const LF_CAT_SEDIMENT_INPUT
int const LF_CAT_SEDIMENT_INPUT_SUBMERGED
int const LF_SUBCAT_CLIFF_INLAND
int const LF_SUBCAT_DRIFT_MIXED
int const LF_CAT_SEDIMENT_INPUT_NOT_SUBMERGED
int const RTN_ERR_CANNOT_ASSIGN_COASTAL_LANDFORM
int const ELEV_IN_BASEMENT
int const LF_CAT_HINTERLAND
int const LF_CAT_INTERVENTION
Contains CRWCoast definitions.
Contains CRWDrift definitions.
Contains CRWIntervention definitions.
Contains CSimulation definitions.