Cross-Section Development Program
This chapter provides an update on efforts to refine the DSM2
representation of channel geometry, which includes the development
of the Cross-Section Development Program (CSDP). The CSDP is
used to develop irregular cross-sections for DSM2-Hydro. The
CSDP is written in Java, an object-oriented, platform-independent
Bathymetry data are not used directly by DSM2-Hydro; they
are used by the CSDP to draw cross-sections which are approximations
to the actual shape of each channel. The cross-section drawings
are used by the CSDP to calculate cross-section property tables,
which are used by Hydro. Cross-section properties used by Hydro
include area, width, and wetted perimeter (Figure
6.1). This process allows the user to reduce the amount of
data to a minimal representative data set, which is the smallest
amount of data required to describe the general shape of the
Delta's channels. In addition, the user has the ability to change
the shapes of cross-sections to simulate proposed changes in
geometry, such as dredging.
The most important part of the process is the selection of
data used to draw each cross-section. The data selection process
allows the user to place more emphasis on data that are most
reliable and most representative. The bathymetry database contains
more than 400,000 points, and has been divided into four files
(Figure 6.2 shows the location
of each of the four areas).
|| western Delta, Suisun Bay, Suisun Marsh
|| north Delta
|| central Delta
|| south Delta
The CSDP is designed to work with three-dimensional bathymetry
data, which have two horizontal coordinates in UTM zone 10, and
a vertical coordinate in feet with respect to Mean Sea Level
(MSL) (Figure 6.3). It is also
possible to use data that are not referenced to a global coordinate
system (non-georeferenced data), but some manipulation is required.
Examples of non-georeferenced data that can be used include cross-section
plots and cross-section station and elevation coordinates.
Bathymetry data can be stored in ascii(.prn) files, binary(.cdp)
files, or Gzipped binary files(.cdp.gz). The use of binary files
allows faster access. Gzipped files are smaller, but take more
time to read.
Landmark Data: .cdl
Landmark files are only read by the CSDP, and are not used
directly by DSM2. A landmark file consists of labels and UTM
coordinates. Landmark files can be used to label any feature,
such as a node or a cross-section. The file delta.cdl is created
by the CSDP when the Network-Calculate menu item is selected
and is used to label cross-sections drawn by the user. It can
be used to help locate cross-section lines. The file node.cdl
contains coordinates for every node in the May 1995 version of
the DSM model grid. This file is used by the create DSM chan
function which is in the Centerline menu.
Network Data: .cdn
Network files are only read by the CSDP, and are not used
directly by DSM2. A network file contains the data set that is
created by the user, including centerline names, centerline coordinates,
and cross-section coordinates.
Channel Connectivity Data: *.inp
The file channels.inp contains the CHANNELS input section
(Chapter 5). The CHANNELS input section includes the numbers
of all channels in the model grid and the numbers of the upstream
and downstream nodes of each channel. The file channels.inp is
used by the CSDP to draw centerlines for specified DSM channel
Using the CSDP
Loading Bathymetry Data
To load a bathymetry file, select the File-Open menu item
and select the file you wish to load. The file should be an ascii
file with a .prn extension, a binary file with a .cdp extension,
or a Gzipped binary file with a .cdp.gz extension. After loading
a .prn file, you can save it as a .cdp file for faster access.
After specifying a filename, the file will be read and the
data will be displayed in plain view (Figure 6.4). The points
will be colored by elevation by default. Points can also be colored
by year, source, or uniformly by selecting the Display-Color
By menu item.
Loading Network Data
To work with an existing network file, select the Network-Read
menu item and select the file you wish to load. If there is any
unsaved network information in memory, you will have the opportunity
to save it. A network file will always have a .cdn extension.
Loading Landmark Data
To load a landmark file, select the Display-Landmark menu
item and select the file you wish to load. A landmark file will
always have a .cdl extension.
It is the user's responsibility to select data for drawing
cross-sections with the CSDP. Criteria for selection include
year, source, and location. Because cross-sections are interpolated
along channels, cross-sections should be representative of the
overall shape of the portion of the channel that they represent.
There should generally not be large changes in area, width, wetted
perimeter, or bottom elevation among the set of cross-sections
used to describe any given channel. Data are selected by using
two perpendicular lines to define a rectangular region. All of
the data contained within this region are then displayed in the
1. To zoom in on the display, select the Zoom-Factor
menu item. Use the scroll bar to select a new zoom factor. Entering
a zoom factor greater than 1 will increase the size of the display.
Use the scrollbars to scroll through the data display.
2. To increase the bathymetry point size after zooming,
select the Display-Parameters menu item. Enter an integer.
3. To filter the data display, select Display-Group
and/or Display-Year. This will allow you to "turn off"
the display of undesirable data. (Note: this step is optional.
Filtering the data display may or may not facilitate the selection
of appropriate data).
4. Select a rectangular region of data to be displayed
in cross-section view (Figure 6.5).
The region will have a length, width, and direction. The location,
length, width, and direction are used to select data to be displayed
in cross-section view. The direction defines the positive flow
direction for the channel. The direction also determines the
order in which points will be displayed, which will always be
from left bank to right bank (Figure
6.7a). DSM2 cur- rently does not require points on the left
to be on the left bank, but in the future, some DSM2 models may
have this requirement. The length of the region is defined by
the cross-section thickness, which can be adjusted by selecting
Display-Parameters. The width is defined by the length of the
cross-section line. The direction is defined by the order of
the points in the centerline. The location of the center of the
region is defined by the intersection of the centerline and the
- a. Create a centerline: Select Centerline-Create DSM
Chan. You will be asked to select a channel connectivity file,
if one is not already loaded. The channel connectivity file is
the file that contains the CHANNELS input section(Chapter
5), and will typically be named channels.inp. You will then
be asked to enter the DSM channel number for the centerline you
wish to create. Enter a number from the DSM model grid. Finally,
you will be asked to select a landmark file, if one is not loaded
or if one or both of the nodes for the specified channel number
are not found. Select the file node.cdl, which contains the locations
of the nodes in the DSM model grid. A Centerline will be drawn
from the upstream node of the specified channel to the downstream
node (Figure 6.6a).
- b. Insert centerline points: Insert points into the
centerline to create centerline segments which follow the shape
of the channel (Figure 6.6b).
To insert points, select the centerline by clicking on it, click
on the insert button to turn the insert mode on, and then click
at various locations along the channel to insert points. It is
not necessary for the centerline to follow the exact shape of
the channel; it is only necessary to have line segments which
are aligned with the data.
5. Add cross-section.
- a. Add cross-section line(s): To add a cross-section
line, click on the Add Xsect button to turn the add cross-section
mode on. Click on a location near the data you wish to use. A
cross-section line will be drawn perpendicular to the nearest
centerline segment. The cross- section line should be aligned
with the data you wish to view. If it is not, you may need to
move the endpoints of the centerline segment which intersects
the cross-section line.
- b. Adjust the cross-section width: If desired, change
the cross-section width using the Display-Parameters menu item.
Displaying the data in cross-section view allows the user
to draw a line through the points. The coordinates of these points
are used by the CSDP to calculate cross-section properties.
A line is drawn through the bathymetry points displayed in
cross-section view (Figure 6.7b).
The line is an approximation to the shape of the cross-section.
The line can also be modified to simulate proposed changes in
geometry, such as dredging. Each cross-section will then be saved
along with its channel number and its normalized distance along
the channel from the upstream end. The normalized distance is
the distance from the upstream end of the centerline to the cross-section
line divided by the length of the cross-section line (Figure
1. Display the data in the cross-section view by selecting
Xsect-View. The data are displayed with respect to a relative
coordinate system. The origin of the coordinate system is located
at the intersection of the centerline and the cross-section line.
The horizontal axis is the distance in feet along the cross-section
line. The vertical axis is the elevation in feet with respect
to Mean Sea Level.
2. Add points: click on the Add button to turn on the
add point mode.
3. Edit points: To insert, move, or delete points,
click on the appropriate buttons and click on the point(s) to
be inserted, moved, or deleted. The Keep button will save all
of your changes in memory (not to a file). The Restore button
will undo all of your changes since the last time the Keep button
4. Draw a cross-section through the data points by
clicking on locations with the mouse. Try to use no more than
10 points. Using more than 10 points could increase Hydro's memory
requirements and reduce its speed.
- a. Avoid negative dconveyance between -5 and +15 feet (MSL)
- b. Horizontal line segments above the bottom of the channel
are acceptable. When cross-section properties are calculated,
one of the elevations of the line segment will be increased by
0.01 ft (Horizontal line segments above the bottom are not allowed
in cross-section property calculations because only one layer
is allowed per elevation). A line segment that appears to be
horizontal on the screen may not be exactly
- c. Avoid large changes in bottom elevation and area(MSL)
within channels. Large changes in area within a channel could
prevent Hydro from converging.
- d"W" shaped cross-sections are acceptable (Figure 6.9a).
- e. Avoid "J" shaped cross-sections. A "J"
shaped cross-section will have low wetted perimeter values at
higher elevations (Figure 6.9b).
5. Exit cross-section view by selecting the Xsect-Close
menu item. If you have made any changes to the cross-section,
you will be asked if you want to save these changes. At this
point, changes will only be saved in memory and will not be written
to a file.
6. Save your work to a network file by selecting Network-Save.
A network file should have a .cdn extension.
Cross-section plots consist of a series of points plotted
on a graph (Figure 6.10). To
use the CSDP to calculate cross-section properties for a given
cross-section plot, estimate station and elevation coordinates
of each point in the plot and follow the following procedure
for processing cross-section station and elevation coordinates.
Cross-section Station and Elevation
To use cross-section station and elevation coordinates, it
is necessary to make a network file (Figure
Preparing Irregular Cross-Section Data
The output from the CSDP is used as input for DSM2. DSM2 irregular
cross-section input files consist of cross-section property tables
(*.txt files) and files containing IRREG_GEOM input sections.
For more information on DSM2 input files, see Chapter
Load a network file (.cdn) using Network-Read. The file delta.cdn
is the main network file that is used by the Delta Modeling Section.
Select Network-Calculate. You will be asked to select a directory
for cross-section output files(*.txt). After selecting the directory,
enter 1 or more characters in the "filename" text field
(your entry will not be used, but Java's FileDialogBox will not
accept your input unless you do this). This will write all of
the cross-section files(*.txt), a new landmark file(*.cdl), and
a file called irregular_xsects.inp, which contains the IRREG_GEOM
input section. The new landmark file can be used in the future
for locating cross-sections when you use the CSDP. All files
will be written to the directory in which you started the application
(with the exception of the cross-section files, which will be
written to the directory that you selected). Using a text editor,
open the file irregular_xsects.inp and change the path name in
the FILENAME field.
DSM2 Input (output files from the CSDP)
To use irregular cross-sections, Hydro requires an IRREG_GEOM
input section and irregular cross-section files (Chapter
IRREG_GEOM Input Section
The irregular_xsects.inp file contains the IRREG_GEOM input
section (Chapter 5). This file is used
to assign cross-sections to DSM channels and to locations within
The IRREG_GEOM input section is typically stored in a file
called irregular_xsects.inp and is created by the CSDP when the
Network-Calculate menu item is selected. The IRREG_GEOM section
that is written by the CSDP will always assign cross-sections
to the locations defined by their filenames. The filename of
a cross-section describes the DSM channel number and the normalized
distance along the channel (Figure
To prevent interpolation or the use of rectangular cross-sections,
it is sometimes desirable to copy cross-sections to other locations.
Cross-sections can be copied to other locations in the same channel
or in other channels. To do this, an additional IRREG_GEOM input
section(Figure 6.14) can be created
manually and stored in a separate file, which might be called
irregular_xsects_copy.inp. The file can also be used to include
cross-sections which are not included in the network file.
All files which contain IRREG_GEOM input sections that you
wish to use for a model run must be listed in the INP_FILES input
section (Chapter 5).
Irregular Cross-section Files(*.txt)
A cross-section file is written for every cross-section drawn
by the user. The file consists of a table of area, width, wetted
perimeter, hydraulic radius, x centroid, and z centroid values
for each unique elevation in the cross-section(Figure
Using Irregular Cross-Sections with
This section describes how DSM2-Hydro uses irregular cross-sections.
Some of the problems which can cause a model run to fail are
negative dConveyance, interpolated negative dConveyance, and
Cross-sections have to be interpolated by Hydro for every
computational point in the model grid before they can be used
by FourPt. Interpolated cross-sections are also known as virtual
cross-sections (Figure 6.16).
The number of computational points in each channel depends on
the actual value of delta X, which depends on the channel length
and the requested value of delta X.
Actual vs. Requested Deltax
The scalar input variable deltax (Chapter
5) is called the requested value of deltax ( Xr). The actual
value of deltax used by hydro ( Xa) in each channel depends on
Xr and the channel length. The following equation is used to
Xa = length/(2 * int(length/ Xr) (Note: the int function truncates)
Rectangular cross-sections are used in channels which do not
have irregular cross-sections. To limit the use of rectangular
cross-sections, Hydro moves and copies cross-sections (Note:
even with the use of irregular cross-sections, it is still necessary
to define at least two rectangular cross-sections for every channel
in the model grid). The following rules apply to the moving and
copying of cross-sections:
Rules for Copying, Moving, and Interpolating
1. Any channel with one or more irregular cross-sections will
not use rectangular cross- sections (Figure
6.17). A channel with no irregular cross-sections will only
use rectangular cross-sections for interpolation. It is possible
to assign two or more different rectangular cross-sections to
a channel, but this is not typically done.
2. For each node: If the distance from the node to the nearest
cross-section is within 5 percent of the channel length, then
the cross-section will be moved to the end of the channelwhich
is adjacent to the node(Figure 6.18).
This is done to prevent interpola tion from adjacent channels.
3. Cross-sections can only be interpolated across nodes if
the node is connected to 2 channels (Figure
4. If a channel hasone or more irregular cross-sections which
cannot be moved (rule 2) and no cross-sections are available
for interpolation in the adjacent channel (rule 3), the cross-section(s)
nearest to the nodes will be copied to end of the channel adjacent
the node. A moved cross-section can be used by an adjacent channel
for interpolation; a copied cross-section cannot.
Interpolation occurs in three stages. The first two stages
occur while Hydro is processing input data. The purpose of the
first two stages is to create a lookup table (Figure
6.20) that is used to reduce the number of interpolations
that occur while FourPt is running. The three stages are:
1. A list of all unique elevations is made for each channel.
Cross-section properties are interpolated in the vertical direction
for every elevation in this list. If necessary, cross-sections
are extrapolated in the vertical direction using the levee_slope
value that is specified in the SCALAR input section (Chapter
2. Cross-section properties and bottom elevations are interpolated
in the horizontal direction to create virtual cross-sections.
3. During a model run, cross-section properties are interpolated
in the vertical direction for the specified water surface elevation
To create a virtual cross-section for each computational point,
the nearest two cross-sections on either side are interpolated.
Cross-sections from adjacent channels are used if there are two
channels connected to the adjacent node. Cross-sections that
are interpolated or are copies of other cross-sections are never
used for interpolation.
For a listing of virtual cross-sections, change the value
of printlevel in the SCALAR input section to 5, change the length
of the run to 1 hour, and run Hydro (Chapter
5). (Note: When printlevel is set to 5, Hydro will produce
a large output file that could fill your hard disk. For this
reason, it is best to avoid running Hydro for more than 1 hour
with printlevel set to 5). An ascii file will be written which
contains a listing of all cross-section properties in all virtual
Problems to Avoid when Using Irregular
Cross-sections with DSM2
If Hydro fails to converge in a channel, the run will fail.
Hydro will not converge if there are large changes in cross-sectional
area between virtual cross-sections that are in the same channel.
To avoid convergence problems, make sure that for every channel,
the ratio of the largest virtual cross-sectional area to the
smallest is less than 2.0. Running Hydro with printlevel set
to 5 produces a list of all channels that may have convergence
A Hydro run will fail if the water level in any virtual cross-section
enters a portion of the cross-section that has negative dConveyance.
dConveyance is the derivative of conveyance with respect to height.
dConveyance can be negative if a line segment has a very small
slope (close to horizontal), which causes a large change in wetted
perimeter with respect to elevation. It is the user's responsibility
to eliminate negative dConveyance in portions of cross-sections
which are in the anticipated water surface elevation range.
To detect negative dConveyance, set printlevel to 5 or greater
(Chapter 5), include a line in the IO_FILES
input section to write output to an ascii file of TYPE none,
and run Hydro. The ascii file will contain the list of interpolated
layers with negative dConveyance.
If any cross-sections have negative dConveyance in the range
of -5<Z<15 ft, they will be identified by this list. It
is acceptable to have negative dConveyance only if the water
level will never enter the portion of the cross-section that
has negative dConveyance. If it is necessary to eliminate negative
dConveyance, look at the magnitude of the negative dConveyance.
The magnitudes of dConveyance for each layer are listed in the
cond 0 and cond 1 columns. If it is very large, then a change
must be made. Negative dConveyance is adjusted in two ways:
1. Change the slope of a line segment by adding, moving, or
2. Adjusting bottom elevations and/or changing the slopes
of line segments if the problem is caused by interpolated negative
Interpolated negative dConveyance
The CSDP will identify layers between -5 and +15 ft(MSL) in
all virtual (interpolated) cross-sections that have negative
dConveyance (a layer is a row of data in the cross-section property
table). The virtual cross-sections that Hydro uses may contain
negative dConveyance at elevations between -5 and +15 ft even
if the two cross-sections used in the interpolation do not. Before
cross-sections are interpolated (Figure
6.23a), the bottom elevation is subtracted from all the elevations
in the cross-sections, which converts the elevations to heights.
The bottoms of the cross-sections are now at the same height
(zero). If there is a big difference in bottom elevations, the
interpolated cross-section could have negative dConveyance between
-5 and +15 (Figure 6.23b).
The best solution to this problem is to adjust the bottom
elevations in one or both of the cross-sections so that they
are not so far apart (Figure 6.24a).
The resulting interpolated cross-section (Figure
6.24b) would not have negative dConveyance in the range of
-5 ft to 15 ft. Large changes in bottom elevation within a channel
could indicate that one or more of the cross-sections may not
To detect interpolated negative dConveyance, it is necessary
to run Hydro with the scalar variable printlevel set to 5 or
greater (Chapter 5).
Goto: 1998 Annual
Goto: Annual Reports