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