CoastalME (Coastal Modelling Environment)
Simulates the long-term behaviour of complex coastlines
Loading...
Searching...
No Matches
cme.h
Go to the documentation of this file.
1
97
98/*
99 NOTE Before releasing a new version, do a pre-release build to check for memory leaks with -fsanitize options enabled (see CMakeLists.txt) then run ./cme 2> sanitize.txt NOT UNDER DEBUG (i.e. not using gdb)
100
101 TODOLIST
102 ***********************************************************************************************************
103 DOCUMENTATION
104 TODO 001 Add more Doxygen information about all classes
105 TODO 007 We now have setup and surge info from CShore (thanks to Manuel). But what shall we do with this info? "The variable VdWaveSetupSurge() represents the sea level rise due to wave effects (setup) and storm surge. CSHORE calculates them together and they can’t be separated. That’s what the VdWaveSetupSurge variable is. That’s why you saw my initial efforts to try to separate both variables from CSHORE commented out, which is impossible. What is possible is to get the RunUp from CSHORE, but since it uses an empirical formula for that, I finally decided to calculate it separately. To your question about whether you should remove VdStormSurge, the answer is yes. I left it because I still intend at some point to extract the cross-shore transport from CSHORE and balance it in CME with the longshore and cross-shore transports without needing the Dean profile. From my point of view, this would be even more realistic, though at first it will surely drive us crazy."
106
107 USER INPUT
108 TODO 000 Should user input be split in two main files: one for frequently-changed things, one for rarely-changed things? If so, what should go into each file ('testing only' OK, but what else?)
109 TODO 011 Should this constant be a user input? If so, TODO 071
110 TODO 036 Read in changed deep water wave values (need TODO 071)
111 TODO 022 Get intervention update working (need TODO 071)
112 TODO 042 Should we have a smallest valid input for KLS in the CERC equation?
113 TODO 045 Method of getting depth of closure value needs to be a user input (need TODO 071)
114 TODO 049 Handle other command line parameters e.g. path to .ini file, path to datafile
115 TODO 035 Also handle other EPSG for vector spatial reference systems
116 TODO 054 Choose more files to omit from "usual" raster output
117 TODO 069 Enable ability to represent intervention structures which have their foundation embedded in consolidated sediment. In other words, with the elevation of the base of the intervention structure *below* the top of all consolidated sediment layers. Will need some sanity checking of elevations
118 TODO 071 If the user input file format is changed, write a Python script to convert from the old file format to the new
119 TODO 083 Get all three kinds of sediment input events working correctly
120
121 ERROR HANDLING
122 TODO 038 Do better error handling if insufficient memory
123 TODO 004 Improve error handling of situation where we have a valid shadow zone but cannot find a neighbouring cell which is 'under' the coastline
124 TODO 006 Check GDALGridCreate() with only start-of-coast or an end-of-coast profiles
125 TODO 009 Decide what to do when we have eroded down to basement
126 TODO 017 Extra safety check needed, make sure that each point is within valid grid
127 TODO 018 Improve situation where new landwards point on parallel profile is not within the raster grid
128 TODO 019 Improve situation where Dean profile has a near-zero elevation difference
129 TODO 020 Check calculation of elevation of coast point of Dean parallel profile
130 TODO 021 Improve situation where all layers have zero thickness
131 TODO 025 Improve situation where this point has only zero thickness layers
132 TODO 026 Check situation where cell in parallel profile is not in a polygon
133 TODO 028 Give a warning if raster input layer has several bands
134 TODO 053 Improve handling of situation where landward elevation of profile is -ve
135 TODO 055 Maybe add a safety check here?
136 TODO 080 Do we get -ve breaking wave heights here?
137 TODO 084 Improve handling of situation where consecutive profile points are same distance from shoreline
138
139 THEORY/EFFICIENCY
140 TODO 002 Do we really need D50 for drift landform class? What do we need for drift?
141 TODO 005 Maybe give every coast point a value for end-of-profile wave height and direction instead of for deep water wave height and direction
142 TODO 010 Do we also need to update the active zone cells?
143 TODO 012 Change finding of adjacent polygons, and calculation of the length of shared normals, when we make polygon seaward length determined by depth of closure
144 TODO 013 Change calculation (need user input?) of coastline smoothing convexity threshold
145 TODO 014 Profile spacing, could try gradually increasing the profile spacing with increasing concavity, and decreasing the profile spacing with increasing convexity
146 TODO 016 Check mass balance for recirculating unconsolidated sediment option
147 TODO 023 Only calculate shore platform erosion if cell is in a polygon
148 TODO 024 Should we calculate platform erosion on a profile that has hit dry land?
149 TODO 044 Implement estuaries
150 TODO 051 Implement other ways of calculating depth of closure, see TODO 045
151 TODO 056 Check this please Andres
152 TODO 059 Implement dune landform class
153 TODO 060 Remove 'magic numbers' from code here
154 TODO 061 Is this safety check to depth of breaking a reasonable thing to do?
155 TODO 066 Should this be for all layers? Check
156 TODO 067 Suspended fine sediment never decreases i.e. no suspended fine sediment ever leaves the grid. Is this OK?
157 TODO 070 Change CShore to use allocatable arrays (https://fortran-lang.org/en/learn/best_practices/allocatable_arrays/) so that the number of points in the CShore output profiles can either be a user input, or determined by e.g. the physical length of the profile. At present, max is NN = 1000 in cshore_wrapper.f03
158 TODO 075 What if bedrock sticks above Dean profile?
159 TODO 076 When doing parallel profiles, start from the profile which is closest to a right angle with the coast
160 TODO 077 As traverse between the bounding profiles creating parallel profiles, gradually change the parallel profile orientation based on distance weighting of two bounding profiles
161 TODO 078 At present, we don't allow cliff collapse onto interventions. Is this realistic? Should it be different for different types on intervention?
162 TODO 089 Why do we get patches of sediment in the sea?
163 TODO 086 Try these as a more efficient replacement for GDALGridCreate(): https://github.com/delfrrr/delaunator-cpp https://www.cs.cmu.edu/~quake/triangle.html https://github.com/greenm01/poly2tri https://gts.sourceforge.net/index.html
164 TODO 088 In (almost) all whole-grid loops, immediately continue if cell is hinterland (but not when calculating cliff collapse)
165 TODO 090 At present, sediment cannot move from a given coastline polygon to a polygon belonging to another coastline. Is this always true?
166 TODO 092 If we have only fine sediment, the surface formed as the coast recedes inland is dead level (because fine sediment goes to suspension, and hence the Dean profile stuff does not operate). This causes problems with profile creation and CShore. Need to impose a small slope here somehow
167 TODO 093 There are a number of cell attributes that are really only useful for debugging. To keep memory usage down on release versions, need to flag these attributes and their methods so that they are included only in debug versions
168 TODO 094 Problems with sediment recirculation when large volumes of sedimentare introduced at the input end of the coast: need to spread this input sediment over the whole of the grid-end polygon
169 TODO 095 Parallel profiles seem to create "streaks" of above-water sediment, these streaks interfere with subsequent profile creation (profiles which hit steaks arte marked as invalid). Investigate this
170 TODO 096 It is OK to specify OGRFieldDefn objects as const in recent versions (e.g. 14.2) of g++, but in older versions of g++ (e.g. 12.2) have problems with const here. Maybe make the const a pre-processor condion?
171
172 OUTPUT
173 TODO 065 Get GPKG output working: GDAL 3.9.1 does not yet implement this correctly. Currently is OK for vector output (but is very slow), not yet working for raster output
174 TODO 063 Add NetCDF support, see https://trac.osgeo.org/gdal/wiki/NetCDF
175 TODO 064 Add support for grids that are not oriented N-S and W-E, but which are still rectangular. See https://gdal.org/en/stable/tutorials/geotransforms_tut.html
176 TODO 031 Get raster slice output working with multiple slices
177 TODO 032 Improve output scaling for DBL_NODATA situation
178 TODO 033 Also test and configure (e.g. by passing open() options) other vector output file formats
179 TODO 034 Also test and configure (e.g. by passing open() options) other raster output file formats
180 TODO 043 When outputting profiles, how do we deal with randomness of profile spacing (since profile location is determined by curvature)?
181 TODO 052 Improve saving of profiles and parallel profiles
182 TODO 062 Show end-of-iteration number of cells with sediment somewhere
183 TODO 068 Only show output in log file that is relevant to processes being simulated
184 TODO 074 Output history of what landforms are on a particular cell or cells. User inputs cell(s), how?
185 TODO 082 Also show m_dStartIterUnconsFineAllCells etc. in log file
186
187 096 is max
188
189 COMPLETED
190 TODO 003 Make coastline curvature moving window size a user input DONE in 1.1.22
191 TODO 046 Why is cliff collapse eroded during deposition (three size classes) no longer calculated? DONE IN 1.1.22
192 TODO 058 Dave to check this DONE in 1.1.22
193 TODO 039 Rewrite reading of multiple random number seeds DONE in 1.2.1, 8 Nov 2024
194 TODO 041 Read in SWL per-timestep
195 BUG 002 Useless output e.g. clay layers even if no clay input DONE in 1.1.21
196 BUG 003 Use mean SWL for elevations of Dean profiles DONE in 1.2.1, 27 Nov 2024
197 BUG 004 Don't smooth intervention coastline DONE 1.2.1, 27 Nov 2024
198 TODO 073 If output dir does not exist, then create it (ask user first) DONE 1.2.2, 28 Nov 2024
199 TODO 047 Where is the GDAL description for the deep water wave stations vector file? DONE 1.2.3, 2 Dec 2024
200 TODO 048 Where is the GDAL description for the flood input locations point or vector file? DONE 1.2.3, 2 Dec 2024
201 TODO 027 Sort out GDAL problem with raster reference units DONE 1.2.3, 2 Dec 2024
202 TODO 079 Do sanity checking on wave and tide input DONE 1.2.3, 2 Dec 2024
203 TODO 072 CShore crashes occasionally, is it because of -ve Z values here? DONE 1.2.3, 2 Dec 2024
204 TODO 050 Update for recent versions of Windows DONE 1.2.3, 2 Dec 2024
205 TODO 037 Need more info on nFindIndex() DONE 1.2.3, 2 Dec 2024 Improve coast normals DONE 1.2.3, 20 Dec 2024
206 TODO 057 Check this please Manuel DONE 1.2.4, 4 Jan 2025
207 TODO 087 Is there a problem if profile is not long enough for user-input depth of closure? DONE 1.3.0 2 Feb 2025
208*/
209
210#ifndef CME_H
211#define CME_H
212/* ===============================================================================================================================
213 This file is part of CoastalME, the Coastal Modelling Environment.
214
215 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.
216
217 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.
218
219 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.
220===============================================================================================================================*/
221#include <climits>
222
223#include <string>
224using std::string;
225
226#include <sstream>
227using std::ostringstream;
228
229#include <ostream>
230using std::ostream;
231
232#include <vector>
233
234//===================================================== platform-specific stuff =================================================
235#ifdef _WIN32
236 #define access _access
237 #define F_OK 0 // Test for file existence
238#endif
239
240#ifdef _MSC_VER
241 // MS Visual C++ compiler, byte order is IEEE little-endian
242 #ifdef _DEBUG
243 #include <crtdbg.h> // useful
244 #endif
245
246 // clock_t is a signed long: see <time.h>
247 long const CLOCK_T_MIN = LONG_MIN;
248 double const CLOCK_T_RANGE = static_cast<double>(LONG_MAX) - static_cast<double>(CLOCK_T_MIN);
249
250 #ifdef _M_ALPHA
251 string const PLATFORM = "MS Visual C++ for Alpha";
252 #elif defined _M_IX86
253 string const PLATFORM = "MS Visual C++ for Intel x86";
254 #elif defined _M_MPPC
255 string const PLATFORM = "MS Visual C++ for Power PC";
256 #elif defined _M_MRX000
257 string const PLATFORM = "MS Visual C++ for MIPS";
258 #else
259 string const PLATFORM = "MS Visual C++ for unknown CPU";
260 #endif
261
262#elif defined __GNUG__
263 // GNU compiler
264 #ifndef CPU
265 #error "CPU not defined"
266 #else
267 #ifdef x86
268 // Intel x86, byte order is little-endian
269 string const PLATFORM = "GNU Compiler for Intel x86";
270 // clock_t is an unsigned long: see <time.h>
271 unsigned long const CLOCK_T_MIN = 0;
272 double const CLOCK_T_RANGE = static_cast<double>(ULONG_MAX);
273 #elif defined rs6000
274 // IBM RS-6000, byte order is big-endian
275 string const PLATFORM = "GNU complier for IBM RS-6000";
276 // clock_t is a signed long: see <time.h> NEED TO CHECK
277 long const CLOCK_T_MIN = LONG_MIN;
278 double const CLOCK_T_RANGE = static_cast<double>(LONG_MAX) - static_cast<double>(CLOCK_T_MIN);
279 #elif defined ultrasparc
280 // Sun UltraSparc, byte order is big-endian
281 string const PLATFORM = "GNU compiler for Sun UltraSPARC";
282 // clock_t is a signed long: see <time.h>
283 long const CLOCK_T_MIN = LONG_MIN;
284 double const CLOCK_T_RANGE = static_cast<double>(LONG_MAX) - static_cast<double>(CLOCK_T_MIN);
285 #else
286 // Something else
287 string const PLATFORM = "GNU compiler for unknown CPU";
288 // clock_t is a signed long: NEED TO CHECK <time.h>
289 long const CLOCK_T_MIN = LONG_MIN;
290 double const CLOCK_T_RANGE = static_cast<double>(LONG_MAX) - static_cast<double>(CLOCK_T_MIN);
291 #endif
292 #endif
293
294#elif defined __clang__
295 // Clang compiler
296 #ifndef CPU
297 #error "CPU not defined"
298 #else
299 #ifdef x86
300 // Intel x86, byte order is little-endian
301 string const PLATFORM = "Clang compiler for Intel x86";
302 // clock_t is an unsigned long: see <time.h>
303 unsigned long const CLOCK_T_MIN = 0;
304 double const CLOCK_T_RANGE = static_cast<double>(ULONG_MAX);
305 #else
306 // Something else
307 string const PLATFORM = "Clang compiler for unknown CPU";
308 // clock_t is a signed long: NEED TO CHECK <time.h>
309 long const CLOCK_T_MIN = LONG_MIN;
310 double const CLOCK_T_RANGE = static_cast<double>(LONG_MAX) - static_cast<double>(CLOCK_T_MIN);
311 #endif
312 #endif
313
314#elif defined __MINGW32__
315 // Minimalist GNU for Windows
316 // #define __USE_MINGW_ANSI_STDIO 1 // Fix long doubles output problem,
317 // see http://stackoverflow.com/questions/7134547/gcc-printf-and-long-double-leads-to-wrong-output-c-type-conversion-messes-u
318 #define WEXITSTATUS(x) ((x) & 0xff)
319
320#elif defined __HP_aCC
321 // HP-UX aCC, byte order is big-endian, can be either 32-bit or 64-bit
322 string const PLATFORM = "HP-UX aC++";
323 // clock_t is an unsigned long: see <time.h>
324 unsigned long const CLOCK_T_MIN = 0;
325 #ifdef __ia64
326 // However, clock_t is a 32-bit unsigned long and we are using 64-bit unsigned longs here
327 double const CLOCK_T_RANGE = 4294967295UL; // crude, improve
328 #else
329 double const CLOCK_T_RANGE = static_cast<double>(ULONG_MAX);
330 #endif
331#endif
332
333// TODO: Check
334// #if defined(WIN32)
335// #define STRCASECMP(a, b) (_stricmp(a, b))
336// #define STRNCASECMP(a, b, n) (_strnicmp(a, b, n))
337// #else
338// /** Alias for strcasecmp() */
339// #define STRCASECMP(a, b) (strcasecmp(a, b))
340// /** Alias for strncasecmp() */
341// #define STRNCASECMP(a, b, n) (strncasecmp(a, b, n))
342// //# endif
343// /** Alias for strncasecmp() == 0 */
344// #define EQUALN(a, b, n) (STRNCASECMP(a, b, n) == 0)
345// /** Alias for strcasecmp() == 0 */
346// #define EQUAL(a, b) (STRCASECMP(a, b) == 0)
347// #endif
348
349//===================================================== hard-wired constants ====================================================
350char const COLON = ':';
351char const COMMA = ',';
352char const DASH = '-';
353char const PATH_SEPARATOR = '/'; // Works for Windows too!
354char const QUOTE1 = ';';
355char const QUOTE2 = '#';
356char const SLASH = '/';
357char const SPACE = ' ';
358char const TILDE = '~';
359
360// TESTING options
362bool const CREATE_SHADOW_ZONE_IF_HITS_GRID_EDGE = true; // If shadow line tracing hits grid edge, create shadow zone?
363bool const SAVE_CSHORE_OUTPUT = true; // #ifdef CSHORE_FILE_INOUT || CSHORE_BOTH, append all CShore output files to a whole-run master
364bool const USE_DEEP_WATER_FOR_SHADOW_LINE = true; // Use deep water wave orientation in determining shadow line orientation?
365
366// Not likely that user will need to change these
367int const NUMBER_OF_RNGS = 2; // Number of random number generators
368int const SAVEMAX = 100000; // Maximum number of saves of spatial output
369int const BUF_SIZE = 2048; // Max length (inc. terminating NULL) of any C-type string
370int const CAPE_POINT_MIN_SPACING = 10; // In cells: for shadow zone stuff, cape points must not be closer than this
371int const CLOCK_CHECK_ITERATION = 5000; // If have done this many timesteps then reset the CPU time running total
372int const COAST_LENGTH_MAX = 100; // For safety check when tracing coast
373int const COAST_LENGTH_MIN_X_PROF_SPACE = 20; // Ignore very short coasts less than this x profile spacing
374
376int const CSHOREARRAYOUTSIZE = 1000;
377
378int const FLOOD_FILL_START_OFFSET = 2; // In cells: cell-by-cell fill starts this distance inside polygon
379int const GRID_MARGIN = 10; // Ignore this many along-coast grid-edge points re. shadow zone calcs
380int const INT_NODATA = -9999; // CME's internal NODATA value for ints
381int const MAX_LEN_SHADOW_LINE_TO_IGNORE = 200; // In cells: if can't find cell-by-cell fill start point, continue if short shadow line
382int const MAX_NUM_PREV_ORIENTATION_VALUES = 10; // Max length of deque used in tracing shadow boundary
383int const MAX_NUM_SHADOW_ZONES = 10; // Consider at most this number of shadow zones
384int const MIN_INLAND_OFFSET_UNCONS_EROSION = 5; // Used in estimation of beach erosion
385int const MIN_PARALLEL_PROFILE_SIZE = 3; // In cells: min size for valid unconsolidated sediment parallel profile
386int const MIN_PROFILE_SIZE = 3; // In cells: min size for valid unconsolidated sediment profile
387int const DEFAULT_PROFILE_SPACING = 15; // In cells: profile creation does not work well if profiles are too closely spaced
388int const SAVGOL_POLYNOMIAL_MAX_ORDER = 6; // Maximum order of Savitzky-Golay smoothing polynomial
389
390// Log file detail level
391int const NO_LOG_FILE = 0;
395int const LOG_FILE_ALL = 4;
396
397// Direction codes
398int const NO_DIRECTION = 0;
399int const NORTH = 1;
400int const NORTH_EAST = 2;
401int const EAST = 3;
402int const SOUTH_EAST = 4;
403int const SOUTH = 5;
404int const SOUTH_WEST = 6;
405int const WEST = 7;
406int const NORTH_WEST = 8;
407
408int const DIRECTION_DOWNCOAST = 0; // Down-coast, i.e. along the coast so that the index of coastline points INCREASES
409int const DIRECTION_UPCOAST = 1; // Up-coast, i.e. along the coast so that the index of coastline points DECREASES
410
411// Handedness codes, these show which side the sea is on when travelling down-coast (i.e. in the direction in which coastline point numbers INCREASE)
412int const NULL_HANDED = -1;
413int const RIGHT_HANDED = 0;
414int const LEFT_HANDED = 1;
415
416// Sediment texture codes
417int const TEXTURE_FINE = 0;
418int const TEXTURE_SAND = 1;
419int const TEXTURE_COARSE = 2;
420
421// Time unit codes
422int const TIME_UNKNOWN = -1;
423int const TIME_HOURS = 0;
424int const TIME_DAYS = 1;
425int const TIME_MONTHS = 2;
426int const TIME_YEARS = 3;
427
428// Intervention input and output codes
432
433// Landform category codes
434int const LF_UNKNOWN = 0;
435int const LF_HINTERLAND = 1;
436int const LF_SEA = 2;
438int const LF_CLIFF_INLAND = 7;
439int const LF_DRIFT_TALUS = 9;
440int const LF_DRIFT_BEACH = 10;
441int const LF_DRIFT_DUNES = 11; // TODO 059 Implement dune landform class
444int const LF_ISLAND = 14; // Not yet implemented
447
448// GIS raster input codes
449int const FINE_CONS_RASTER = 1;
450int const SAND_CONS_RASTER = 2;
451int const COARSE_CONS_RASTER = 3;
452int const FINE_UNCONS_RASTER = 4;
453int const SAND_UNCONS_RASTER = 5;
455int const SUSP_SED_RASTER = 7;
456int const LANDFORM_RASTER = 8;
459
460// GIS vector data type codes
461int const VEC_FIELD_DATA_ANY = 0;
462int const VEC_FIELD_DATA_INT = 1;
466
467// GIS vector geometry codes
468int const VEC_GEOMETRY_POINT = 1;
469int const VEC_GEOMETRY_LINE = 2;
471int const VEC_GEOMETRY_OTHER = 4;
472
473// GIS vector input codes and constraints
482int const FLOOD_LOCATION_VEC = 3;
484
485// GIS raster output codes
486
503#ifdef _DEBUG
504int const RASTER_PLOT_CLIFF_COLLAPSE_TIMESTEP = 17;
505#endif
510int const RASTER_PLOT_COAST = 22;
519int const RASTER_PLOT_LANDFORM = 31;
522int const RASTER_PLOT_POLYGON = 34;
537int const RASTER_PLOT_SLICE = 49;
541int const RASTER_PLOT_TALUS = 53;
555
556// GIS vector output codes
557// int const VECTOR_PLOT_FLOOD_SWL_SETUP_LINE = 19;
562int const VECTOR_PLOT_COAST = 5;
571int const VECTOR_PLOT_NORMALS = 14;
574int const VECTOR_PLOT_RUN_UP = 17;
581// int const VECTOR_PLOT_FLOOD_SWL_SETUP_SURGE_LINE = 24;
582// int const VECTOR_PLOT_FLOOD_SWL_SETUP_SURGE_RUNUP_LINE = 25;
583
584// Return codes
585int const RTN_OK = 0;
586int const RTN_HELP_ONLY = 1;
587int const RTN_CHECK_ONLY = 2;
588int const RTN_USER_ABORT = 3;
589int const RTN_ERR_BADPARAM = 4;
590int const RTN_ERR_INI = 5;
591int const RTN_ERR_CMEDIR = 6;
592int const RTN_ERR_RUNDATA = 7;
595int const RTN_ERR_LOGFILE = 10;
596int const RTN_ERR_OUTFILE = 11;
597int const RTN_ERR_TSFILE = 12;
598int const RTN_ERR_DEMFILE = 13;
601int const RTN_ERR_MEMALLOC = 16;
608int const RTN_ERR_LINETOGRID = 23;
610// 25 is now missing
616int const RTN_ERR_NOSEACELLS = 31;
617int const RTN_ERR_GRID_TO_LINE = 32;
618int const RTN_ERR_NO_COAST = 34;
620int const RTN_ERR_TIME_UNITS = 36;
621int const RTN_ERR_CLIFF_NOTCH = 37;
623int const RTN_ERR_BAD_INDEX = 39;
624int const RTN_ERR_EDGE_OF_GRID = 40;
629int const RTN_ERR_NO_TOP_LAYER = 46;
640int const RTN_ERR_GRIDCREATE = 57;
642int const RTN_ERR_CSHORE_ERROR = 59;
646int const RTN_ERR_BOUNDING_BOX = 63;
667int const RTN_ERR_UNKNOWN = 999;
668
669// Elevation and 'slice' codes
670int const ELEV_IN_BASEMENT = -1;
673
674// Vector smoothing codes
675int const SMOOTH_NONE = 0;
678
679// Grid-edge boundary treatment for unconsolidated sediment movement
680int const GRID_EDGE_CLOSED = 0;
681int const GRID_EDGE_OPEN = 1;
683
684// Model for wave propagation
685int const WAVE_MODEL_COVE = 0;
686int const WAVE_MODEL_CSHORE = 1;
687
688// Equation for estimating erosion of unconsolidated sediment
691
692int const CLIFF_COLLAPSE_LENGTH_INCREMENT = 10; // Increment the planview length of the cliff talus Dean profile, if we have not been able to deposit enough
693int const PROFILE_CHECK_DIST_FROM_COAST = 20; // TEST TODO Used in checking shoreline-normal profiles for intersection
694int const GAP_BETWEEN_DIFFERENT_COAST_PROFILES = 30; // In cells, is the gap between profile ends belonging to different coasts
695
696int const NUM_DAYS_FOR_MEAN_HIGH_WATER_CALC = 30; // Number of days to average daily high water elevation
697
698int const NO_RUNUP_EQUATION = 0; // Runup not considered
699int const RUNUP_EQUATION_NIELSEN_HANSLOW = 1; // Runup equation is Nielsen, P. & Hanslow, D. J. 1991. Wave Runup Distributions on Natural Beaches. Journal of Coastal Research, 7, 1139-1152. *** & DHI (2004) ???
700int const RUNUP_EQUATION_MASE = 2; // Runup equation is Mase, H. 1989. Random Wave Runup Height on Gentle Slope. Journal of Waterway, Port, Coastal, and Ocean Engineering, 115, 649-661.
701int const RUNUP_EQUATION_STOCKDON = 3; // Runup equation is Stockdon, H. F., Holman, R. A., Howd, P. A. & Sallenger JR, A. H. 2006. Empirical parameterization of setup, swash, and runup. Coastal Engineering, 53, 573-588.
702
703unsigned long const MASK = 0xfffffffful;
704unsigned long const SEDIMENT_INPUT_EVENT_ERROR = -1;
705unsigned long const UNSIGNED_LONG_NODATA = 9999;
706
707double const PI = 3.141592653589793238462643;
708
709double const D50_FINE_DEFAULT = 0.0625; // In mm
710double const D50_SAND_DEFAULT = 0.42; // In mm
711double const D50_COARSE_DEFAULT = 19.0; // In mm
712
713double const BEACH_PROTECTION_HB_RATIO = 0.23; // The beach protection factor is this times breaking depth
714double const WALKDEN_HALL_PARAM_1 = 3.25; // First parameter in Equation 4 from Walkden & Hall, 2005
715double const WALKDEN_HALL_PARAM_2 = 1.50; // Second parameter in Equation 4 from Walkden & Hall, 2005
716
717double const DEPTH_OVER_DB_INCREMENT = 0.001; // Depth over DB increment for erosion potential look-up function
718double const INVERSE_DEPTH_OVER_DB_INCREMENT = 1000; // Inverse of the above
719double const DEAN_POWER = 2.0 / 3.0; // Dean profile exponent
720
721// TODO 011 Let the user define these CShore input parameters
722double const CSHORE_FRICTION_FACTOR = 0.015; // Friction factor for CShore model
723double const CSHORE_SURGE_LEVEL = 0.0; // TODO 007
724
725double const TOLERANCE = 1e-7; // For bFPIsEqual, if too small (e.g. 1e-10), get spurious "rounding" errors
726double const SED_ELEV_TOLERANCE = 1e-5; // Used to compare depth-equivalent sediment amounts in bFPIsEqual and elsewhere
727double const MASS_BALANCE_TOLERANCE = 1e-5; // For bFPIsEqual, used to compare for mass balance checks
730double const MIN_LENGTH_OF_SHADOW_ZONE_LINE = 10; // Used in shadow line tracing
731double const MAX_LAND_LENGTH_OF_SHADOW_ZONE_LINE = 5; // Used in shadow line tracing
732double const CLIFF_COLLAPSE_HEIGHT_INCREMENT = 0.1; // Increment the fractional height of the cliff talus Dean profile, if we have not been able to deposit enough
733double const INTERVENTION_PROFILE_SPACING_FACTOR = 0.5; // Profile spacing on interventions works better if it is smaller than profile spacing on coastline
734
735double const CLIFF_NOTCH_CUTOFF_DISTANCE = 2; // Cut-off SWL distance (m), measured downwards from the cliff notch apex: below this there is no notch incision
736double const DBL_NODATA = -9999;
737
738string const PROGRAM_NAME = "Coastal Modelling Environment (CoastalME) version 1.4.0 (11 Nov 2025)";
739string const PROGRAM_NAME_SHORT = "CME";
740string const CME_INI = "cme.ini";
741
742string const COPYRIGHT = "(C) 2025 Andres Payo and David Favis-Mortlock";
743string const LINE = "-------------------------------------------------------------------------------";
744string const DISCLAIMER1 = "This program is distributed in the hope that it will be useful, but WITHOUT ANY";
745string const DISCLAIMER2 = "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A";
746string const DISCLAIMER3 = "PARTICULAR PURPOSE. See the GNU General Public License for more details. You";
747string const DISCLAIMER4 = "should have received a copy of the GNU General Public License along with this";
748string const DISCLAIMER5 = "program; if not, contact the Free Software Foundation, Inc., 675 Mass Ave,";
749string const DISCLAIMER6 = "Cambridge, MA 02139, USA.";
750
751string const ABOUT = "simulates the long-term behaviour of a coast. This initial version considers only simple soft cliff cross-shore effects";
752string const THANKS = "Many thanks to:\n\tTom Ashby\n\tManuel Cobos Budia\n\tWilf Chun\n\tMark Dickson\n\tJim W. Hall\n\tMartin D. Hurst\n\tMatthew Ives\n\tRobert J. Nicholls\n\tIan Townend\n\tMike J.A. Walkden";
753string const GDAL_DRIVERS = "GDAL drivers";
754
755string const USAGE = "Usage: cme [OPTION]...";
756string const USAGE1 = " --gdal List GDAL drivers";
757string const USAGE2 = " --about Information about this program";
758string const USAGE3 = " --help Display this text";
759string const USAGE4 = " --home=DIRECTORY Specify the location of the .ini file etc.";
760string const USAGE5 = " --datafile=FILE Specify the location and name of the main datafile";
761string const USAGE6 = " --yaml Use YAML format for the main datafile";
762
763string const START_NOTICE = "- Started on ";
764string const INITIALIZING_NOTICE = "- Initializing";
765string const READING_FILE_LOCATIONS = " - Reading file locations: ";
766string const READING_RUN_DATA = " - Reading run data file: ";
767string const READING_BASEMENT = " - Reading basement DEM: ";
768string const READING_RASTER_FILES = " - Reading raster GIS files";
769string const READING_LANDFORM_FILE = " - Landform class: ";
770string const READING_INTERVENTION_CLASS_FILE = " - Intervention class: ";
771string const READING_INTERVENTION_HEIGHT_FILE = " - Intervention height: ";
772string const READING_SUSPENDED_SEDIMENT_FILE = " - Suspended sediment: ";
773string const READING_UNCONS_FINE_SEDIMENT_FILE = " - Unconsolidated fine sediment (layer ";
774string const READING_UNCONS_SAND_SEDIMENT_FILE = " - Unconsolidated sand sediment (layer ";
775string const READING_UNCONS_COARSE_SEDIMENT_FILE = " - Unconsolidated coarse sediment (layer ";
776string const READING_CONS_FINE_SEDIMENT_FILE = " - Consolidated fine sediment (layer ";
777string const READING_CONS_SAND_SEDIMENT_FILE = " - Consolidated sand sediment (layer ";
778string const READING_CONS_COARSE_SEDIMENT_FILE = " - Consolidated coarse sediment (layer ";
779string const READING_VECTOR_FILES = " - Reading vector GIS files";
780string const READING_DEEP_WATER_WAVE_FILE = " - Deep water wave values: ";
781string const READING_SED_INPUT_EVENT_FILE = " - Sediment input event values: ";
782string const READING_FLOOD_LOCATION = " - Characteristic locations for flood: ";
783string const READING_SCAPE_SHAPE_FUNCTION_FILE = " - Reading SCAPE shape function file";
784string const READING_TIDE_DATA_FILE = " - Reading tide data file: ";
785string const ALLOCATE_MEMORY = " - Allocating memory for raster grid";
786string const ADD_LAYERS = " - Adding sediment layers to raster grid";
787string const INITIALIZING_FINAL = " - Finishing initialization";
788string const RUN_NOTICE = "- Running simulation";
789string const SIMULATING = "\r - Simulating ";
790string const FINAL_OUTPUT = "- Writing final output";
791string const SEND_EMAIL = " - Sending email to ";
792string const RUN_END_NOTICE = "Run ended at ";
793string const PRESS_KEY = "Press any key to continue...";
794
795string const ERROR_NOTICE = " with error code ";
796string const EMAIL_ERROR = "Could not send email";
797
798string const SCAPE_DIR = "scape/";
799string const SCAPE_SHAPE_FUNCTION_FILE = "ShapeFunction.dat";
800string const EROSION_POTENTIAL_LOOKUP_FILE = "ErosionPotential.csv";
801
802string const CSHORE_DIR = "cshore/";
803string const CSHORE_INFILE = "infile";
804
805string const ERR = "*** ERROR ";
806string const WARN = "WARNING ";
807string const NOTE = " Note ";
808
809string const MASS_BALANCE_ERROR = "MASS BALANCE ERROR";
810
811string const PER_ITER_HEAD1 = "<-----ELAPSED----><--SEA-><----POTENTIAL---><-----------ACTUAL-----------><-----POTENTIAL-----><------------ACTUAL-------------><-----------ACTUAL------------><--SEDIMENT--><---CLIFF COLLAPSE---><SUSP>";
812
813string const PER_ITER_HEAD2 = " TIME DEPTH PLATFORM EROSION PLATFORM EROSION BEACH EROSION BEACH EROSION BEACH DEPOSITION INPUT EVENT EROSION DEPOSITION SED";
814
815string const PER_ITER_HEAD3 = "Time Hours Years Avg % Sea All Erod % Sea All Erod <--sea avg-> % Sea All Erod % Sea All Erod <--sea avg-> % Sea All Depos <--sea--> <-coast avg-><--sea-->";
816
817string const PER_ITER_HEAD4 = "Step Area Sea Area Area Sea Area F S C Area Sea Area Area Sea Area F S C Area Sea Area S C F S C F S C S C F";
818
819string const PER_ITER_HEAD5 = " Avg Avg Avg Avg Avg Avg Avg Avg Avg";
820
821string const PER_ITER_HEAD = "PER-ITERATION RESULTS =============================================================================================================================================================================================";
822
823string const PER_ITER_CSV_HEAD = "Timestep,Hours, Years, AvgSeaDepth_m, PotPlatformErosion_PctSeaArea, PotPlatformErosion_AllAvg_mm, PotPlatformErosion_ErodAvg_mm, ActPlatformErosion_PctSeaArea, ActPlatformErosion_AllAvg_mm, ActPlatformErosion_ErodAvg_mm, ActPlatformErosion_Fine_mm, ActPlatformErosion_Sand_mm, ActPlatformErosion_Coarse_mm, PotBeachErosion_PctSeaArea, PotBeachErosion_AllAvg_mm, PotBeachErosion_ErodAvg_mm, ActBeachErosion_PctSeaArea, ActBeachErosion_AllAvg_mm, ActBeachErosion_ErodAvg_mm, ActBeachErosion_Fine_mm, ActBeachErosion_Sand_mm, ActBeachErosion_Coarse_mm, BeachDeposition_PctSeaArea, BeachDeposition_AllAvg_mm, BeachDeposition_DepAvg_mm, BeachDeposition_Sand_mm, BeachDeposition_Coarse_mm, SedimentInput_Fine, SedimentInput_Sand, SedimentInput_Coarse, CliffCollapse_Fine_mm, CliffCollapse_Sand_mm, CliffCollapse_Coarse_mm, CliffDeposition_Sand_mm, CliffDeposition_Coarse_mm, SuspendedSediment_mm, GISEvents";
824
825string const ENDHYDROLOGYHEAD = "END OF SIMULATION: HYDROLOGY ======================================================================================================================================================================================";
826string const ENDSEDIMENTHEAD = "END OF SIMULATION: SEDIMENT MOVEMENT ==============================================================================================================================================================================";
827string const PERFORMHEAD = "END OF SIMULATION: PERFORMANCE ====================================================================================================================================================================================";
828
829string const OUTEXT = ".out";
830string const LOGEXT = ".log";
831string const CSVEXT = ".csv";
832
833string const DEEP_WATER_WAVE_STATION_ID = "id";
835string const FLOOD_LOCATION_ID = "id";
836
837// GIS raster output user codes
838string const RASTER_ACTIVE_ZONE_CODE = "active_zone";
839string const RASTER_ACTIVE_ZONE_NAME = "active_zone";
840string const RASTER_ACTUAL_BEACH_EROSION_CODE = "actual_beach_erosion";
841string const RASTER_ACTUAL_BEACH_EROSION_NAME = "actual_beach_erosion";
842string const RASTER_ACTUAL_PLATFORM_EROSION_CODE = "actual_platform_erosion";
843string const RASTER_ACTUAL_PLATFORM_EROSION_NAME = "actual_platform_erosion";
844string const RASTER_ALL_OUTPUT_CODE = "all";
845string const RASTER_AVG_SEA_DEPTH_CODE = "avg_sea_depth";
846string const RASTER_AVG_SEA_DEPTH_NAME = "avg_sea_depth";
847string const RASTER_AVG_SUSP_SED_CODE = "avg_susp_sed";
848string const RASTER_AVG_SUSP_SED_NAME = "avg_susp_sed";
849string const RASTER_AVG_WAVE_HEIGHT_CODE = "avg_wave_height";
850string const RASTER_AVG_WAVE_HEIGHT_NAME = "avg_wave_height";
851string const RASTER_AVG_WAVE_ORIENTATION_CODE = "avg_wave_orientation";
852string const RASTER_AVG_WAVE_ORIENTATION_NAME = "avg_wave_orientation";
853string const RASTER_BASEMENT_ELEVATION_CODE = "basement_elevation";
854string const RASTER_BASEMENT_ELEVATION_NAME = "basement_elevation";
855string const RASTER_BEACH_DEPOSITION_CODE = "beach_deposition";
856string const RASTER_BEACH_DEPOSITION_NAME = "beach_deposition";
857string const RASTER_BEACH_MASK_CODE = "beach_mask";
858string const RASTER_BEACH_MASK_NAME = "beach_mask";
859string const RASTER_BEACH_PROTECTION_CODE = "beach_protection";
860string const RASTER_BEACH_PROTECTION_NAME = "beach_protection";
861string const RASTER_CLIFF_COLLAPSE_DEPOSITION_COARSE_CODE = "cliff_collapse_talus_deposition_coarse";
862string const RASTER_CLIFF_COLLAPSE_DEPOSITION_COARSE_NAME = "cliff_collapse_talus_deposition_coarse";
863string const RASTER_CLIFF_COLLAPSE_DEPOSITION_SAND_CODE = "cliff_collapse_talus_deposition_sand";
864string const RASTER_CLIFF_COLLAPSE_DEPOSITION_SAND_NAME = "cliff_collapse_talus_deposition_sand";
865string const RASTER_CLIFF_COLLAPSE_EROSION_COARSE_CODE = "cliff_collapse_erosion_coarse";
866string const RASTER_CLIFF_COLLAPSE_EROSION_COARSE_NAME = "cliff_collapse_erosion_coarse";
867string const RASTER_CLIFF_COLLAPSE_EROSION_FINE_CODE = "cliff_collapse_erosion_fine";
868string const RASTER_CLIFF_COLLAPSE_EROSION_FINE_NAME = "cliff_collapse_erosion_fine";
869string const RASTER_CLIFF_COLLAPSE_EROSION_SAND_CODE = "cliff_collapse_erosion_sand";
870string const RASTER_CLIFF_COLLAPSE_EROSION_SAND_NAME = "cliff_collapse_erosion_sand";
871string const RASTER_CLIFF_COLLAPSE_TIMESTEP_CODE = "cliff_collapse_timestep";
872string const RASTER_CLIFF_COLLAPSE_TIMESTEP_NAME = "cliff_collapse_timestep_all";
873string const RASTER_CLIFF_NOTCH_ALL_CODE = "cliff_notch_all";
874string const RASTER_CLIFF_NOTCH_ALL_NAME = "cliff_notch_all";
875string const RASTER_CLIFF_TOE_NAME = "cliff_toe"; // Note no code for this, because is chosen by m_bCliffToeLocate in input file
876string const RASTER_COARSE_CONS_CODE = "cons_sed_coarse";
877string const RASTER_COARSE_CONS_NAME = "cons_sed_coarse";
878string const RASTER_COARSE_UNCONS_CODE = "uncons_sed_coarse";
879string const RASTER_COARSE_UNCONS_NAME = "uncons_sed_coarse";
880string const RASTER_COAST_CODE = "rcoast";
881string const RASTER_COAST_NAME = "rcoast";
882string const RASTER_COAST_NORMAL_CODE = "rcoast_normal";
883string const RASTER_COAST_NORMAL_NAME = "rcoast_normal";
884string const RASTER_DEEP_WATER_WAVE_HEIGHT_CODE = "deep_water_wave_height";
885string const RASTER_DEEP_WATER_WAVE_HEIGHT_NAME = "deep_water_wave_height";
886string const RASTER_DEEP_WATER_WAVE_ORIENTATION_CODE = "deep_water_wave_orientation";
887string const RASTER_DEEP_WATER_WAVE_ORIENTATION_NAME = "deep_water_wave_orientation";
888string const RASTER_DEEP_WATER_WAVE_PERIOD_CODE = "deep_water_wave_period";
889string const RASTER_DEEP_WATER_WAVE_PERIOD_NAME = "deep_water_wave_period";
890string const RASTER_FINE_CONS_CODE = "cons_sed_fine";
891string const RASTER_FINE_CONS_NAME = "cons_sed_fine";
892string const RASTER_FINE_UNCONS_CODE = "uncons_sed_fine";
893string const RASTER_FINE_UNCONS_NAME = "uncons_sed_fine";
894string const RASTER_INTERVENTION_CLASS_CODE = "intervention_class";
895string const RASTER_INTERVENTION_CLASS_NAME = "intervention_class";
896string const RASTER_INTERVENTION_HEIGHT_CODE = "intervention_height";
897string const RASTER_INTERVENTION_HEIGHT_NAME = "intervention_height";
898string const RASTER_INUNDATION_MASK_CODE = "inundation_mask";
899string const RASTER_INUNDATION_MASK_NAME = "inundation_mask";
900string const RASTER_LANDFORM_CODE = "landform_class";
901string const RASTER_LANDFORM_NAME = "landform_class";
902string const RASTER_POLYGON_CODE = "polygon_raster";
903string const RASTER_POLYGON_GAIN_OR_LOSS_CODE = "polygon_gain_or_loss";
904string const RASTER_POLYGON_GAIN_OR_LOSS_NAME = "polygon_gain_or_loss";
905string const RASTER_POLYGON_NAME = "polygon_raster";
906string const RASTER_POLYGON_UPDRIFT_OR_DOWNDRIFT_CODE = "polygon_updrift_or_downdrift";
907string const RASTER_POLYGON_UPDRIFT_OR_DOWNDRIFT_NAME = "polygon_updrift_or_downdrift";
908string const RASTER_POTENTIAL_BEACH_EROSION_CODE = "potential_beach_erosion";
909string const RASTER_POTENTIAL_BEACH_EROSION_NAME = "potential_beach_erosion";
910string const RASTER_POTENTIAL_PLATFORM_EROSION_CODE = "potential_platform_erosion";
911string const RASTER_POTENTIAL_PLATFORM_EROSION_MASK_CODE = "potential_platform_erosion_mask";
912string const RASTER_POTENTIAL_PLATFORM_EROSION_MASK_NAME = "potential_platform_erosion_mask";
913string const RASTER_POTENTIAL_PLATFORM_EROSION_NAME = "potential_platform_erosion";
914string const RASTER_SAND_CONS_CODE = "cons_sed_sand";
915string const RASTER_SAND_CONS_NAME = "cons_sed_sand";
916string const RASTER_SAND_UNCONS_CODE = "uncons_sed_sand";
917string const RASTER_SAND_UNCONS_NAME = "uncons_sed_sand";
918string const RASTER_SEA_DEPTH_CODE = "sea_depth";
919string const RASTER_SEA_DEPTH_NAME = "sea_depth";
920string const RASTER_SEDIMENT_INPUT_EVENT_CODE = "sediment_input_total";
921string const RASTER_SEDIMENT_INPUT_EVENT_NAME = "sediment_input_total";
922string const RASTER_SEDIMENT_TOP_CODE = "sediment_top_elevation";
923string const RASTER_SEDIMENT_TOP_ELEVATION_NAME = "sediment_top_elevation";
924string const RASTER_SETUP_SURGE_FLOOD_MASK_CODE = "flood_setup_surge_mask";
925string const RASTER_SETUP_SURGE_FLOOD_MASK_NAME = "flood_setup_surge_mask";
926string const RASTER_SETUP_SURGE_RUNUP_FLOOD_MASK_CODE = "flood_setup_surge_runup_mask";
927string const RASTER_SETUP_SURGE_RUNUP_FLOOD_MASK_NAME = "flood_setup_surge_runup_mask";
928string const RASTER_SHADOW_DOWNDRIFT_ZONE_CODE = "shadow_downdrift_zones";
929string const RASTER_SHADOW_DOWNDRIFT_ZONE_NAME = "shadow_downdrift_zones";
930string const RASTER_SHADOW_ZONE_CODE = "shadow_zones";
931string const RASTER_SHADOW_ZONE_NAME = "shadow_zones";
932string const RASTER_SLICE_CODE = "slice";
933string const RASTER_SLICE_NAME = "slice";
934string const RASTER_SLOPE_FOR_CLIFF_TOE_NAME = "toe_slope"; // Note no code for this, because is chosen by m_bCliffToeLocate in input file
935string const RASTER_SLOPE_OF_CONSOLIDATED_SEDIMENT_CODE = "cons_sediment_slope";
936string const RASTER_SLOPE_OF_CONSOLIDATED_SEDIMENT_NAME = "cons_sediment_slope";
937string const RASTER_SUSP_SED_CODE = "susp_sed";
938string const RASTER_SUSP_SED_NAME = "susp_sed";
939string const RASTER_TALUS_CODE = "talus";
940string const RASTER_TALUS_NAME = "talus";
941string const RASTER_TOP_ELEVATION_INC_SEA_CODE = "top_elevation";
942string const RASTER_TOP_ELEVATION_INC_SEA_NAME = "top_elevation_inc_sea";
943string const RASTER_TOTAL_ACTUAL_BEACH_EROSION_CODE = "total_actual_beach_erosion";
944string const RASTER_TOTAL_ACTUAL_BEACH_EROSION_NAME = "total_actual_beach_erosion";
945string const RASTER_TOTAL_ACTUAL_PLATFORM_EROSION_CODE = "total_actual_platform_erosion";
946string const RASTER_TOTAL_ACTUAL_PLATFORM_EROSION_NAME = "total_actual_platform_erosion";
947string const RASTER_TOTAL_BEACH_DEPOSITION_CODE = "total_beach_deposition";
948string const RASTER_TOTAL_BEACH_DEPOSITION_NAME = "total_beach_deposition";
949string const RASTER_TOTAL_CLIFF_COLLAPSE_DEPOSITION_COARSE_CODE = "total_cliff_collapse_talus_deposition_coarse";
950string const RASTER_TOTAL_CLIFF_COLLAPSE_DEPOSITION_COARSE_NAME = "total_cliff_collapse_talus_deposition_coarse";
951string const RASTER_TOTAL_CLIFF_COLLAPSE_DEPOSITION_SAND_CODE = "total_cliff_collapse_talus_deposition_sand";
952string const RASTER_TOTAL_CLIFF_COLLAPSE_DEPOSITION_SAND_NAME = "total_cliff_collapse_talus_deposition_sand";
953string const RASTER_TOTAL_CLIFF_COLLAPSE_EROSION_COARSE_CODE = "total_cliff_collapse_erosion_coarse";
954string const RASTER_TOTAL_CLIFF_COLLAPSE_EROSION_COARSE_NAME = "total_cliff_collapse_erosion_coarse";
955string const RASTER_TOTAL_CLIFF_COLLAPSE_EROSION_FINE_CODE = "total_cliff_collapse_erosion_fine";
956string const RASTER_TOTAL_CLIFF_COLLAPSE_EROSION_FINE_NAME = "total_cliff_collapse_erosion_fine";
957string const RASTER_TOTAL_CLIFF_COLLAPSE_EROSION_SAND_CODE = "total_cliff_collapse_erosion_sand";
958string const RASTER_TOTAL_CLIFF_COLLAPSE_EROSION_SAND_NAME = "total_cliff_collapse_erosion_sand";
959string const RASTER_TOTAL_POTENTIAL_BEACH_EROSION_CODE = "total_potential_beach_erosion";
960string const RASTER_TOTAL_POTENTIAL_BEACH_EROSION_NAME = "total_potential_beach_erosion";
961string const RASTER_TOTAL_POTENTIAL_PLATFORM_EROSION_CODE = "total_potential_platform_erosion";
962string const RASTER_TOTAL_POTENTIAL_PLATFORM_EROSION_NAME = "total_potential_platform_erosion";
963string const RASTER_USUAL_OUTPUT_CODE = "usual";
964string const RASTER_WAVE_FLOOD_LINE_CODE = "wave_flood_line";
965string const RASTER_WAVE_FLOOD_LINE_NAME = "wave_flood_line";
966string const RASTER_WAVE_HEIGHT_CODE = "wave_height";
967string const RASTER_WAVE_HEIGHT_NAME = "wave_height";
968string const RASTER_WAVE_ORIENTATION_CODE = "wave_orientation";
969string const RASTER_WAVE_ORIENTATION_NAME = "wave_orientation";
970string const RASTER_WAVE_PERIOD_CODE = "wave_period";
971string const RASTER_WAVE_PERIOD_NAME = "wave_period";
972
973// GIS raster output titles
974string const RASTER_PLOT_ACTIVE_ZONE_TITLE = "Active zone";
975string const RASTER_PLOT_ACTUAL_BEACH_EROSION_TITLE = "Actual (constrained) beach erosion depth";
976string const RASTER_PLOT_ACTUAL_PLATFORM_EROSION_TITLE = "Actual (constrained) shore platform erosion depth";
977string const RASTER_PLOT_AVG_SEA_DEPTH_TITLE = "Average sea depth";
978string const RASTER_PLOT_AVG_SUSPENDED_SEDIMENT_TITLE = "Average depth of suspended sediment";
979string const RASTER_PLOT_AVG_WAVE_HEIGHT_TITLE = "Average wave height";
980string const RASTER_PLOT_AVG_WAVE_ORIENTATION_TITLE = "Average wave orientation";
981string const RASTER_PLOT_BASEMENT_ELEVATION_TITLE = "Basement elevation";
982string const RASTER_PLOT_BEACH_DEPOSITION_TITLE = "Beach deposition depth";
983string const RASTER_PLOT_BEACH_MASK_TITLE = "Beach mask";
984string const RASTER_PLOT_BEACH_PROTECTION_TITLE = "Beach protection factor";
985string const RASTER_PLOT_CLIFF_COLLAPSE_DEPOSITION_COARSE_TITLE = "Depth of coarse talus from cliff collapse";
986string const RASTER_PLOT_CLIFF_COLLAPSE_DEPOSITION_SAND_TITLE = "Depth of sand talus from cliff collapse";
987string const RASTER_PLOT_CLIFF_COLLAPSE_EROSION_COARSE_TITLE = "Cliff collapse depth of erosion, coarse sediment";
988string const RASTER_PLOT_CLIFF_COLLAPSE_EROSION_FINE_TITLE = "Cliff collapse depth of erosion, fine sediment";
989string const RASTER_PLOT_CLIFF_COLLAPSE_EROSION_SAND_TITLE = "Cliff collapse depth of erosion, sand sediment";
990#ifdef _DEBUG
991string const RASTER_PLOT_CLIFF_COLLAPSE_TIMESTEP_TITLE = "Timestep at which cliff collapse occurred";
992#endif
993string const RASTER_PLOT_CLIFF_NOTCH_ALL_TITLE = "All cliff notch incision";
994string const RASTER_PLOT_CLIFF_TOE_TITLE = "Cliff toe cells";
995string const RASTER_PLOT_COARSE_CONSOLIDATED_SEDIMENT_TITLE = "Consolidated coarse sediment depth";
996string const RASTER_PLOT_COARSE_UNCONSOLIDATED_SEDIMENT_TITLE = "Unconsolidated coarse sediment depth";
997string const RASTER_PLOT_COAST_TITLE = "Rasterized coastline";
998string const RASTER_PLOT_DEEP_WATER_WAVE_HEIGHT_TITLE = "Deep water wave height";
999string const RASTER_PLOT_DEEP_WATER_WAVE_ORIENTATION_TITLE = "Deep water wave orientation";
1000string const RASTER_PLOT_DEEP_WATER_WAVE_PERIOD_TITLE = "Deep water wave period";
1001string const RASTER_PLOT_FINE_CONSOLIDATED_SEDIMENT_TITLE = "Consolidated fine sediment depth";
1002string const RASTER_PLOT_FINE_UNCONSOLIDATED_SEDIMENT_TITLE = "Unconsolidated fine sediment depth";
1003string const RASTER_PLOT_INTERVENTION_CLASS_TITLE = "Intervention class";
1004string const RASTER_PLOT_INTERVENTION_HEIGHT_TITLE = "Intervention height";
1005string const RASTER_PLOT_INUNDATION_MASK_TITLE = "Inundated area mask";
1006string const RASTER_PLOT_LANDFORM_TITLE = "Landform class";
1007string const RASTER_PLOT_NORMAL_PROFILE_TITLE = "Rasterized normal profiles";
1008string const RASTER_PLOT_POLYGON_GAIN_OR_LOSS_TITLE = "Polygon gain or loss of unconsolidated sediment";
1009string const RASTER_PLOT_POLYGON_TITLE = "Rasterized polygon boundaries";
1010string const RASTER_PLOT_POLYGON_UPDRIFT_OR_DOWNDRIFT_TITLE = "Polygon updrift or downdrift movement of unconsolidated sediment";
1011string const RASTER_PLOT_POTENTIAL_BEACH_EROSION_TITLE = "Potential (unconstrained) beach erosion depth";
1012string const RASTER_PLOT_POTENTIAL_PLATFORM_EROSION_MASK_TITLE = "Potential (unconstrained) shore platform erosion binary mask";
1013string const RASTER_PLOT_POTENTIAL_PLATFORM_EROSION_TITLE = "Potential (unconstrained) shore platform erosion depth";
1014string const RASTER_PLOT_SAND_CONSOLIDATED_SEDIMENT_TITLE = "Consolidated sand sediment depth";
1015string const RASTER_PLOT_SAND_UNCONSOLIDATED_SEDIMENT_TITLE = "Unconsolidated sand sediment depth";
1016string const RASTER_PLOT_SEA_DEPTH_TITLE = "Sea depth";
1017string const RASTER_PLOT_SEDIMENT_INPUT_EVENT_TITLE = "Sediment input event(s) since last GIS save";
1018string const RASTER_PLOT_SED_TOP_INC_TALUS_ELEV_TITLE = "Elevation of sediment top inc talus";
1019string const RASTER_PLOT_SETUP_SURGE_FLOOD_MASK_TITLE = "Mask of setup-surge flood";
1020string const RASTER_PLOT_SETUP_SURGE_RUNUP_FLOOD_MASK_TITLE = "Mask of setup-surge-runup flood";
1021string const RASTER_PLOT_SHADOW_DOWNDRIFT_ZONE_TITLE = "Downdrift of wave shadow zones";
1022string const RASTER_PLOT_SHADOW_ZONE_TITLE = "Wave shadow zones";
1023string const RASTER_PLOT_SLICE_TITLE = "Slice though layers at elevation = ";
1025string const RASTER_PLOT_CONS_SED_SLOPE_TITLE = "Local slope of consolidated sediment";
1026string const RASTER_PLOT_SUSPENDED_SEDIMENT_TITLE = "Suspended sediment depth";
1027string const RASTER_PLOT_TALUS_TITLE = "Talus from cliff collapse";
1028string const RASTER_PLOT_TOP_ELEV_INC_SEA_TITLE = "Topmost elevation (sediment plus intervention plus se";
1029string const RASTER_PLOT_TOTAL_ACTUAL_BEACH_EROSION_TITLE = "Total actual (constrained) beach erosion depth";
1030string const RASTER_PLOT_TOTAL_ACTUAL_PLATFORM_EROSION_TITLE = "Total actual (constrained) shore platform erosion depth";
1031string const RASTER_PLOT_TOTAL_BEACH_DEPOSITION_TITLE = "Total beach deposition depth";
1032string const RASTER_PLOT_TOTAL_CLIFF_COLLAPSE_DEPOSITION_COARSE_TITLE = "Total depth of coarse talus from cliff collapse";
1033string const RASTER_PLOT_TOTAL_CLIFF_COLLAPSE_DEPOSITION_SAND_TITLE = "Total depth of sand talus from cliff collapse";
1034string const RASTER_PLOT_TOTAL_CLIFF_COLLAPSE_EROSION_COARSE_TITLE = "Total of cliff collapse erosion depth, coarse";
1035string const RASTER_PLOT_TOTAL_CLIFF_COLLAPSE_EROSION_FINE_TITLE = "Total of cliff collapse erosion depth, fine";
1036string const RASTER_PLOT_TOTAL_CLIFF_COLLAPSE_EROSION_SAND_TITLE = "Total of cliff collapse erosion depth, sand";
1037string const RASTER_PLOT_TOTAL_POTENTIAL_BEACH_EROSION_TITLE = "Total potential (unconstrained) beach erosion depth";
1038string const RASTER_PLOT_TOTAL_POTENTIAL_PLATFORM_EROSION_TITLE = "Total potential (unconstrained) shore platform erosion depth";
1039string const RASTER_PLOT_WAVE_FLOOD_LINE_TITLE = "Wave flood line";
1040string const RASTER_PLOT_WAVE_HEIGHT_TITLE = "Wave height";
1041string const RASTER_PLOT_WAVE_ORIENTATION_TITLE = "Wave orientation";
1042
1043// GIS vector output user codes
1044string const VECTOR_ALL_OUTPUT_CODE = "all";
1046string const VECTOR_AVG_WAVE_ANGLE_AND_HEIGHT_CODE = "avg_wave_angle";
1047string const VECTOR_AVG_WAVE_ANGLE_AND_HEIGHT_NAME = "avg_wave_angle";
1048string const VECTOR_BREAKING_WAVE_HEIGHT_CODE = "breaking_wave_height";
1049string const VECTOR_BREAKING_WAVE_HEIGHT_NAME = "breaking_wave_height";
1050string const VECTOR_CLIFF_EDGE_CODE = "cliff_edge";
1051string const VECTOR_CLIFF_EDGE_NAME = "cliff_edge";
1052string const VECTOR_CLIFF_NOTCH_ACTIVE_CODE = "cliff_notch_active";
1053string const VECTOR_CLIFF_NOTCH_ACTIVE_NAME = "cliff_notch_active";
1054string const VECTOR_COAST_CODE = "coast";
1055string const VECTOR_COAST_CURVATURE_CODE = "coast_curvature";
1056string const VECTOR_COAST_CURVATURE_NAME = "coast_curvature";
1057string const VECTOR_COAST_NAME = "coast";
1058string const VECTOR_COAST_SWL_HIGHEST_NAME = "coast_SWL_highest";
1059string const VECTOR_COAST_SWL_LOWEST_NAME = "coast_SWL_lowest";
1060string const VECTOR_DEEP_WATER_WAVE_ANGLE_AND_HEIGHT_CODE = "deep_water_wave_angle";
1061string const VECTOR_DEEP_WATER_WAVE_ANGLE_AND_HEIGHT_NAME = "deep_water_wave_angle";
1062string const VECTOR_DOWNDRIFT_ZONE_BOUNDARY_CODE = "downdrift_boundary";
1063string const VECTOR_DOWNDRIFT_ZONE_BOUNDARY_NAME = "downdrift_boundary";
1064string const VECTOR_FLOOD_LINE_CODE = "flood_line";
1065string const VECTOR_FLOOD_LINE_NAME = "flood_line";
1068string const VECTOR_FLOOD_SWL_SETUP_SURGE_LINE_CODE = "setup_surge";
1069string const VECTOR_FLOOD_SWL_SETUP_SURGE_LINE_NAME = "setup_surge";
1070string const VECTOR_FLOOD_SWL_SETUP_SURGE_RUNUP_LINE_CODE = "setup_surge_runup";
1071string const VECTOR_FLOOD_SWL_SETUP_SURGE_RUNUP_LINE_NAME = "setup_surge_runup";
1072string const VECTOR_INVALID_NORMALS_CODE = "invalid_normals";
1073string const VECTOR_INVALID_NORMALS_NAME = "invalid_normals";
1074string const VECTOR_MEAN_WAVE_ENERGY_CODE = "mean_wave_energy";
1075string const VECTOR_MEAN_WAVE_ENERGY_NAME = "mean_wave_energy";
1076string const VECTOR_NORMALS_CODE = "normals";
1077string const VECTOR_NORMALS_NAME = "normals";
1078string const VECTOR_POLYGON_BOUNDARY_CODE = "polygon";
1079string const VECTOR_POLYGON_BOUNDARY_NAME = "polygon";
1080string const VECTOR_POLYGON_NODE_CODE = "polygon_node";
1081string const VECTOR_POLYGON_NODE_NAME = "polygon_node";
1082string const VECTOR_RUN_UP_CODE = "run_up";
1083string const VECTOR_RUN_UP_NAME = "run_up";
1084string const VECTOR_SHADOW_ZONE_BOUNDARY_CODE = "shadow_boundary";
1085string const VECTOR_SHADOW_ZONE_BOUNDARY_NAME = "shadow_boundary";
1086string const VECTOR_STORM_SURGE_CODE = "storm_surge";
1087string const VECTOR_STORM_SURGE_NAME = "storm_surge";
1088string const VECTOR_USUAL_OUTPUT_CODE = "usual";
1089string const VECTOR_WAVE_ANGLE_AND_HEIGHT_CODE = "wave_angle";
1090string const VECTOR_WAVE_ANGLE_AND_HEIGHT_NAME = "wave_angle";
1091string const VECTOR_WAVE_ENERGY_SINCE_COLLAPSE_CODE = "wave_energy";
1092string const VECTOR_WAVE_ENERGY_SINCE_COLLAPSE_NAME = "wave_energy";
1093string const VECTOR_WAVE_SETUP_CODE = "wave_setup";
1094string const VECTOR_WAVE_SETUP_NAME = "wave_setup";
1095string const VECTOR_WAVE_TRANSECT_POINTS_CODE = "wave_transect_points";
1096string const VECTOR_WAVE_TRANSECT_POINTS_NAME = "wave_transect_points";
1097
1098// GIS vector output titles
1099string const VECTOR_PLOT_AVG_WAVE_ANGLE_AND_HEIGHT_TITLE = "Average wave orientation and height";
1100string const VECTOR_PLOT_BREAKING_WAVE_HEIGHT_TITLE = "Breaking wave height";
1101string const VECTOR_PLOT_CLIFF_EDGE_TITLE = "Cliff edge";
1102string const VECTOR_PLOT_CLIFF_NOTCH_ACTIVE_TITLE = "Active cliff notch incision";
1103string const VECTOR_PLOT_COAST_CURVATURE_TITLE = "Coastline curvature";
1104string const VECTOR_PLOT_COAST_SWL_HIGHEST_TITLE = "Coastline at highest SWL";
1105string const VECTOR_PLOT_COAST_SWL_LOWEST_TITLE = "Coastline at lowest SWL";
1106string const VECTOR_PLOT_COAST_TITLE = "Coastline";
1107string const VECTOR_PLOT_DEEP_WATER_WAVE_ANGLE_AND_HEIGHT_TITLE = "Deep water wave orientation and height";
1108string const VECTOR_PLOT_DOWNDRIFT_ZONE_BOUNDARY_TITLE = "Downdrift zone boundary";
1109string const VECTOR_PLOT_FLOOD_LINE_TITLE = "Flood ";
1110string const VECTOR_PLOT_FLOOD_SWL_SETUP_LINE_TITLE = "SWL-Setup line";
1111string const VECTOR_PLOT_FLOOD_SWL_SETUP_SURGE_LINE_TITLE = "SWL-Setup-Surge line";
1112string const VECTOR_PLOT_FLOOD_SWL_SETUP_SURGE_RUNUP_LINE_TITLE = "SWL-Setup-Surge-Runup line";
1113string const VECTOR_PLOT_INVALID_NORMALS_TITLE = "INVALID coastline-normal profiles";
1114string const VECTOR_PLOT_MEAN_WAVE_ENERGY_TITLE = "Mean wave energy";
1115string const VECTOR_PLOT_NORMALS_TITLE = "Coastline-normal profiles";
1116string const VECTOR_PLOT_POLYGON_BOUNDARY_TITLE = "Polygons";
1117string const VECTOR_PLOT_POLYGON_NODES_TITLE = "Polygon nodes";
1118string const VECTOR_PLOT_RUN_UP_TITLE = "Run up";
1119string const VECTOR_PLOT_SHADOW_ZONE_BOUNDARY_TITLE = "Shadow zone boundary";
1120string const VECTOR_PLOT_STORM_SURGE_TITLE = "Storm surge";
1121string const VECTOR_PLOT_WAVE_ANGLE_AND_HEIGHT_TITLE = "Wave orientation and height";
1122string const VECTOR_PLOT_WAVE_ENERGY_SINCE_COLLAPSE_TITLE = "Wave energy since collapse";
1123string const VECTOR_PLOT_WAVE_SETUP_TITLE = "Wave setup";
1124string const VECTOR_PLOT_WAVE_TRANSECT_POINTS_TITLE = "Wave transect points (real and synthetic)";
1125
1126// Time series codes
1127string const TIME_SERIES_BEACH_CHANGE_NET_CODE = "beach_change_net";
1128string const TIME_SERIES_BEACH_CHANGE_NET_NAME = "beach_change_net";
1129string const TIME_SERIES_BEACH_DEPOSITION_CODE = "beach_deposition";
1130string const TIME_SERIES_BEACH_DEPOSITION_NAME = "beach_deposition";
1131string const TIME_SERIES_BEACH_EROSION_CODE = "beach_erosion";
1132string const TIME_SERIES_BEACH_EROSION_NAME = "beach_erosion";
1133string const TIME_SERIES_CLIFF_COLLAPSE_DEPOSITION_CODE = "cliff_collapse_deposition";
1134string const TIME_SERIES_CLIFF_COLLAPSE_DEPOSITION_NAME = "cliff_collapse_deposition";
1135string const TIME_SERIES_CLIFF_COLLAPSE_EROSION_CODE = "cliff_collapse_erosion";
1136string const TIME_SERIES_CLIFF_COLLAPSE_EROSION_NAME = "cliff_collapse_erosion";
1137string const TIME_SERIES_CLIFF_COLLAPSE_NET_CODE = "cliff_collapse_net";
1138string const TIME_SERIES_CLIFF_COLLAPSE_NET_NAME = "cliff_collapse_net";
1139string const TIME_SERIES_CLIFF_NOTCH_ELEV_CODE = "cliff_notch";
1140string const TIME_SERIES_CLIFF_NOTCH_ELEV_NAME = "cliff_notch";
1141string const TIME_SERIES_FLOOD_SETUP_SURGE_CODE = "flood_setup_surge";
1142string const TIME_SERIES_FLOOD_SETUP_SURGE_NAME = "flood_setup_surge";
1143string const TIME_SERIES_FLOOD_SETUP_SURGE_RUNUP_CODE = "flood_setup_surge_runup";
1144string const TIME_SERIES_FLOOD_SETUP_SURGE_RUNUP_NAME = "flood_setup_surge_runup";
1145string const TIME_SERIES_PLATFORM_EROSION_CODE = "platform_erosion";
1146string const TIME_SERIES_PLATFORM_EROSION_NAME = "platform_erosion";
1147string const TIME_SERIES_SEA_AREA_CODE = "sea_area";
1148string const TIME_SERIES_SEA_AREA_NAME = "sea_area";
1149string const TIME_SERIES_SUSPENDED_SEDIMENT_CODE = "suspended";
1150string const TIME_SERIES_SUSPENDED_SEDIMENT_NAME = "suspended_sediment";
1151string const TIME_SERIES_SWL_CODE = "SWL";
1152string const TIME_SERIES_SWL_NAME = "SWL";
1153
1154// CShore stuff
1155string const WAVE_ENERGY_FLUX = "wave_energy_flux";
1156string const WAVE_HEIGHT_X_FILENAME = "wave_height_x.csv";
1157string const WAVE_HEIGHT_Y_FILENAME = "wave_height_y.csv";
1158string const ACTIVE_ZONE_FILENAME = "activezone.csv";
1159
1160//================================================ Globally-available functions =================================================
1161template <class T>
1162T tMax(T a, T b)
1163{
1164 return ((a > b) ? a : b);
1165}
1166
1167template <class T>
1168T tMax(T a, T b, T c)
1169{
1170 T max = (a < b) ? b : a;
1171 return ((max < c) ? c : max);
1172}
1173
1174template <class T>
1175T tMin(T a, T b)
1176{
1177 return ((a < b) ? a : b);
1178}
1179
1180template <class T>
1181T tMin(T a, T b, T c)
1182{
1183 return (a < b ? (a < c ? a : c) : (b < c ? b : c));
1184}
1185
1186template <class T>
1187T tAbs(T a)
1188{
1189 // From a posting dated 18 Nov 93 by rmartin@rcmcon.com (Robert Martin), archived in cpp_tips
1190 return ((a < 0) ? -a : a);
1191}
1192
1193// template <class T>
1194// bool bIsBetween(T a, T b, T c)
1195// {
1196// // Assumes b > c
1197// return ((a >= b) && (a <= c));
1198// }
1199
1200template <typename T>
1201string strDblToStr(const T &t)
1202{
1203 // From http://stackoverflow.com/questions/2125880/convert-float-to-stdstring-in-c
1204 ostringstream os;
1205 os << t;
1206 return os.str();
1207}
1208
1209// ==============================================================================================================================
1210// For comparison of two floating-point numbers, with a specified accuracy
1211// ==============================================================================================================================
1212template <class T>
1213bool bFPIsEqual(const T d1, const T d2, const T dEpsilon)
1214{
1215 // Since the accuracy of floating-point numbers varies with their magnitude, we must compare them by using an accuracy threshold which is relative to the magnitude of the two numbers being compared. This is a blend of an example from Knuth's 'The Art of Computer Programming. Volume 1. Fundamental Algorithms' and a posting dated 18 Nov 93 by rmartin@rcmcon.com (Robert Martin), archived in cpp_tips
1216
1217#pragma GCC diagnostic push
1218#pragma GCC diagnostic ignored "-Wfloat-equal"
1219
1220 if ((0 == d1) && (tAbs(d2) < dEpsilon))
1221 return true;
1222 else if ((0 == d2) && (tAbs(d1) < dEpsilon))
1223 return true;
1224 else
1225 return ((tAbs(d1 - d2) < (dEpsilon * tAbs(d1))) ? true : false);
1226
1227#pragma GCC diagnostic pop
1228}
1229
1230#ifndef DOXYGEN_SHOULD_SKIP_THIS
1231// Definitions are in utilsglobal.cpp
1232double dRound(double const);
1233int nRound(double const);
1234// bool bIsWhole(double const);
1235bool bIsStringValidDouble(string &);
1236bool bIsStringValidInt(string &);
1237
1238struct FillToWidth
1239{
1240 FillToWidth(char f, int w) : chFill(f), nWidth(w) {}
1241 char chFill;
1242 int nWidth;
1243};
1244
1246struct TransectWaveData
1247{
1248 std::vector<double> VdX;
1249 std::vector<double> VdY;
1250 std::vector<double> VdHeightX;
1251 std::vector<double> VdHeightY;
1252 std::vector<bool> VbBreaking;
1253 int nCoastID;
1254 int nProfileID;
1255 bool bIsGridEdge;
1256};
1257
1258ostream &operator<<(ostream &, const FillToWidth &);
1259
1260// string strDbl(double const, int const);
1261string strDblRight(double const, int const, int const, bool const = true);
1262string strIntRight(int const, int const);
1263string strCentre(const char *, int const);
1264string strCentre(const string &, int const);
1265string strRight(const string &, int const);
1266string strRight(const char *, int const);
1267string strLeft(const string &, int const);
1268string strLeft(const char *, int const);
1269string strRightPerCent(double const, double const, int const, int const,
1270 bool const = true);
1271#endif
1272
1273//================================================= debugging stuff =============================================================
1274// #define CLOCKCHECK // Uncomment to check CPU clock rollover settings
1275
1276#endif // CME_H
int const NO_NONZERO_THICKNESS_LAYERS
Definition cme.h:672
int const INT_NODATA
Definition cme.h:380
int const RASTER_PLOT_POLYGON
Definition cme.h:522
string const VECTOR_FLOOD_SWL_SETUP_SURGE_LINE_CODE
Definition cme.h:1068
string const TIME_SERIES_CLIFF_COLLAPSE_DEPOSITION_CODE
Definition cme.h:1133
string const READING_UNCONS_SAND_SEDIMENT_FILE
Definition cme.h:774
string const TIME_SERIES_SUSPENDED_SEDIMENT_CODE
Definition cme.h:1149
string const RASTER_PLOT_POLYGON_UPDRIFT_OR_DOWNDRIFT_TITLE
Definition cme.h:1010
char const SLASH
Definition cme.h:356
string const RASTER_PLOT_CLIFF_COLLAPSE_EROSION_COARSE_TITLE
Definition cme.h:987
string const VECTOR_PLOT_BREAKING_WAVE_HEIGHT_TITLE
Definition cme.h:1100
string const RASTER_POTENTIAL_PLATFORM_EROSION_MASK_CODE
Definition cme.h:911
int const MAX_LEN_SHADOW_LINE_TO_IGNORE
Definition cme.h:381
int const RASTER_PLOT_CONS_SED_SLOPE
Definition cme.h:539
string const RASTER_SEA_DEPTH_NAME
Definition cme.h:919
int const SMOOTH_NONE
Definition cme.h:675
T tMin(T a, T b)
Definition cme.h:1175
string const USAGE3
Definition cme.h:758
int const WAVE_MODEL_COVE
Definition cme.h:685
int const RTN_ERR_READING_SEDIMENT_INPUT_EVENT
Definition cme.h:647
string const RASTER_PLOT_WAVE_FLOOD_LINE_TITLE
Definition cme.h:1039
int const RTN_ERR_POINT_NOT_FOUND_IN_MULTILINE_DIFFERENT_COASTS
Definition cme.h:663
string const VECTOR_PLOT_INVALID_NORMALS_TITLE
Definition cme.h:1113
string const VECTOR_FLOOD_SWL_SETUP_SURGE_RUNUP_LINE_NAME
Definition cme.h:1071
double const TOLERANCE
Definition cme.h:725
string const VECTOR_PLOT_NORMALS_TITLE
Definition cme.h:1115
string const RASTER_CLIFF_COLLAPSE_EROSION_FINE_CODE
Definition cme.h:867
string const RASTER_CLIFF_COLLAPSE_TIMESTEP_NAME
Definition cme.h:872
bool const USE_DEEP_WATER_FOR_SHADOW_LINE
Definition cme.h:364
string const TIME_SERIES_PLATFORM_EROSION_CODE
Definition cme.h:1145
int const VECTOR_PLOT_STORM_SURGE
Definition cme.h:576
string const RASTER_PLOT_CLIFF_COLLAPSE_EROSION_SAND_TITLE
Definition cme.h:989
int const RTN_ERR_NO_TOP_LAYER
Definition cme.h:629
string const DISCLAIMER4
Definition cme.h:747
string const RASTER_PLOT_COAST_TITLE
Definition cme.h:997
string const RASTER_SHADOW_DOWNDRIFT_ZONE_NAME
Definition cme.h:929
string const RASTER_POTENTIAL_BEACH_EROSION_NAME
Definition cme.h:909
string const RASTER_PLOT_POLYGON_TITLE
Definition cme.h:1009
string const ACTIVE_ZONE_FILENAME
Definition cme.h:1158
string const RASTER_COARSE_CONS_CODE
Definition cme.h:876
string const RASTER_BEACH_MASK_NAME
Definition cme.h:858
string const RASTER_TOTAL_CLIFF_COLLAPSE_DEPOSITION_SAND_NAME
Definition cme.h:952
string const WAVE_HEIGHT_Y_FILENAME
Definition cme.h:1157
string const VECTOR_POLYGON_NODE_CODE
Definition cme.h:1080
string const RASTER_USUAL_OUTPUT_CODE
Definition cme.h:963
string const RASTER_DEEP_WATER_WAVE_ORIENTATION_CODE
Definition cme.h:886
int const VECTOR_PLOT_BREAKING_WAVE_HEIGHT
Definition cme.h:559
int const VECTOR_PLOT_POLYGON_NODES
Definition cme.h:573
int const SAVGOL_POLYNOMIAL_MAX_ORDER
Definition cme.h:388
int const LF_INTERVENTION_STRUCT
Definition cme.h:442
string const RASTER_POLYGON_UPDRIFT_OR_DOWNDRIFT_NAME
Definition cme.h:907
string const RASTER_DEEP_WATER_WAVE_HEIGHT_CODE
Definition cme.h:884
int const GAP_BETWEEN_DIFFERENT_COAST_PROFILES
Definition cme.h:694
string const COPYRIGHT
Definition cme.h:742
int const RASTER_PLOT_TOTAL_ACTUAL_BEACH_EROSION
Definition cme.h:542
string const USAGE1
Definition cme.h:756
string const TIME_SERIES_FLOOD_SETUP_SURGE_RUNUP_CODE
Definition cme.h:1143
string const VECTOR_ALL_OUTPUT_CODE
Definition cme.h:1044
string const VECTOR_FLOOD_SWL_SETUP_SURGE_RUNUP_LINE_CODE
Definition cme.h:1070
string const READING_VECTOR_FILES
Definition cme.h:779
string const RASTER_PLOT_BEACH_DEPOSITION_TITLE
Definition cme.h:982
int const RASTER_PLOT_CLIFF_COLLAPSE_DEPOSITION_SAND
Definition cme.h:499
int const RASTER_PLOT_BEACH_DEPOSITION
Definition cme.h:495
int const LF_SEA
Definition cme.h:436
int const FLOOD_LOCATION_POINT_GEOMETRY
Definition cme.h:480
string const RASTER_TOTAL_CLIFF_COLLAPSE_DEPOSITION_SAND_CODE
Definition cme.h:951
int const RASTER_PLOT_SUSPENDED_SEDIMENT
Definition cme.h:540
string const RASTER_FINE_CONS_NAME
Definition cme.h:891
int const VECTOR_PLOT_NORMALS
Definition cme.h:571
string const VECTOR_WAVE_ANGLE_AND_HEIGHT_NAME
Definition cme.h:1090
string const VECTOR_SHADOW_ZONE_BOUNDARY_NAME
Definition cme.h:1085
string const RASTER_PLOT_DEEP_WATER_WAVE_ORIENTATION_TITLE
Definition cme.h:999
string const READING_CONS_FINE_SEDIMENT_FILE
Definition cme.h:776
string const RASTER_SLOPE_FOR_CLIFF_TOE_NAME
Definition cme.h:934
string const CSHORE_DIR
Definition cme.h:802
string const RASTER_PLOT_FINE_CONSOLIDATED_SEDIMENT_TITLE
Definition cme.h:1001
string const RASTER_SLICE_NAME
Definition cme.h:933
int const RTN_ERR_DEMFILE
Definition cme.h:598
string const READING_BASEMENT
Definition cme.h:767
int const RASTER_PLOT_FINE_UNCONSOLIDATED_SEDIMENT
Definition cme.h:515
int const ELEV_ABOVE_SEDIMENT_TOP
Definition cme.h:671
string const VECTOR_PLOT_FLOOD_SWL_SETUP_SURGE_RUNUP_LINE_TITLE
Definition cme.h:1112
int const SEDIMENT_INPUT_EVENT_LOCATION_MAX_LAYER
Definition cme.h:478
string const RASTER_ACTIVE_ZONE_CODE
Definition cme.h:838
string const PERFORMHEAD
Definition cme.h:827
int const LF_DRIFT_TALUS
Definition cme.h:439
int const NO_LOG_FILE
Definition cme.h:391
int const RTN_HELP_ONLY
Definition cme.h:586
unsigned long const UNSIGNED_LONG_NODATA
Definition cme.h:705
string const RASTER_CLIFF_COLLAPSE_EROSION_COARSE_CODE
Definition cme.h:865
string const RASTER_BEACH_DEPOSITION_NAME
Definition cme.h:856
string const RASTER_CLIFF_NOTCH_ALL_CODE
Definition cme.h:873
int const RTN_ERR_COAST_CANT_FIND_EDGE_CELL
Definition cme.h:641
string const RASTER_PLOT_AVG_SEA_DEPTH_TITLE
Definition cme.h:977
string const VECTOR_POLYGON_BOUNDARY_NAME
Definition cme.h:1079
int const RTN_ERR_CSHORE_FILE_INPUT
Definition cme.h:637
int const SAND_CONS_RASTER
Definition cme.h:450
string const RASTER_SAND_CONS_CODE
Definition cme.h:914
string const USAGE6
Definition cme.h:761
string const PER_ITER_HEAD
Definition cme.h:821
double const INTERVENTION_PROFILE_SPACING_FACTOR
Definition cme.h:733
string const TIME_SERIES_FLOOD_SETUP_SURGE_CODE
Definition cme.h:1141
string const RASTER_BEACH_PROTECTION_NAME
Definition cme.h:860
int const RTN_ERR_MEMALLOC
Definition cme.h:601
string const DISCLAIMER5
Definition cme.h:748
int const SEDIMENT_INPUT_EVENT_LOCATION_VEC
Definition cme.h:477
string const TIME_SERIES_CLIFF_NOTCH_ELEV_CODE
Definition cme.h:1139
int const RTN_ERR_SCAPE_SHAPE_FUNCTION_FILE
Definition cme.h:593
int const RTN_CHECK_ONLY
Definition cme.h:587
int const UNCONS_SEDIMENT_EQUATION_KAMPHUIS
Definition cme.h:690
string const ERR
Definition cme.h:805
string const RASTER_PLOT_BEACH_MASK_TITLE
Definition cme.h:983
int const DIRECTION_DOWNCOAST
Definition cme.h:408
int const RASTER_PLOT_INUNDATION_MASK
Definition cme.h:518
int const RTN_ERR_WAVESTATION_LOCATION
Definition cme.h:650
string const VECTOR_WAVE_TRANSECT_POINTS_NAME
Definition cme.h:1096
string const RASTER_PLOT_AVG_WAVE_ORIENTATION_TITLE
Definition cme.h:980
string const RASTER_PLOT_SETUP_SURGE_FLOOD_MASK_TITLE
Definition cme.h:1019
string const RASTER_SAND_UNCONS_NAME
Definition cme.h:917
string const RASTER_PLOT_ACTUAL_BEACH_EROSION_TITLE
Definition cme.h:975
string const RASTER_PLOT_TOTAL_CLIFF_COLLAPSE_EROSION_FINE_TITLE
Definition cme.h:1035
int const RASTER_PLOT_ACTUAL_BEACH_EROSION
Definition cme.h:488
int const RTN_ERR_LOGFILE
Definition cme.h:595
string const RASTER_COAST_NORMAL_CODE
Definition cme.h:882
int const DEFAULT_PROFILE_SPACING
Definition cme.h:387
string const VECTOR_CLIFF_EDGE_CODE
Definition cme.h:1050
string const RASTER_PLOT_POLYGON_GAIN_OR_LOSS_TITLE
Definition cme.h:1008
bool const CREATE_SHADOW_ZONE_IF_HITS_GRID_EDGE
Definition cme.h:362
string const VECTOR_PLOT_MEAN_WAVE_ENERGY_TITLE
Definition cme.h:1114
string const SCAPE_DIR
Definition cme.h:798
string const RASTER_INUNDATION_MASK_NAME
Definition cme.h:899
string const LOGEXT
Definition cme.h:830
string const PRESS_KEY
Definition cme.h:793
string const RASTER_PLOT_DEEP_WATER_WAVE_HEIGHT_TITLE
Definition cme.h:998
string const RASTER_AVG_SUSP_SED_CODE
Definition cme.h:847
string const RASTER_PLOT_WAVE_ORIENTATION_TITLE
Definition cme.h:1041
string const TIME_SERIES_CLIFF_NOTCH_ELEV_NAME
Definition cme.h:1140
bool const ACCEPT_TRUNCATED_PROFILES
Definition cme.h:361
string const VECTOR_PLOT_SHADOW_ZONE_BOUNDARY_TITLE
Definition cme.h:1119
string const RASTER_PLOT_BASEMENT_ELEVATION_TITLE
Definition cme.h:981
string const VECTOR_BREAKING_WAVE_HEIGHT_NAME
Definition cme.h:1049
string const RASTER_PLOT_INTERVENTION_CLASS_TITLE
Definition cme.h:1003
string const RASTER_COAST_CODE
Definition cme.h:880
int const RTN_ERR_NO_COAST
Definition cme.h:618
string const RASTER_PLOT_COARSE_UNCONSOLIDATED_SEDIMENT_TITLE
Definition cme.h:996
int const RTN_ERR_SHADOW_ZONE_FLOOD_START_POINT
Definition cme.h:635
string const RASTER_SEDIMENT_INPUT_EVENT_CODE
Definition cme.h:920
string const VECTOR_WAVE_ENERGY_SINCE_COLLAPSE_CODE
Definition cme.h:1091
string const USAGE4
Definition cme.h:759
string const RASTER_WAVE_ORIENTATION_CODE
Definition cme.h:968
int const RTN_ERR_EDGE_OF_GRID
Definition cme.h:624
string const RASTER_PLOT_SLOPE_FOR_CLIFF_TOE_TITLE
Definition cme.h:1024
int const LOG_FILE_LOW_DETAIL
Definition cme.h:392
int const RUNUP_EQUATION_NIELSEN_HANSLOW
Definition cme.h:699
string const VECTOR_RUN_UP_CODE
Definition cme.h:1082
string const ABOUT
Definition cme.h:751
string const VECTOR_PLOT_POLYGON_NODES_TITLE
Definition cme.h:1117
string const VECTOR_PLOT_RUN_UP_TITLE
Definition cme.h:1118
string const RASTER_WAVE_PERIOD_NAME
Definition cme.h:971
string const READING_CONS_SAND_SEDIMENT_FILE
Definition cme.h:777
int const RASTER_PLOT_POTENTIAL_PLATFORM_EROSION_MASK
Definition cme.h:527
int const LF_SEDIMENT_INPUT_CONSOLIDATED
Definition cme.h:446
string const RASTER_PLOT_AVG_WAVE_HEIGHT_TITLE
Definition cme.h:979
string const RASTER_PLOT_TOTAL_POTENTIAL_PLATFORM_EROSION_TITLE
Definition cme.h:1038
int const RTN_ERR_GRIDCREATE
Definition cme.h:640
int const RTN_ERR_PROFILE_WRITE
Definition cme.h:619
int const RTN_ERR_RASTER_GIS_OUT_FORMAT
Definition cme.h:602
double const CSHORE_FRICTION_FACTOR
Definition cme.h:722
string const TIME_SERIES_BEACH_EROSION_NAME
Definition cme.h:1132
string const RASTER_PLOT_SED_TOP_INC_TALUS_ELEV_TITLE
Definition cme.h:1018
int const RTN_ERR_LANDFORM_TO_GRID
Definition cme.h:628
string const RASTER_ALL_OUTPUT_CODE
Definition cme.h:844
string const RASTER_CLIFF_COLLAPSE_EROSION_SAND_CODE
Definition cme.h:869
int const RASTER_PLOT_SAND_CONSOLIDATED_SEDIMENT
Definition cme.h:528
string const VECTOR_PLOT_FLOOD_LINE_TITLE
Definition cme.h:1109
int const RASTER_PLOT_AVG_WAVE_HEIGHT
Definition cme.h:492
string const VECTOR_FLOOD_SWL_SETUP_LINE_NAME
Definition cme.h:1067
int const RTN_ERR_RASTER_FILE_WRITE
Definition cme.h:605
string const RASTER_CLIFF_COLLAPSE_EROSION_SAND_NAME
Definition cme.h:870
string const RASTER_POLYGON_UPDRIFT_OR_DOWNDRIFT_CODE
Definition cme.h:906
string const PER_ITER_CSV_HEAD
Definition cme.h:823
int const NO_RUNUP_EQUATION
Definition cme.h:698
int const MAX_NUM_PREV_ORIENTATION_VALUES
Definition cme.h:382
int const LF_INTERVENTION_NON_STRUCT
Definition cme.h:443
int const LF_UNKNOWN
Definition cme.h:434
string const PER_ITER_HEAD4
Definition cme.h:817
string const VECTOR_PLOT_CLIFF_EDGE_TITLE
Definition cme.h:1101
string const RASTER_WAVE_FLOOD_LINE_CODE
Definition cme.h:964
string const RASTER_FINE_UNCONS_NAME
Definition cme.h:893
string const INITIALIZING_NOTICE
Definition cme.h:764
string const RASTER_COAST_NAME
Definition cme.h:881
int const SOUTH_EAST
Definition cme.h:402
int const IO_INTERVENTION_STRUCT
Definition cme.h:430
double const DEPTH_OVER_DB_INCREMENT
Definition cme.h:717
int const WAVE_MODEL_CSHORE
Definition cme.h:686
string const RASTER_COARSE_UNCONS_CODE
Definition cme.h:878
int const RASTER_PLOT_FINE_CONSOLIDATED_SEDIMENT
Definition cme.h:514
int const RTN_ERR_BADPARAM
Definition cme.h:589
string const RASTER_CLIFF_COLLAPSE_EROSION_FINE_NAME
Definition cme.h:868
string const OUTEXT
Definition cme.h:829
string const READING_RASTER_FILES
Definition cme.h:768
int const TEXTURE_COARSE
Definition cme.h:419
string const USAGE2
Definition cme.h:757
char const PATH_SEPARATOR
Definition cme.h:353
int const RTN_ERR_SHADOW_ZONE_FLOOD_FILL_NOGRID
Definition cme.h:634
string const VECTOR_INVALID_NORMALS_CODE
Definition cme.h:1072
string const RASTER_SEDIMENT_INPUT_EVENT_NAME
Definition cme.h:921
int const RASTER_PLOT_TOP_ELEV_INC_SEA
Definition cme.h:521
int const RTN_ERR_TOO_LONG_TRACING_COAST
Definition cme.h:661
int const RUNUP_EQUATION_MASE
Definition cme.h:700
string const VECTOR_CLIFF_NOTCH_ACTIVE_CODE
Definition cme.h:1052
string const RASTER_BASEMENT_ELEVATION_CODE
Definition cme.h:853
int const VECTOR_PLOT_COAST_SWL_HIGHEST
Definition cme.h:564
string const RASTER_CLIFF_COLLAPSE_DEPOSITION_SAND_NAME
Definition cme.h:864
int const RASTER_PLOT_ACTIVE_ZONE
Definition cme.h:487
string const RASTER_WAVE_HEIGHT_CODE
Definition cme.h:966
string const RASTER_CLIFF_COLLAPSE_DEPOSITION_COARSE_CODE
Definition cme.h:861
string const RASTER_SHADOW_DOWNDRIFT_ZONE_CODE
Definition cme.h:928
string const PER_ITER_HEAD2
Definition cme.h:813
char const COMMA
Definition cme.h:351
string const RASTER_INTERVENTION_CLASS_CODE
Definition cme.h:894
int const VECTOR_PLOT_COAST_CURVATURE
Definition cme.h:563
int const CAPE_POINT_MIN_SPACING
Definition cme.h:370
string const RASTER_PLOT_CLIFF_COLLAPSE_DEPOSITION_COARSE_TITLE
Definition cme.h:985
string const TIME_SERIES_SWL_NAME
Definition cme.h:1152
int const RTN_ERR_IGNORING_COAST
Definition cme.h:660
string const RASTER_ACTIVE_ZONE_NAME
Definition cme.h:839
string const EMAIL_ERROR
Definition cme.h:796
string const RASTER_PLOT_TOTAL_CLIFF_COLLAPSE_EROSION_SAND_TITLE
Definition cme.h:1036
int const LOG_FILE_MIDDLE_DETAIL
Definition cme.h:393
string const VECTOR_PLOT_WAVE_SETUP_TITLE
Definition cme.h:1123
string const TIME_SERIES_FLOOD_SETUP_SURGE_RUNUP_NAME
Definition cme.h:1144
string const RASTER_INTERVENTION_HEIGHT_NAME
Definition cme.h:897
string const RASTER_POTENTIAL_PLATFORM_EROSION_CODE
Definition cme.h:910
string const RASTER_PLOT_LANDFORM_TITLE
Definition cme.h:1006
int const RTN_ERR_WAVE_INTERPOLATION_LOOKUP
Definition cme.h:639
int const IO_INTERVENTION_NONE
Definition cme.h:429
string const VECTOR_COAST_NAME
Definition cme.h:1057
string const RASTER_POTENTIAL_BEACH_EROSION_CODE
Definition cme.h:908
string const READING_CONS_COARSE_SEDIMENT_FILE
Definition cme.h:778
int const RTN_ERR_CELL_NOT_FOUND_IN_HIT_PROFILE
Definition cme.h:664
string const READING_TIDE_DATA_FILE
Definition cme.h:784
string const RASTER_SHADOW_ZONE_NAME
Definition cme.h:931
int const RASTER_PLOT_DEEP_WATER_WAVE_PERIOD
Definition cme.h:513
int const RTN_ERR_RASTER_FILE_READ
Definition cme.h:599
string const RASTER_COARSE_CONS_NAME
Definition cme.h:877
int const RASTER_PLOT_TALUS
Definition cme.h:541
string const VECTOR_MEAN_WAVE_ENERGY_CODE
Definition cme.h:1074
int const RASTER_PLOT_TOTAL_CLIFF_COLLAPSE_DEPOSITION_SAND
Definition cme.h:546
string const RASTER_TOTAL_CLIFF_COLLAPSE_EROSION_SAND_NAME
Definition cme.h:958
string const VECTOR_STORM_SURGE_CODE
Definition cme.h:1086
int const TIME_UNKNOWN
Definition cme.h:422
string const RASTER_PLOT_WAVE_HEIGHT_TITLE
Definition cme.h:1040
double const D50_SAND_DEFAULT
Definition cme.h:710
int const MIN_INLAND_OFFSET_UNCONS_EROSION
Definition cme.h:384
double const PI
Definition cme.h:707
int const RASTER_PLOT_COAST
Definition cme.h:510
string const RASTER_ACTUAL_BEACH_EROSION_NAME
Definition cme.h:841
string const VECTOR_PLOT_AVG_WAVE_ANGLE_AND_HEIGHT_TITLE
Definition cme.h:1099
string const RASTER_PLOT_TOTAL_POTENTIAL_BEACH_EROSION_TITLE
Definition cme.h:1037
string const RASTER_TOTAL_CLIFF_COLLAPSE_EROSION_COARSE_CODE
Definition cme.h:953
int const RTN_ERR_CELL_IN_POLY_BUT_NO_POLY_COAST
Definition cme.h:665
string const READING_SCAPE_SHAPE_FUNCTION_FILE
Definition cme.h:783
int const RTN_ERR_CSHORE_ERROR
Definition cme.h:642
int const NULL_HANDED
Definition cme.h:412
string const RASTER_SETUP_SURGE_RUNUP_FLOOD_MASK_NAME
Definition cme.h:927
string const TIME_SERIES_BEACH_DEPOSITION_NAME
Definition cme.h:1130
string const READING_INTERVENTION_CLASS_FILE
Definition cme.h:770
string const VECTOR_PLOT_COAST_CURVATURE_TITLE
Definition cme.h:1103
string const RASTER_PLOT_POTENTIAL_BEACH_EROSION_TITLE
Definition cme.h:1011
bool bFPIsEqual(const T d1, const T d2, const T dEpsilon)
Definition cme.h:1213
int const VECTOR_PLOT_RUN_UP
Definition cme.h:574
string const RASTER_CLIFF_TOE_NAME
Definition cme.h:875
int const VEC_FIELD_DATA_INT
Definition cme.h:462
int const LF_CLIFF_INLAND
Definition cme.h:438
string const RASTER_AVG_WAVE_ORIENTATION_NAME
Definition cme.h:852
string const RASTER_TOTAL_BEACH_DEPOSITION_NAME
Definition cme.h:948
string const DISCLAIMER3
Definition cme.h:746
string const VECTOR_USUAL_OUTPUT_CODE
Definition cme.h:1088
int const RASTER_PLOT_POLYGON_UPDRIFT_OR_DOWNDRIFT
Definition cme.h:524
int const VECTOR_PLOT_SHADOW_ZONE_BOUNDARY
Definition cme.h:575
string const READING_UNCONS_COARSE_SEDIMENT_FILE
Definition cme.h:775
int const VECTOR_PLOT_INVALID_NORMALS
Definition cme.h:569
double const WALKDEN_HALL_PARAM_2
Definition cme.h:715
int const MAX_NUM_SHADOW_ZONES
Definition cme.h:383
int const VEC_FIELD_DATA_ANY
Definition cme.h:461
char const QUOTE1
Definition cme.h:354
string const RASTER_DEEP_WATER_WAVE_PERIOD_NAME
Definition cme.h:889
string const RASTER_PLOT_SETUP_SURGE_RUNUP_FLOOD_MASK_TITLE
Definition cme.h:1020
string const RASTER_PLOT_CLIFF_NOTCH_ALL_TITLE
Definition cme.h:993
string const ENDHYDROLOGYHEAD
Definition cme.h:825
string const RASTER_TOTAL_CLIFF_COLLAPSE_DEPOSITION_COARSE_NAME
Definition cme.h:950
string const RASTER_CLIFF_NOTCH_ALL_NAME
Definition cme.h:874
int const RASTER_PLOT_POLYGON_GAIN_OR_LOSS
Definition cme.h:523
string const RASTER_PLOT_SAND_CONSOLIDATED_SEDIMENT_TITLE
Definition cme.h:1014
string const RASTER_WAVE_PERIOD_CODE
Definition cme.h:970
string const FLOOD_LOCATION_ID
Definition cme.h:835
double const STRAIGHT_COAST_MAX_DETAILED_CURVATURE
Definition cme.h:728
int const TIME_HOURS
Definition cme.h:423
string const VECTOR_STORM_SURGE_NAME
Definition cme.h:1087
int const RASTER_PLOT_DEEP_WATER_WAVE_ORIENTATION
Definition cme.h:512
string const READING_DEEP_WATER_WAVE_FILE
Definition cme.h:780
int const RASTER_PLOT_TOTAL_CLIFF_COLLAPSE_EROSION_COARSE
Definition cme.h:547
string const CSVEXT
Definition cme.h:831
int const GRID_EDGE_CLOSED
Definition cme.h:680
int const RTN_ERR_BOUNDING_BOX
Definition cme.h:646
int const RTN_ERR_NO_SEAWARD_END_OF_PROFILE_DOWNCOAST_BEACH_DEPOSITION
Definition cme.h:627
string const TIME_SERIES_CLIFF_COLLAPSE_NET_CODE
Definition cme.h:1137
int const GRID_EDGE_RECIRCULATE
Definition cme.h:682
int const RTN_ERR_OPEN_DEEP_WATER_WAVE_DATA
Definition cme.h:644
string const RASTER_PLOT_ACTUAL_PLATFORM_EROSION_TITLE
Definition cme.h:976
string const RASTER_SLOPE_OF_CONSOLIDATED_SEDIMENT_NAME
Definition cme.h:936
int const RASTER_PLOT_COARSE_UNCONSOLIDATED_SEDIMENT
Definition cme.h:509
int const FLOOD_LOCATION_VEC
Definition cme.h:482
int const DEEP_WATER_WAVE_STATIONS_VEC
Definition cme.h:474
int const RTN_ERR_RUNDATA
Definition cme.h:592
int const RASTER_PLOT_AVG_WAVE_ORIENTATION
Definition cme.h:493
string const RASTER_PLOT_TOTAL_BEACH_DEPOSITION_TITLE
Definition cme.h:1031
int const RTN_ERR_SEDIMENT_INPUT_EVENT_LOCATION
Definition cme.h:649
string const RASTER_TOTAL_ACTUAL_BEACH_EROSION_CODE
Definition cme.h:943
string const VECTOR_NORMALS_CODE
Definition cme.h:1076
string const VECTOR_CLIFF_EDGE_NAME
Definition cme.h:1051
string const RASTER_SLICE_CODE
Definition cme.h:932
int const CLOCK_CHECK_ITERATION
Definition cme.h:371
string const RASTER_BEACH_DEPOSITION_CODE
Definition cme.h:855
string const FINAL_OUTPUT
Definition cme.h:790
string const RASTER_SHADOW_ZONE_CODE
Definition cme.h:930
int const RASTER_PLOT_WAVE_ORIENTATION
Definition cme.h:554
string const DEEP_WATER_WAVE_STATION_ID
Definition cme.h:833
string const RASTER_SUSP_SED_NAME
Definition cme.h:938
int const SOUTH_WEST
Definition cme.h:404
string const RASTER_TOTAL_BEACH_DEPOSITION_CODE
Definition cme.h:947
double const MASS_BALANCE_TOLERANCE
Definition cme.h:727
string const VECTOR_AVG_WAVE_ANGLE_AND_HEIGHT_NAME
Definition cme.h:1047
string const ENDSEDIMENTHEAD
Definition cme.h:826
int const RASTER_PLOT_BEACH_MASK
Definition cme.h:496
string const USAGE
Definition cme.h:755
string const RASTER_AVG_SEA_DEPTH_NAME
Definition cme.h:846
int const RASTER_PLOT_WAVE_FLOOD_LINE
Definition cme.h:552
int const RTN_ERR_FLOOD_LOCATION
Definition cme.h:651
T tMax(T a, T b)
Definition cme.h:1162
int const RASTER_PLOT_SEDIMENT_INPUT
Definition cme.h:531
int const RTN_ERR_GRID_TO_LINE
Definition cme.h:617
int const RASTER_PLOT_POTENTIAL_BEACH_EROSION
Definition cme.h:525
string const VECTOR_FLOOD_SWL_SETUP_SURGE_LINE_NAME
Definition cme.h:1069
double const CLIFF_COLLAPSE_HEIGHT_INCREMENT
Definition cme.h:732
string const VECTOR_RUN_UP_NAME
Definition cme.h:1083
int const NORTH_WEST
Definition cme.h:406
string const SIMULATING
Definition cme.h:789
int const NUM_DAYS_FOR_MEAN_HIGH_WATER_CALC
Definition cme.h:696
string const TIME_SERIES_BEACH_CHANGE_NET_NAME
Definition cme.h:1128
int const RTN_ERR_PROFILE_END_INSUFFICIENT_DEPTH
Definition cme.h:613
int const VECTOR_PLOT_DOWNDRIFT_ZONE_BOUNDARY
Definition cme.h:567
int const RTN_ERR_NO_ADJACENT_POLYGON
Definition cme.h:630
string const USAGE5
Definition cme.h:760
string const DISCLAIMER1
Definition cme.h:744
int const RASTER_PLOT_AVG_SUSPENDED_SEDIMENT
Definition cme.h:491
string const RASTER_AVG_WAVE_HEIGHT_NAME
Definition cme.h:850
int const SAVEMAX
Definition cme.h:368
int const LOG_FILE_HIGH_DETAIL
Definition cme.h:394
int const VECTOR_PLOT_COAST
Definition cme.h:562
int const VECTOR_PLOT_FLOOD_LINE
Definition cme.h:568
string const RASTER_SEDIMENT_TOP_ELEVATION_NAME
Definition cme.h:923
string const VECTOR_DEEP_WATER_WAVE_ANGLE_AND_HEIGHT_CODE
Definition cme.h:1060
int const NUMBER_OF_RNGS
Definition cme.h:367
int const RTN_ERR_PROFILE_SPACING
Definition cme.h:609
int const LF_HINTERLAND
Definition cme.h:435
double const D50_COARSE_DEFAULT
Definition cme.h:711
string const RASTER_PLOT_BEACH_PROTECTION_TITLE
Definition cme.h:984
int const RASTER_PLOT_TOTAL_POTENTIAL_PLATFORM_EROSION
Definition cme.h:551
int const RTN_ERR_TSFILE
Definition cme.h:597
int const RASTER_PLOT_SLOPE_FOR_CLIFF_TOE
Definition cme.h:538
string const RASTER_PLOT_POTENTIAL_PLATFORM_EROSION_MASK_TITLE
Definition cme.h:1012
string const READING_LANDFORM_FILE
Definition cme.h:769
string const VECTOR_FLOOD_LINE_NAME
Definition cme.h:1065
string const RASTER_WAVE_FLOOD_LINE_NAME
Definition cme.h:965
double const INVERSE_DEPTH_OVER_DB_INCREMENT
Definition cme.h:718
int const RTN_ERR_READING_CSHORE_FILE_OUTPUT
Definition cme.h:638
string const RUN_NOTICE
Definition cme.h:788
string const RASTER_BEACH_PROTECTION_CODE
Definition cme.h:859
string const RASTER_TOTAL_POTENTIAL_PLATFORM_EROSION_CODE
Definition cme.h:961
string const RASTER_POTENTIAL_PLATFORM_EROSION_NAME
Definition cme.h:913
double const CSHORE_SURGE_LEVEL
Definition cme.h:723
string const VECTOR_CLIFF_NOTCH_ACTIVE_NAME
Definition cme.h:1053
int const INTERVENTION_CLASS_RASTER
Definition cme.h:457
string const RASTER_ACTUAL_PLATFORM_EROSION_NAME
Definition cme.h:843
string const VECTOR_SHADOW_ZONE_BOUNDARY_CODE
Definition cme.h:1084
int const RTN_ERR_CLIFF_NOT_IN_POLYGON
Definition cme.h:652
int const VECTOR_PLOT_COAST_SWL_LOWEST
Definition cme.h:565
unsigned long const MASK
Definition cme.h:703
int const PROFILE_CHECK_DIST_FROM_COAST
Definition cme.h:693
int const TIME_MONTHS
Definition cme.h:425
string const VECTOR_PLOT_COAST_TITLE
Definition cme.h:1106
int const DEEP_WATER_WAVE_STATIONS_POINT_GEOMETRY
Definition cme.h:476
int const VEC_FIELD_DATA_OTHER
Definition cme.h:465
string const TIME_SERIES_CLIFF_COLLAPSE_EROSION_CODE
Definition cme.h:1135
string const RASTER_COARSE_UNCONS_NAME
Definition cme.h:879
string const PROGRAM_NAME
Definition cme.h:738
int const RASTER_PLOT_INTERVENTION_CLASS
Definition cme.h:516
int const RTN_ERR_VECTOR_FILE_READ
Definition cme.h:600
string const RASTER_BEACH_MASK_CODE
Definition cme.h:857
string const VECTOR_WAVE_ENERGY_SINCE_COLLAPSE_NAME
Definition cme.h:1092
int const RTN_ERR_NOSEACELLS
Definition cme.h:616
int const RTN_ERR_VECTOR_GIS_OUT_FORMAT
Definition cme.h:603
string const VECTOR_PLOT_WAVE_TRANSECT_POINTS_TITLE
Definition cme.h:1124
string const VECTOR_PLOT_FLOOD_SWL_SETUP_LINE_TITLE
Definition cme.h:1110
string const RASTER_AVG_WAVE_HEIGHT_CODE
Definition cme.h:849
double const MIN_LENGTH_OF_SHADOW_ZONE_LINE
Definition cme.h:730
int const VEC_GEOMETRY_POLYGON
Definition cme.h:470
int const VECTOR_PLOT_WAVE_ENERGY_SINCE_COLLAPSE
Definition cme.h:578
string const READING_INTERVENTION_HEIGHT_FILE
Definition cme.h:771
string const TIME_SERIES_FLOOD_SETUP_SURGE_NAME
Definition cme.h:1142
int const RTN_USER_ABORT
Definition cme.h:588
string const RASTER_SETUP_SURGE_FLOOD_MASK_CODE
Definition cme.h:924
string const TIME_SERIES_BEACH_EROSION_CODE
Definition cme.h:1131
int const RTN_ERR_NO_START_FINISH_POINTS_TRACING_COAST
Definition cme.h:655
string const WARN
Definition cme.h:806
int const RASTER_PLOT_BEACH_PROTECTION
Definition cme.h:497
int const RTN_ERR_TRACING_FLOOD
Definition cme.h:654
int const TEXTURE_FINE
Definition cme.h:417
int const RASTER_PLOT_AVG_SEA_DEPTH
Definition cme.h:490
int const VECTOR_PLOT_WAVE_ANGLE_AND_HEIGHT
Definition cme.h:577
string const RASTER_TOTAL_POTENTIAL_BEACH_EROSION_CODE
Definition cme.h:959
int const SMOOTH_SAVITZKY_GOLAY
Definition cme.h:677
int const VECTOR_PLOT_CLIFF_NOTCH_ACTIVE
Definition cme.h:561
double const STRAIGHT_COAST_MAX_SMOOTH_CURVATURE
Definition cme.h:729
int const COAST_LENGTH_MIN_X_PROF_SPACE
Definition cme.h:373
string const VECTOR_DEEP_WATER_WAVE_ANGLE_AND_HEIGHT_NAME
Definition cme.h:1061
string const PER_ITER_HEAD3
Definition cme.h:815
int const RTN_ERR_CMEDIR
Definition cme.h:591
int const SEDIMENT_INPUT_EVENT_LOCATION_LINE_GEOMETRY
Definition cme.h:481
string const RASTER_PLOT_SHADOW_ZONE_TITLE
Definition cme.h:1022
string const RASTER_AVG_SEA_DEPTH_CODE
Definition cme.h:845
int const LF_SEDIMENT_INPUT_UNCONSOLIDATED
Definition cme.h:445
int const RASTER_PLOT_TOTAL_BEACH_DEPOSITION
Definition cme.h:544
string const RASTER_SETUP_SURGE_FLOOD_MASK_NAME
Definition cme.h:925
string const RASTER_TOP_ELEVATION_INC_SEA_NAME
Definition cme.h:942
int const GRID_MARGIN
Definition cme.h:379
int const RTN_ERR_NO_PROFILES_2
Definition cme.h:615
int const CLIFF_COLLAPSE_LENGTH_INCREMENT
Definition cme.h:692
string const RASTER_INTERVENTION_CLASS_NAME
Definition cme.h:895
int const FLOOD_FILL_START_OFFSET
Definition cme.h:378
int const RASTER_PLOT_TOTAL_CLIFF_COLLAPSE_EROSION_FINE
Definition cme.h:548
string const RASTER_WAVE_ORIENTATION_NAME
Definition cme.h:969
int const RASTER_PLOT_TOTAL_CLIFF_COLLAPSE_EROSION_SAND
Definition cme.h:549
string const SEDIMENT_INPUT_EVENT_LOCATION_ID
Definition cme.h:834
int const SMOOTH_RUNNING_MEAN
Definition cme.h:676
int const RTN_ERR_PROFILE_ENDPOINT_IS_INLAND
Definition cme.h:611
int const LF_DRIFT_DUNES
Definition cme.h:441
string const RASTER_DEEP_WATER_WAVE_ORIENTATION_NAME
Definition cme.h:887
string const RASTER_SAND_UNCONS_CODE
Definition cme.h:916
int const RASTER_PLOT_CLIFF_TOE
Definition cme.h:507
string const RUN_END_NOTICE
Definition cme.h:792
string const RASTER_POTENTIAL_PLATFORM_EROSION_MASK_NAME
Definition cme.h:912
int const RASTER_PLOT_CLIFF_COLLAPSE_EROSION_FINE
Definition cme.h:501
string const TIME_SERIES_SWL_CODE
Definition cme.h:1151
int const LF_ISLAND
Definition cme.h:444
int const SOUTH
Definition cme.h:403
string const TIME_SERIES_PLATFORM_EROSION_NAME
Definition cme.h:1146
int const NO_DIRECTION
Definition cme.h:398
int const RTN_ERR_INI
Definition cme.h:590
int const VECTOR_PLOT_CLIFF_EDGE
Definition cme.h:560
string const RASTER_PLOT_AVG_SUSPENDED_SEDIMENT_TITLE
Definition cme.h:978
int const RTN_ERR_BAD_MULTILINE
Definition cme.h:631
double const CLIFF_NOTCH_CUTOFF_DISTANCE
Definition cme.h:735
string const READING_SED_INPUT_EVENT_FILE
Definition cme.h:781
int const RASTER_PLOT_ACTUAL_PLATFORM_EROSION
Definition cme.h:489
string const READING_FILE_LOCATIONS
Definition cme.h:765
int const VECTOR_PLOT_POLYGON_BOUNDARY
Definition cme.h:572
int const VEC_GEOMETRY_LINE
Definition cme.h:469
string const RASTER_PLOT_INTERVENTION_HEIGHT_TITLE
Definition cme.h:1004
int const VECTOR_PLOT_MEAN_WAVE_ENERGY
Definition cme.h:570
int const LOG_FILE_ALL
Definition cme.h:395
int const EAST
Definition cme.h:401
int const RASTER_PLOT_SED_TOP_INC_TALUS_ELEV
Definition cme.h:532
int const RTN_OK
Definition cme.h:585
int const RTN_ERR_COAST_TOO_SMALL
Definition cme.h:659
string const RASTER_WAVE_HEIGHT_NAME
Definition cme.h:967
string const VECTOR_PLOT_POLYGON_BOUNDARY_TITLE
Definition cme.h:1116
int const RTN_ERR_TEXT_FILE_WRITE
Definition cme.h:604
bool const SAVE_CSHORE_OUTPUT
Definition cme.h:363
string const RASTER_SETUP_SURGE_RUNUP_FLOOD_MASK_CODE
Definition cme.h:926
string const RASTER_PLOT_SEA_DEPTH_TITLE
Definition cme.h:1016
string const RASTER_PLOT_TOTAL_ACTUAL_PLATFORM_EROSION_TITLE
Definition cme.h:1030
string const RASTER_LANDFORM_CODE
Definition cme.h:900
int const RTN_ERR_VECTOR_FILE_WRITE
Definition cme.h:606
string const TIME_SERIES_CLIFF_COLLAPSE_NET_NAME
Definition cme.h:1138
int const LF_CLIFF_ON_COASTLINE
Definition cme.h:437
string const RASTER_TOTAL_ACTUAL_PLATFORM_EROSION_CODE
Definition cme.h:945
string const DISCLAIMER6
Definition cme.h:749
string const RASTER_PLOT_SEDIMENT_INPUT_EVENT_TITLE
Definition cme.h:1017
int const RASTER_PLOT_INTERVENTION_HEIGHT
Definition cme.h:517
int const RTN_ERR_READING_DEEP_WATER_WAVE_DATA
Definition cme.h:645
string const RASTER_ACTUAL_PLATFORM_EROSION_CODE
Definition cme.h:842
int const SAND_UNCONS_RASTER
Definition cme.h:453
string const VECTOR_BREAKING_WAVE_HEIGHT_CODE
Definition cme.h:1048
int const RASTER_PLOT_TOTAL_POTENTIAL_BEACH_EROSION
Definition cme.h:550
int const RTN_ERR_CELL_MARKED_PROFILE_COAST_BUT_NOT_PROFILE
Definition cme.h:653
string const TIME_SERIES_CLIFF_COLLAPSE_EROSION_NAME
Definition cme.h:1136
int const IO_INTERVENTION_NON_STRUCT
Definition cme.h:431
int const RTN_ERR_NO_PROFILES_1
Definition cme.h:614
int const NORTH_EAST
Definition cme.h:400
string const RASTER_TOTAL_POTENTIAL_BEACH_EROSION_NAME
Definition cme.h:960
unsigned long const SEDIMENT_INPUT_EVENT_ERROR
Definition cme.h:704
int const VEC_FIELD_DATA_REAL
Definition cme.h:463
int const TIME_YEARS
Definition cme.h:426
int const RTN_ERR_TIDEDATAFILE
Definition cme.h:594
int const RASTER_PLOT_SAND_UNCONSOLIDATED_SEDIMENT
Definition cme.h:529
string const RASTER_PLOT_TOP_ELEV_INC_SEA_TITLE
Definition cme.h:1028
string const RASTER_SLOPE_OF_CONSOLIDATED_SEDIMENT_CODE
Definition cme.h:935
string const RASTER_PLOT_FINE_UNCONSOLIDATED_SEDIMENT_TITLE
Definition cme.h:1002
string const RASTER_SAND_CONS_NAME
Definition cme.h:915
string const RASTER_PLOT_NORMAL_PROFILE_TITLE
Definition cme.h:1007
int const MIN_PROFILE_SIZE
Definition cme.h:386
string const RASTER_PLOT_DEEP_WATER_WAVE_PERIOD_TITLE
Definition cme.h:1000
int const VEC_GEOMETRY_POINT
Definition cme.h:468
int const TIME_DAYS
Definition cme.h:424
string const THANKS
Definition cme.h:752
int const RASTER_PLOT_POTENTIAL_PLATFORM_EROSION
Definition cme.h:526
int const MIN_PARALLEL_PROFILE_SIZE
Definition cme.h:385
string const RASTER_BASEMENT_ELEVATION_NAME
Definition cme.h:854
int const FINE_UNCONS_RASTER
Definition cme.h:452
string const RASTER_PLOT_INUNDATION_MASK_TITLE
Definition cme.h:1005
string const RASTER_SUSP_SED_CODE
Definition cme.h:937
int const RTN_ERR_CANNOT_INSERT_POINT
Definition cme.h:632
string const RASTER_PLOT_POTENTIAL_PLATFORM_EROSION_TITLE
Definition cme.h:1013
int const RTN_ERR_NO_VALID_COAST
Definition cme.h:656
string const RASTER_PLOT_TALUS_TITLE
Definition cme.h:1027
int const DIRECTION_UPCOAST
Definition cme.h:409
int const COARSE_UNCONS_RASTER
Definition cme.h:454
string const VECTOR_COAST_CURVATURE_CODE
Definition cme.h:1055
int const RASTER_PLOT_NORMAL_PROFILE
Definition cme.h:520
double const DBL_NODATA
Definition cme.h:736
int const RASTER_PLOT_CLIFF_NOTCH_ALL
Definition cme.h:506
int const RTN_ERR_CLIFF_NOTCH
Definition cme.h:621
double const D50_FINE_DEFAULT
Definition cme.h:709
string const TIME_SERIES_SEA_AREA_NAME
Definition cme.h:1148
int const RASTER_PLOT_CLIFF_COLLAPSE_DEPOSITION_COARSE
Definition cme.h:498
int const RASTER_PLOT_WAVE_HEIGHT
Definition cme.h:553
string const VECTOR_ALL_RIVER_FLOOD_OUTPUT_CODE
Definition cme.h:1045
string const VECTOR_COAST_CURVATURE_NAME
Definition cme.h:1056
int const RTN_ERR_UNKNOWN
Definition cme.h:667
int const RASTER_PLOT_SHADOW_ZONE
Definition cme.h:536
double const MAX_LAND_LENGTH_OF_SHADOW_ZONE_LINE
Definition cme.h:731
int const VECTOR_PLOT_AVG_WAVE_ANGLE_AND_HEIGHT
Definition cme.h:558
string strDblToStr(const T &t)
Definition cme.h:1201
int const RASTER_PLOT_DEEP_WATER_WAVE_HEIGHT
Definition cme.h:511
string const RASTER_PLOT_CLIFF_COLLAPSE_DEPOSITION_SAND_TITLE
Definition cme.h:986
double const DEAN_POWER
Definition cme.h:719
int const RTN_ERR_ZERO_LENGTH_COAST
Definition cme.h:658
string const INITIALIZING_FINAL
Definition cme.h:787
string const RASTER_COAST_NORMAL_NAME
Definition cme.h:883
string const CME_INI
Definition cme.h:740
string const PER_ITER_HEAD5
Definition cme.h:819
string const NOTE
Definition cme.h:807
string const READING_SUSPENDED_SEDIMENT_FILE
Definition cme.h:772
string const RASTER_CLIFF_COLLAPSE_DEPOSITION_SAND_CODE
Definition cme.h:863
string const RASTER_PLOT_CLIFF_TOE_TITLE
Definition cme.h:994
int const RTN_ERR_CANNOT_ASSIGN_COASTAL_LANDFORM
Definition cme.h:633
string const VECTOR_PLOT_DOWNDRIFT_ZONE_BOUNDARY_TITLE
Definition cme.h:1108
int const VECTOR_PLOT_DEEP_WATER_WAVE_ANGLE_AND_HEIGHT
Definition cme.h:566
string const READING_FLOOD_LOCATION
Definition cme.h:782
int const RTN_ERR_REPEATING_WHEN_TRACING_COAST
Definition cme.h:657
string const RASTER_PLOT_TOTAL_CLIFF_COLLAPSE_EROSION_COARSE_TITLE
Definition cme.h:1034
string const RASTER_SEA_DEPTH_CODE
Definition cme.h:918
string const RASTER_PLOT_SHADOW_DOWNDRIFT_ZONE_TITLE
Definition cme.h:1021
int const RTN_ERR_OUTFILE
Definition cme.h:596
string const VECTOR_INVALID_NORMALS_NAME
Definition cme.h:1073
string const ALLOCATE_MEMORY
Definition cme.h:785
string const RASTER_CLIFF_COLLAPSE_EROSION_COARSE_NAME
Definition cme.h:866
string const READING_RUN_DATA
Definition cme.h:766
string const TIME_SERIES_SUSPENDED_SEDIMENT_NAME
Definition cme.h:1150
int const RASTER_PLOT_COARSE_CONSOLIDATED_SEDIMENT
Definition cme.h:508
int const RTN_ERR_NO_SOLUTION_FOR_ENDPOINT
Definition cme.h:612
int const ELEV_IN_BASEMENT
Definition cme.h:670
string const RASTER_PLOT_TOTAL_CLIFF_COLLAPSE_DEPOSITION_SAND_TITLE
Definition cme.h:1033
string const RASTER_LANDFORM_NAME
Definition cme.h:901
int const RASTER_PLOT_TOTAL_ACTUAL_PLATFORM_EROSION
Definition cme.h:543
string const TIME_SERIES_CLIFF_COLLAPSE_DEPOSITION_NAME
Definition cme.h:1134
string const RASTER_FINE_CONS_CODE
Definition cme.h:890
int const SUSP_SED_RASTER
Definition cme.h:455
int const SEDIMENT_INPUT_EVENT_LOCATION_POINT_GEOMETRY
Definition cme.h:479
char const QUOTE2
Definition cme.h:355
int const LF_DRIFT_BEACH
Definition cme.h:440
string const LINE
Definition cme.h:743
string const RASTER_CLIFF_COLLAPSE_TIMESTEP_CODE
Definition cme.h:871
int const VECTOR_PLOT_WAVE_SETUP
Definition cme.h:579
string const PROGRAM_NAME_SHORT
Definition cme.h:739
string const VECTOR_POLYGON_BOUNDARY_CODE
Definition cme.h:1078
string const DISCLAIMER2
Definition cme.h:745
string const WAVE_ENERGY_FLUX
Definition cme.h:1155
string const RASTER_FINE_UNCONS_CODE
Definition cme.h:892
int const FINE_CONS_RASTER
Definition cme.h:449
int const COARSE_CONS_RASTER
Definition cme.h:451
int const RASTER_PLOT_SETUP_SURGE_RUNUP_FLOOD_MASK
Definition cme.h:534
int const COAST_LENGTH_MAX
Definition cme.h:372
int const RASTER_PLOT_BASEMENT_ELEVATION
Definition cme.h:494
double const BEACH_PROTECTION_HB_RATIO
Definition cme.h:713
int const CSHOREARRAYOUTSIZE
The size of the arrays output by CShore. If this is changed, then must also set the same value on lin...
Definition cme.h:376
string const VECTOR_PLOT_WAVE_ENERGY_SINCE_COLLAPSE_TITLE
Definition cme.h:1122
int const VECTOR_PLOT_WAVE_TRANSECT_POINTS
Definition cme.h:580
string const VECTOR_DOWNDRIFT_ZONE_BOUNDARY_CODE
Definition cme.h:1062
string const RASTER_SEDIMENT_TOP_CODE
Definition cme.h:922
string const VECTOR_PLOT_CLIFF_NOTCH_ACTIVE_TITLE
Definition cme.h:1102
double const SED_ELEV_TOLERANCE
Definition cme.h:726
int const RASTER_PLOT_LANDFORM
Definition cme.h:519
int const RTN_ERR_TIME_UNITS
Definition cme.h:620
int const GRID_EDGE_OPEN
Definition cme.h:681
string const EROSION_POTENTIAL_LOOKUP_FILE
Definition cme.h:800
int const BUF_SIZE
Definition cme.h:369
int const RTN_ERR_CELL_NOT_FOUND_IN_HIT_PROFILE_DIFFERENT_COASTS
Definition cme.h:662
double const WALKDEN_HALL_PARAM_1
Definition cme.h:714
string const VECTOR_WAVE_ANGLE_AND_HEIGHT_CODE
Definition cme.h:1089
int const VEC_GEOMETRY_OTHER
Definition cme.h:471
string const RASTER_PLOT_SUSPENDED_SEDIMENT_TITLE
Definition cme.h:1026
string const SEND_EMAIL
Definition cme.h:791
int const RIGHT_HANDED
Definition cme.h:413
string const VECTOR_PLOT_STORM_SURGE_TITLE
Definition cme.h:1120
string const RASTER_PLOT_CLIFF_COLLAPSE_EROSION_FINE_TITLE
Definition cme.h:988
int const RTN_ERR_CLIFF_TALUS_TO_UNCONS
Definition cme.h:666
int const RTN_ERR_BAD_INDEX
Definition cme.h:623
string const RASTER_TOTAL_ACTUAL_PLATFORM_EROSION_NAME
Definition cme.h:946
string const RASTER_TOP_ELEVATION_INC_SEA_CODE
Definition cme.h:941
int const UNCONS_SEDIMENT_EQUATION_CERC
Definition cme.h:689
string const RASTER_POLYGON_NAME
Definition cme.h:905
string const RASTER_POLYGON_GAIN_OR_LOSS_CODE
Definition cme.h:903
int const DEEP_WATER_WAVE_STATIONS_MAX_LAYER
Definition cme.h:475
int const RASTER_PLOT_CLIFF_COLLAPSE_EROSION_COARSE
Definition cme.h:500
int const FLOOD_LOCATION_MAX_LAYER
Definition cme.h:483
char const TILDE
Definition cme.h:358
string const RASTER_PLOT_TOTAL_CLIFF_COLLAPSE_DEPOSITION_COARSE_TITLE
Definition cme.h:1032
string const VECTOR_WAVE_TRANSECT_POINTS_CODE
Definition cme.h:1095
T tAbs(T a)
Definition cme.h:1187
string const RASTER_TOTAL_CLIFF_COLLAPSE_EROSION_SAND_CODE
Definition cme.h:957
int const RTN_ERR_SEDIMENT_INPUT_EVENT
Definition cme.h:648
string const RASTER_TOTAL_CLIFF_COLLAPSE_EROSION_FINE_NAME
Definition cme.h:956
int const RTN_ERR_CSHORE_EMPTY_PROFILE
Definition cme.h:636
string const VECTOR_POLYGON_NODE_NAME
Definition cme.h:1081
string const VECTOR_AVG_WAVE_ANGLE_AND_HEIGHT_CODE
Definition cme.h:1046
string const TIME_SERIES_BEACH_CHANGE_NET_CODE
Definition cme.h:1127
int const VEC_FIELD_DATA_STRING
Definition cme.h:464
string const RASTER_INTERVENTION_HEIGHT_CODE
Definition cme.h:896
string const WAVE_HEIGHT_X_FILENAME
Definition cme.h:1156
string const VECTOR_FLOOD_LINE_CODE
Definition cme.h:1064
string const TIME_SERIES_BEACH_DEPOSITION_CODE
Definition cme.h:1129
int const RTN_ERR_NO_SEAWARD_END_OF_PROFILE_BEACH_EROSION
Definition cme.h:625
string const READING_UNCONS_FINE_SEDIMENT_FILE
Definition cme.h:773
string const VECTOR_PLOT_COAST_SWL_LOWEST_TITLE
Definition cme.h:1105
int const LANDFORM_RASTER
Definition cme.h:456
string const VECTOR_FLOOD_SWL_SETUP_LINE_CODE
Definition cme.h:1066
int const RASTER_PLOT_SHADOW_DOWNDRIFT_ZONE
Definition cme.h:535
string const PER_ITER_HEAD1
Definition cme.h:811
string const RASTER_PLOT_SAND_UNCONSOLIDATED_SEDIMENT_TITLE
Definition cme.h:1015
string const RASTER_TALUS_NAME
Definition cme.h:940
string const VECTOR_NORMALS_NAME
Definition cme.h:1077
string const VECTOR_WAVE_SETUP_NAME
Definition cme.h:1094
int const TEXTURE_SAND
Definition cme.h:418
string const START_NOTICE
Definition cme.h:763
string const VECTOR_COAST_SWL_LOWEST_NAME
Definition cme.h:1059
string const VECTOR_WAVE_SETUP_CODE
Definition cme.h:1093
string const ADD_LAYERS
Definition cme.h:786
string const RASTER_POLYGON_CODE
Definition cme.h:902
string const RASTER_ACTUAL_BEACH_EROSION_CODE
Definition cme.h:840
int const RASTER_PLOT_SLICE
Definition cme.h:537
string const RASTER_TOTAL_POTENTIAL_PLATFORM_EROSION_NAME
Definition cme.h:962
string const RASTER_AVG_SUSP_SED_NAME
Definition cme.h:848
string const RASTER_DEEP_WATER_WAVE_HEIGHT_NAME
Definition cme.h:885
string const RASTER_INUNDATION_MASK_CODE
Definition cme.h:898
int const RUNUP_EQUATION_STOCKDON
Definition cme.h:701
string const VECTOR_COAST_CODE
Definition cme.h:1054
char const COLON
Definition cme.h:350
string const VECTOR_COAST_SWL_HIGHEST_NAME
Definition cme.h:1058
string const RASTER_TOTAL_CLIFF_COLLAPSE_EROSION_FINE_CODE
Definition cme.h:955
int const INTERVENTION_HEIGHT_RASTER
Definition cme.h:458
string const RASTER_PLOT_ACTIVE_ZONE_TITLE
Definition cme.h:974
string const VECTOR_PLOT_WAVE_ANGLE_AND_HEIGHT_TITLE
Definition cme.h:1121
string const VECTOR_PLOT_FLOOD_SWL_SETUP_SURGE_LINE_TITLE
Definition cme.h:1111
string const RASTER_AVG_WAVE_ORIENTATION_CODE
Definition cme.h:851
string const RASTER_TOTAL_CLIFF_COLLAPSE_EROSION_COARSE_NAME
Definition cme.h:954
string const SCAPE_SHAPE_FUNCTION_FILE
Definition cme.h:799
string const RASTER_PLOT_CONS_SED_SLOPE_TITLE
Definition cme.h:1025
string const TIME_SERIES_SEA_AREA_CODE
Definition cme.h:1147
string const RASTER_POLYGON_GAIN_OR_LOSS_NAME
Definition cme.h:904
int const RASTER_PLOT_TOTAL_CLIFF_COLLAPSE_DEPOSITION_COARSE
Definition cme.h:545
string const RASTER_PLOT_TOTAL_ACTUAL_BEACH_EROSION_TITLE
Definition cme.h:1029
int const RTN_ERR_NO_SEAWARD_END_OF_PROFILE_UPCOAST_BEACH_DEPOSITION
Definition cme.h:626
int const RTN_ERR_LINETOGRID
Definition cme.h:608
string const RASTER_DEEP_WATER_WAVE_PERIOD_CODE
Definition cme.h:888
string const RASTER_TOTAL_ACTUAL_BEACH_EROSION_NAME
Definition cme.h:944
string const RASTER_TALUS_CODE
Definition cme.h:939
string const GDAL_DRIVERS
Definition cme.h:753
string const VECTOR_PLOT_COAST_SWL_HIGHEST_TITLE
Definition cme.h:1104
int const RASTER_PLOT_CLIFF_COLLAPSE_EROSION_SAND
Definition cme.h:502
char const DASH
Definition cme.h:352
string const RASTER_TOTAL_CLIFF_COLLAPSE_DEPOSITION_COARSE_CODE
Definition cme.h:949
string const RASTER_PLOT_SLICE_TITLE
Definition cme.h:1023
int const RASTER_PLOT_SEA_DEPTH
Definition cme.h:530
string const ERROR_NOTICE
Definition cme.h:795
string const MASS_BALANCE_ERROR
Definition cme.h:809
int const RTN_ERR_CLIFF_CANNOT_DEPOSIT_ALL
Definition cme.h:622
int const NORTH
Definition cme.h:399
string const RASTER_CLIFF_COLLAPSE_DEPOSITION_COARSE_NAME
Definition cme.h:862
string const RASTER_PLOT_COARSE_CONSOLIDATED_SEDIMENT_TITLE
Definition cme.h:995
int const RTN_ERR_NO_CELL_UNDER_COASTLINE
Definition cme.h:643
string const VECTOR_DOWNDRIFT_ZONE_BOUNDARY_NAME
Definition cme.h:1063
string const CSHORE_INFILE
Definition cme.h:803
string const VECTOR_PLOT_DEEP_WATER_WAVE_ANGLE_AND_HEIGHT_TITLE
Definition cme.h:1107
string const VECTOR_MEAN_WAVE_ENERGY_NAME
Definition cme.h:1075
int const RASTER_PLOT_SETUP_SURGE_FLOOD_MASK
Definition cme.h:533
int const LEFT_HANDED
Definition cme.h:414
int const RTN_ERR_TIMESERIES_FILE_WRITE
Definition cme.h:607
int const WEST
Definition cme.h:405
char const SPACE
Definition cme.h:357
double dRound(double const d)
Correctly rounds doubles.
bool bIsStringValidInt(string &str)
Checks to see if a string can be read as a valid integer, from https://stackoverflow....
int nRound(double const d)
Correctly rounds doubles, returns an int.
string strLeft(const string &strIn, int const nWidth)
Left-aligns string within a field of given width, pads with blank spaces to enforce alignment....
string strDblRight(double const dX, int const nDigits, int const nWidth, bool const bShowDash)
Converts double to string with specified number of decimal places, within a field of given width,...
string strRightPerCent(double const d1, double const d2, int const nWidth, int const nDigits, bool const bShowDash)
Calculates a percentage from two numbers then, if the result is non-zero, right-aligns the result as ...
string strCentre(const char *pchIn, int const nWidth)
Centre-aligns char array within a field of given width, pads with blank spaces to enforce alignment....
ostream & operator<<(ostream &ostr, const FillToWidth &args)
Operator that inserts a given fill character, to a given width, into an output stream....
string strRight(const string &strIn, int const nWidth)
Right-aligns string within a field of given width, pads with blank spaces to enforce alignment....
bool bIsStringValidDouble(string &str)
Checks to see if a string can be read as a valid double number. Does not find trailing (i....
string strIntRight(int const nX, int const nWidth)
Converts int to string within a field of given width, pads with blank spaces to enforce alignment....