Model:CEM: Difference between revisions
m (added IRF compatible symbol) |
No edit summary |
||
(65 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{Model identity | ||
| | |Model type=Single | ||
}} | }} | ||
{{Start models incorporated}} | |||
{{End a table}} | |||
{{Model identity2 | |||
|ModelDomain=Coastal | |||
|Spatial dimensions=1D | |||
|Spatialscale=Landscape-Scale | |||
|One-line model description=Coastline evolution model | |||
|Extended model description=The Coastline Evolution Model (CEM) addresses predominately sandy, wave-dominated coastlines on time-scales ranging from years to millenia and on spatial scales ranging from kilometers to hundreds of kilometers. Shoreline evolution results from gradients in wave-driven alongshore sediment transport. At its most basic level, the model follows the standard 'one-line' modeling approach, where the cross-shore dimension is collapsed into a single data point. However, the model allows the plan-view shoreline to take on arbitrary local orientations, and even fold back upon itself, as complex shapes such as capes and spits form under some wave climates (distributions of wave influences from different approach angles). The model can also represent the geology underlying the sandy coastline and shoreface in a simplified manner and enables the simulation of coastline evolution when sediment supply from an eroding shoreface may be constrained. CEM also supports the simulation of human manipulations to coastline evolution through beach nourishment or hard structures. | |||
}} | |||
{{Start model keyword table}} | |||
{{Model keywords | |||
|Model keywords=coastal evolution | |||
}} | |||
{{End a table}} | |||
{{Modeler information | |||
|First name=A. Brad | |||
|Last name=Murray | |||
|Type of contact=Project manager | |||
|Institute / Organization=Duke University | |||
|Postal address 1=Box 90230 | |||
|Town / City=Durham | |||
|Postal code=27708-0230 | |||
|Country=United States | |||
|State=North Carolina | |||
|Email address=abmurray@duke.edu | |||
|Phone=919 681-5069 | |||
|Fax=919 684-5833 | |||
}} | |||
{{Additional modeler information | |||
|Additional first name=Andrew | |||
|Additional last name=Ashton | |||
|Additional type of contact=Model developer | |||
|Additional institute / Organization=WHOI | |||
|Additional postal address 1=260 Woods Hole Rd MS 22 | |||
|Additional town / City=Woods Hole | |||
|Additional postal code=02543 | |||
|Additional country=United States | |||
|Additional state=Massachusetts | |||
|Additional email address=aashton@whoi.edu | |||
}} | |||
{{Model technical information | |||
|Supported platforms=Unix, Linux, Mac OS | |||
|Programming language=C | |||
|Code optimized=Single Processor | |||
|Start year development=2000 | |||
|Does model development still take place?=Yes | |||
|DevelopmentCode=Active | |||
|DevelopmentCodeYearChecked=2020 | |||
|Model availability=As code | |||
|Source code availability=Through CSDMS repository | |||
|Source csdms web address=https://github.com/csdms-contrib/cem | |||
|Program license type=BSD or MIT X11 | |||
|Memory requirements=20 Mb | |||
|Typical run time=days | |||
}} | |||
{{Input - Output description | |||
|Describe input parameters=The input parameters to a model run consist of an initial shoreline, a wave file, and a set of configuration parameters. The initial shoreline is stored within a custom binary formatted-file. Since CEM has been used for abstract simulations of coastline evolution, the initial model condition consists either of a mostly-smooth shoreline with initial perturbations to the shoreline position (generated by a tool provided with the model), or using a shoreline that resulted from a previous model run. The wave file consists of a set of wave approach angles and wave heights that are used during the model run. This wave file is also generated by a tool provided with the model, and takes as input the statistical distribution of wave-approach angles. Finally, basic model parameters (e.g. number of time steps to simulate, etc.) are specified within an XML-formatted text file. An example is provided with the model. | |||
|Input format=Binary | |||
|Other input format=XML | |||
|Describe output parameters=The output of the model consists of snapshots of the coastline during its evolution. The model can be configured to write the resulting coastline at any point during the simulation. The output format of the coastline file is a custom binary formatted-file (the same format as the initial model input). Also, for convenience using with other software tools such as MATLAB, an ASCII-based file of the coastline shape can be written too. The model can also directly generate JPEG-formatted pictures of the coastline shape at any time during the simulation. | |||
|Output format=ASCII, Binary | |||
|Other output format=JPEG | |||
|Pre-processing software needed?=No | |||
|Post-processing software needed?=Yes | |||
|Describe post-processing software=Post-processing software is sometimes necessary: In some instances (if not just using the JPEGs generated by the model code), some post-processing of the results is desired, e.g. to compare the position of the shoreline between two different times. The model code comes with simple tools to perform simple post-processing. The model also outputs the shoreline in an ASCII format and further post-processing may be achieved using tools such as MATLAB. | |||
|Visualization software needed?=Yes | |||
|If above answer is yes=Matlab | |||
|Other visualization software=Note: if using the JPEGs automatically generated, the answer to the visualization question is 'no.' | |||
}} | |||
{{Process description model | |||
|Describe processes represented by the model=A continuity equation, representing the conservation of sediment in the nearshore zone, relates gradients in alongshore sediment flux to horizontal shoreline changes, given a depth over which erosion or accretion are distributed—the depth of the shoreface. This treatment embodies the assumption that cross-shore sediment fluxes across base of the shoreface are small compared to gradients in alongshore flux. However, cross-shore sediment fluxes landward of the shoreline, associated with overwash, are treated, allowing barriers to migrate and maintain elevation relative to a rising sea level. See Ashton and Murray (2006a) for a full treatment of these model dynamics. | |||
The material underlying the shoreline and shoreface converted to mobile sediment as it is exposed by shoreline erosion. The lithology is parameterized by two quantities that can vary across the model domain: the maximum weathering rate (which occurs when the shoreface is bare of sediment) and the composition of the resulting sediment (percentage coarse enough to stay in the nearshore system. See Valvo et al. (2006) for a full explanation of how underlying geology is treated. | |||
== | Where beach nourishment is deemed by the user to be occurring, if the gradients in sediment flux would cause the shoreline to erode landward of a pre-determined location, sediment is added at the rate required to prevent such shoreline change. Hard structures are treated as if the lithology has a maximum weathering rate of 0. | ||
|Describe key physical parameters and equations=The evolution of the coastline is governed by a continuity equation; the rate of horizontal shoreline change in the local cross-shore direction is proportional to the divergence of alongshore sediment flux. Alongshore sediment transport is computed via the common CERC formula, which relates alongshore sediment flux to breaking-wave approach angle and breaking wave height. Breaking-wave characteristics in each shoreline location are calculated by starting with the deep-water height and propagation direction (obtained for each time slice from the input wave file), and refracting and shoaling the waves over assumed shore-parallel contours until breaking occurs. The CERC equation also involves an empirical constant K, which can be configured by the model user. Other equations for sediment flux can easily be substituted. See Ashton and Murray (2006a) for details. | |||
===Introduction | |Describe length scale and resolution constraints=Kilometers to hundreds of kilometers. Numerically, the model can be discretized with much smaller spatial resolution. However, the assumptions of approximately shore-parallel shoreface contours becomes unreasonable at scales smaller than kilometers. | ||
|Describe time scale and resolution constraints=Years to millenia. Typically, the model is run with timesteps on the order of a day. However, the assumptions that the shoreface progrades or erodes while maintaining its cross-shore shape prevents model results from being interpreted as meaningful over time scales shorter than years to decades. (Storm and post storm cross-shore shifting of sediment within the shoreface causes shoreline fluctuations on event timescales that are implicitly averaged out in this model.) | |||
|Describe any numerical limitations and issues=The model handles complex-shaped coastlines, such as cuspate-capes and spits. However, where the shoreline curvature becomes extreme (radius of curvature comparable to the cross-shore shoreface extent), as at the ends of spits, the assumptions of a locally rectilinear coordinate system break down, and sediment is conserved less rigorously locally. See Ashton and Murray (2006a) for details. | |||
}} | |||
{{Model testing | |||
|Describe available calibration data sets=In one application, the rate of change in the model has been calibrated to a state data set averaging shoreline change over 50 years (from the North Carolina Department of Transportation; see Slott et al., 2007). Numerous other shoreline change data sets are available, based on surveys of various sorts, aerial photography, and recently LIDAR (e.g. Lazarus and Murray, 2007). | |||
|Describe available test data sets=See answer above; many shoreline data sets exist. Comparing model results to detailed records of coastline change will become more appropriate as the model is used to investigate shoreline change in more detail in a particular location and time period. | |||
However, to date the model has been used chiefly for relatively abstract explorations of how coastline evolution works: how emergent coastline structures such as capes, spits, and alongshore sand waves form and interact; how heterogeneity in underlying geology affects coastline evolution; how scenarios of changing storm and wave climates would affect coastline change; and how human manipulations alter large-scale coastline change). Ashton and Murray (2006b) compared robust model predictions concerning the way local wave climates vary along a coastline with emergent structures (capes and flying spits) to hindcast wave climates along actual shorelines. As opposed to testing whether model parameters can be adjusted to reproduce observations in detail, testing a robust prediction like this, which does not depend on the formal details of the model ingredients, can falsify the hypothesis that the interactions in the model capture the basic aspects of the interactions that are important in the actual system (see Murray, 2003; 2007). | |||
|Describe ideal data for testing=See answer above and Ashton and Murray (2006a, b). Data sets spanning large spatial scales are most appropriate, and if model behaviors are going to be compared to shoreline change, long temporal scales are best (see ‘limitations’ above). | |||
}} | |||
{{Users groups model | |||
|Do you have current or future plans for collaborating with other researchers?=Collaborations are underway within Duke University (an interdisciplinary project involving human shoreline manipulations) and Woods Hole Oceanographic Institution (where the model is being used to explore delta dynamics). Various collaborations involving researchers in the US and abroad are in various stages. | |||
}} | |||
{{Documentation model | |||
|Manual model available=No | |||
}} | |||
{{Additional comments model | |||
|Comments=This entry, with the name 'Coastline Evolution Model' should replace the 'Murray model' currently listed. Thanks Albert! | |||
}} | |||
{{CSDMS staff part | |||
|OpenMI compliant=No but planned | |||
|IRF interface=Yes | |||
|CMT component=Yes | |||
|PyMT component=Yes | |||
|CCA component=Yes | |||
}} | |||
{{DOI information | |||
|DOI model=10.1594/IEDA/100100 | |||
|DOI assigned to model version=0.1.1 | |||
|DOI-year assigned to model version=2011 | |||
|DOI-filelink=https://csdms.colorado.edu/pub/models/doi-source-code/cem-10.1594.IEDA.100100-0.1.tar.gz | |||
}} | |||
{{Start coupled table}} | |||
{{CSDMS coupled models | |||
|Animation model name=Avulsion | |||
}} | |||
{{End a table}} | |||
{{End headertab}} | |||
{{{{PAGENAME}}_autokeywords}} | |||
<!-- PLEASE USE THE "EDIT WITH FORM" BUTTON TO EDIT ABOVE CONTENTS; CONTINUE TO EDIT BELOW THIS LINE --> | |||
==Introduction== | |||
'''NOTE: This page is still under development. Some information may be incorrect. When we believe everything is correct, we'll remove this message.''' | '''NOTE: This page is still under development. Some information may be incorrect. When we believe everything is correct, we'll remove this message.''' | ||
==Coastline Evolution Model: Introduction== | |||
This site hosts the source code for the Coastline Evolution Model (CEM) from Duke University. To find out more technical details of this model, please | This site hosts the source code for the Coastline Evolution Model (CEM) from Duke University. To find out more technical details of this model, please see above. This purpose of the instructions on this page are to explain how to download, compile, and use the model. | ||
Please keep in mind this is an open-source project, not shrink-wrapped software. So it may require a bit of effort to get running on your own system. The source code is very-well documented however, and we'd encourage you to extend it for your own purposes. | Please keep in mind this is an open-source project, not shrink-wrapped software. So it may require a bit of effort to get running on your own system. The source code is very-well documented however, and we'd encourage you to extend it for your own purposes. | ||
Line 23: | Line 134: | ||
The source code is licensed under the Berkeley Standard Distribution (BSD) license. | The source code is licensed under the Berkeley Standard Distribution (BSD) license. | ||
==Supported Systems & Requirements== | |||
Currently, the source code has only been run on Linux CentOS (which is a variation of RedHat Linux). It has also been successfully used on Mac OSX and Solaris, but the Makefiles will need slight tweaks on those systems. We'd appreciate any help getting the model to run on systems other than Linux! | Currently, the source code has only been run on Linux CentOS (which is a variation of RedHat Linux). It has also been successfully used on Mac OSX and Solaris, but the Makefiles will need slight tweaks on those systems. We'd appreciate any help getting the model to run on systems other than Linux! | ||
Line 36: | Line 147: | ||
You may need to tweak the Makefile to compile if you have these two libraries installed in a non-standard location; contact us for help. | You may need to tweak the Makefile to compile if you have these two libraries installed in a non-standard location; contact us for help. | ||
==Compiling the Source Code== | |||
Once you have downloaded the source code, you can compile it using the UNIX/Linux 'make' utility (which should come standard with your Operating System). It is probably worthwhile to edit the Makefile in the cem/ and cem/tools/ directories to set the options you want. There are further instructions there. | Once you have downloaded the source code, you can compile it using the UNIX/Linux 'make' utility (which should come standard with your Operating System). It is probably worthwhile to edit the Makefile in the cem/ and cem/tools/ directories to set the options you want. There are further instructions there. | ||
Line 79: | Line 153: | ||
To compile from the cem/ directory, simply enter the 'make' command. It compiles the model into an executable named 'cem'. It also compiles the tools/ subdirectory. | To compile from the cem/ directory, simply enter the 'make' command. It compiles the model into an executable named 'cem'. It also compiles the tools/ subdirectory. | ||
==Running the CEM Model== | |||
The CEM model is a command-line driven program. It has no GUI (Graphical User Interface). It takes several inputs: | The CEM model is a command-line driven program. It has no GUI (Graphical User Interface). It takes several inputs: | ||
Line 98: | Line 172: | ||
Note that the 'cem' executable must be in your path, and <path to config file> is the directory in which the XML configuration file is located. | Note that the 'cem' executable must be in your path, and <path to config file> is the directory in which the XML configuration file is located. | ||
==The XML-based Configuration File== | |||
A text-based XML-formatted file sets configuration options for CEM. You can find an example in the xml/ subdirectory. Please use that example config.xml for your own purposes. The configuration options are relatively straight forward with brief explanations below. | A text-based XML-formatted file sets configuration options for CEM. You can find an example in the xml/ subdirectory. Please use that example config.xml for your own purposes. The configuration options are relatively straight forward with brief explanations below. | ||
Line 117: | Line 191: | ||
# '''ast_rate''': To scale the rate of alongshore sediment transport constant. | # '''ast_rate''': To scale the rate of alongshore sediment transport constant. | ||
==Creating an Initial Shoreline (SPX) File== | |||
There is a utility program in the tools/ directory, called 'spxcreate' to create an initial shoreline. This utility creates model shorelines that are initially straight or have small initial perturbations. The utility works off a set number of predefined shorelines; you have the ability to override any individual attribute of the initial shoreline. | There is a utility program in the tools/ directory, called 'spxcreate' to create an initial shoreline. This utility creates model shorelines that are initially straight or have small initial perturbations. The utility works off a set number of predefined shorelines; you have the ability to override any individual attribute of the initial shoreline. | ||
Line 131: | Line 205: | ||
Please see the source code (tools/spxcreate.c) for more documentation. Typically, cells in the shoreline have widths of either 100 m or 1000 m. | Please see the source code (tools/spxcreate.c) for more documentation. Typically, cells in the shoreline have widths of either 100 m or 1000 m. | ||
==Creating a Wave Forcings (WVX) File== | |||
There is a utility program in the tools/ directory, called 'wvxcreate' to create an initial shoreline. This utility creates waves according to two parameters: the proportion of waves approaching from high angles and the proportion of the waves approach from the left (looking off-shore). | There is a utility program in the tools/ directory, called 'wvxcreate' to create an initial shoreline. This utility creates waves according to two parameters: the proportion of waves approaching from high angles and the proportion of the waves approach from the left (looking off-shore). | ||
Line 143: | Line 217: | ||
Note that you must generate enough waves for your simulation. The number of waves is simply the number of timesteps of your simulation divided by the number of timesteps per wave as set in your config.xml file. | Note that you must generate enough waves for your simulation. The number of waves is simply the number of timesteps of your simulation divided by the number of timesteps per wave as set in your config.xml file. | ||
==Processing the Output== | |||
The CEM model lets you generate both shoreline (SPX) files and picture (JPEG) files at any point during the simulation. If you wish to generate a text file of the positions of the beach (the dividing line between the ocean and land), you may use the 'spxposition' utility located in the tools/ directory. You can then import this text file into other programs (e.g. MATLAB). The usages of the 'spxposition' utility is simple: | The CEM model lets you generate both shoreline (SPX) files and picture (JPEG) files at any point during the simulation. If you wish to generate a text file of the positions of the beach (the dividing line between the ocean and land), you may use the 'spxposition' utility located in the tools/ directory. You can then import this text file into other programs (e.g. MATLAB). The usages of the 'spxposition' utility is simple: | ||
Line 149: | Line 223: | ||
% spxposition <spx file> | % spxposition <spx file> | ||
== | == References == | ||
<br>{{AddReferenceUploadButtons}}<br><br> | |||
{{#ifexist:Template:{{PAGENAME}}-citation-indices|{{{{PAGENAME}}-citation-indices}}|}}<br> | |||
{{Include_featured_references_models_cargo}}<br> | |||
{ | |||
{ | |||
|- | |||
|} | |||
{ | |||
{ | |||
== | == Issues == | ||
== | == Help == | ||
{{#ifexist:Model_help:{{PAGENAME}}|[[Model_help:{{PAGENAME}}]]|}} | |||
== Input Files == | |||
== Output Files == |
Latest revision as of 08:44, 17 May 2022
CEM
Metadata
|
|
Introduction
NOTE: This page is still under development. Some information may be incorrect. When we believe everything is correct, we'll remove this message.
Coastline Evolution Model: Introduction
This site hosts the source code for the Coastline Evolution Model (CEM) from Duke University. To find out more technical details of this model, please see above. This purpose of the instructions on this page are to explain how to download, compile, and use the model.
Please keep in mind this is an open-source project, not shrink-wrapped software. So it may require a bit of effort to get running on your own system. The source code is very-well documented however, and we'd encourage you to extend it for your own purposes.
The source code is licensed under the Berkeley Standard Distribution (BSD) license.
Supported Systems & Requirements
Currently, the source code has only been run on Linux CentOS (which is a variation of RedHat Linux). It has also been successfully used on Mac OSX and Solaris, but the Makefiles will need slight tweaks on those systems. We'd appreciate any help getting the model to run on systems other than Linux!
The model code is written in C and requires the GNU Compiler Collection (GCC), preferably under version 4.0.2 or greater. It has also been run under GCC v2.9.6. Please do not use the GCC v3.x.x compiler series; we have run into issues with them.
The model code requires two libraries to be installed on your system:
- libxml2: Normally this comes standard with Linux
- libjpeg: You may need to download this from http://www.ijg.org/
You may need to tweak the Makefile to compile if you have these two libraries installed in a non-standard location; contact us for help.
Compiling the Source Code
Once you have downloaded the source code, you can compile it using the UNIX/Linux 'make' utility (which should come standard with your Operating System). It is probably worthwhile to edit the Makefile in the cem/ and cem/tools/ directories to set the options you want. There are further instructions there.
To compile from the cem/ directory, simply enter the 'make' command. It compiles the model into an executable named 'cem'. It also compiles the tools/ subdirectory.
Running the CEM Model
The CEM model is a command-line driven program. It has no GUI (Graphical User Interface). It takes several inputs:
- An XML-based configuration file
- An initial shoreline, in a custom binary (SPX) format
- A set of wave forcings, in a custom binary (WVX) format
It generates several outputs:
- A set of model shorelines during the simulation and at the end of the simulation in either SPX or JPEG (picture) format
- A debug file
Once you have generated the configuration file, the initial shoreline, and the set of wave forcings (described below), you can run the model on the command-line as follows:
% cem --config=<path to config file>/config.xml
Note that the 'cem' executable must be in your path, and <path to config file> is the directory in which the XML configuration file is located.
The XML-based Configuration File
A text-based XML-formatted file sets configuration options for CEM. You can find an example in the xml/ subdirectory. Please use that example config.xml for your own purposes. The configuration options are relatively straight forward with brief explanations below.
- paths:output: The directory in which all output from the model will be stored
- input:initial_profile: The location of your initial shoreline (SPX) file
- input:waves: The location of your wave forcings (WVX) file
- output:debug_file: The name of the file to write debug information to
- output:final_spx: The name of the final shoreline (SPX) when the simulation is done
- output:final_jpg: The name of the final shoreline as a JPEG image
- output:jpeg: Output the model shoreline as a JPEG image at intervals during the simulation. Each JPEG file will named according to a file prefix, and a 'frame' number, where you can specify the initial frame number, the number of digits to print in the frame number, and the timestep interval of when to output a new JPEG
- output:spx: Output the model shoreline (SPX) at intervals during the simulation
- simulation:number_threads: Parallelize the computation of key algorithms in the model. Typical values are 2, 4, 8.
- simulation:timesteps: The number of timesteps to conduct the simulation
- simulation:timesteps_per_wave: The number of timesteps to use the same wave before selecting a new wave from the wave forcings file
- simulation:days_per_timestep: The number of simulated days per model timestep, typically either 0.1 or 1.
- boundary_conditions: Typically "periodic".
- ast_rate: To scale the rate of alongshore sediment transport constant.
Creating an Initial Shoreline (SPX) File
There is a utility program in the tools/ directory, called 'spxcreate' to create an initial shoreline. This utility creates model shorelines that are initially straight or have small initial perturbations. The utility works off a set number of predefined shorelines; you have the ability to override any individual attribute of the initial shoreline.
For example,
% spxcreate "Rough Beach 100m"
will create an initially straight shoreline with small perturbations that is 150 cells alongshore, 100 cells cross-shore, where each cell is 100 m on each side. If you want to make an initial shoreline with an alongshore length of 300 cells instead, you can do something like
% spxcreate "Rough Beach 100m" ALONG=300
Please see the source code (tools/spxcreate.c) for more documentation. Typically, cells in the shoreline have widths of either 100 m or 1000 m.
Creating a Wave Forcings (WVX) File
There is a utility program in the tools/ directory, called 'wvxcreate' to create an initial shoreline. This utility creates waves according to two parameters: the proportion of waves approaching from high angles and the proportion of the waves approach from the left (looking off-shore).
For example,
% wvxcreate -n 5000 -d 0.60 -h 0.55 -w 1.7 -f waves.wvx
will create a file named 'waves.wvx' that contains 5000 waves. Each wave has a height of 1.7m and 60% of the wave influences approach from the left (looking off-shore) and 55% of the wave influences approach from high-angle.
Note that you must generate enough waves for your simulation. The number of waves is simply the number of timesteps of your simulation divided by the number of timesteps per wave as set in your config.xml file.
Processing the Output
The CEM model lets you generate both shoreline (SPX) files and picture (JPEG) files at any point during the simulation. If you wish to generate a text file of the positions of the beach (the dividing line between the ocean and land), you may use the 'spxposition' utility located in the tools/ directory. You can then import this text file into other programs (e.g. MATLAB). The usages of the 'spxposition' utility is simple:
% spxposition <spx file>
References
Nr. of publications: | 13 |
Total citations: | 1614 |
h-index: | 9 |
m-quotient: | 0.38 |
Featured publication(s) | Year | Model described | Type of Reference | Citations |
---|---|---|---|---|
Ashton, Andrew; Murray, A. Brad; Arnoult, Olivier; 2001. Formation of coastline features by large-scale instabilities induced by high-angle waves. Nature, 414, 296–300. 10.1038/35104541 (View/edit entry) | 2001 | CEM |
| 484 |
Ashton, A.D.; Murray, A.B. 2006. High-angle wave instability and emergent shoreline shapes: 1. Modeling of sand waves, flying spits, and capes. Journal of Geophysical Research, 111, . 10.1029/2005JF000422 (View/edit entry) | 2006 | CEM |
Model overview | 320 |
Murray, A.B. 2011. CEM, version 0.1.1.. , , https://csdms.colorado.edu/pub/models/doi-source-code/cem-10.1594.IEDA.100100-0.1.tar.gz. 10.1594/IEDA/100100 (View/edit entry) | 2011 | CEM |
Source code ref. | 0 |
See more publications of CEM |