Realizing the important role salmon and steelhead play in California's economy and ecological health (Advisory Committee on Salmon and Steelhead Trout 1986), the State of California passed legislation that requires DFG to restore the states salmon and trout fisheries. The Sport Fishing Act (Dingell-Johnson Act) and the Bosco-Keene Assembly Bill 951 (1981), combined with permit fees, licenses and taxes on sporting goods, provides funding for DFG's Anadromous Fish Program. In 1991 biologists and habitat specialists in the Anadromous Fisheries Habitat restoration Program wrote the California Salmonid Stream Habitat Restoration Manual. The manual describes a standard methodology and data base structure for restoring fish habitat on salmonid streams in California.
The first step in the Salmonid Habitat Restoration Manual is to complete a Watershed Assessment. Researching historical records, maps and other data, biologists assess basic information on 1) past, present and potential habitat and fish production 2) water quality and quantity 3) future study assessment needs and 4) future restoration potential.
The second step in the Habitat Manual requires a stream habitat inventory achieved through instream field data collection. The habitat inventory is a hierarchical method of stream channel (Rosgen 1994) and habitat typing (variation of Bisson et al. 1982). Channel typing classifies morphological features of relatively long reaches (a mile or more) while habitat typing classifies instream pool, flatwater and riffle habitat units (10 to 60 feet long). Physical data fish shelter, spawning suitability, erosion potential and barriers are measured in each habitat unit. All surveys start at the stream confluence and stop at the end of anadromy. The result is the delineation of habitat units in terms of quantitative physical attributes. Compiled in habitat tables, inventories provide the basis for evaluation and monitoring (See Appendix for the list of data sampled).
The third step in the Habitat Manual is to perform a bioinventory of fish and other aquatic resources within a stream. The Habitat Manual illustrates standard fish sampling methods.
By summarizing data acquired in the first three steps biologists can determine if restoration is necessary. The last three steps of the Habitat Manual, Project Planning, Implementation, and Monitoring/Evaluation, explains the necessary requirements for establishing restoration sites. Funding, necessary materials, construction, project evaluation, and monitoring procedures are all discussed in these chapters.
Using a relational data base, Dynamic Segmentation measures habitat data along existing georeferenced linear data as events. This paper will discuss the Arc/Info techniques used to implement Dynamic Segmentation. I will present the amount of data collected so far, and then examine the implications of this GIS data.
1. DFG has obtained US Geologic Survey (USGS) Digital Line Graph (DLG) 100,000 scale hydrography (See Appendix for Hydro Meta Data and structure). In 1993, the US Environmental Protection Agency (EPA) attached the River Reach File Version 3 (RF3) addressing system to California's hydrographic coverage Arc Attribute Table (.AAT). Arcs along the same named watercourse share a common primary name code, or PNMCD. The unique key value for each stream is the EPA national standard PNMCD.
2. Prior to building hydrography route/section topology, streams must have consistent linear direction. I developed an Arc Macro Language (AML) method for establishing direction of all streams based on topology with no operator (See Appendix for flow.aml and lake.aml). This process pathwalks each named stream from its headwaters to its mouth and ensures all arcs point downstream (including double lined streams). The DLG MINOR5 field is populated with the arc numeric sequence of each stream from the mouth.
3. I developed an ArcEdit AML which creates Route/Section topology (See Appendix for mkroute.aml). The blanket Arc level MAKEROUTE command will not ensure direction of all routes. The AML creates one route for each unique PNMCD, in which the beginning measure of the route is at the streams confluence (arc MINOR5 = 1 from flow.aml) and the ending measure is at the streams headwater. The resulting Route Attribute Table (.RAT) has one record per unique PNMCD. The resulting Section Attribute Table (.SEC) has one record for arcs along each PNMCD.
4. Preparation of habitat data as event tables contains the following processes: A) Insure the table has a properly populated route relate item and B) create and populate measure items.
In some cases field personnel will not have the PNMCD value for the surveyed stream, and will enter instead a latitude and longitude of the stream confluence, the township range and section number (called legal) and/or the stream name from the USGS 7.5 Minute Quadrangle. By cross referencing the quadrangle, lat/lon coordinates, legal description or the stream name with the RF3 file, I find and enter the proper PNMCD value in the habitat table. Each habitat table data will relate to the .RAT on the PNMCD.
The habitat table contains one record per habitat unit. The LENGTH field is the length of each habitat unit, measured in feet. Measure fields FROM, TO (for linear events), and LOCATION (for point events) are added to the habitat table. The FROM field is equal to the previous FROM value (0 for the first record). The TO field is equal to the FROM field plus the LENGTH field. The LOCATION field only populated when point event locations occur. While occurring anywhere in a habitat unit, point events are surveyed with the same length as a habitat unit. The LOCATION field equals half of the FROM FROM field plus the TO field. Measure items are converted to meters, the units of the hydrography coverage projection. Each record of a habitat table will relate to the .SEC on the measure items FROM, TO or LOCATION.
5. A point coverage for each survey, is made from each tributary's confluence or road crossings and the end of the survey. The end of survey point is digitized from a photocopied USGS quadrangle. The points are attributed with the length to the mouth taken from the habitat table, in meters. The Arc command CALIBRATEROUTES uses the point coverage to correct the arc measured distances with the field observed distances.
6. In Arcview, a view is added to a project and the hydrography route topology added to the view. The habitat event table is added to the project. With the view the active document, ADD EVENT THEME from the VIEW menu is chosen. The Add Event Theme dialogue box is populated, and the survey is displayed as an event theme. The THEME CONVERT TO SHAPE menu choice converts the event theme to a shape file. The shape file can be displayed and classified on any or multiple fields in the Habitat Inventory. The process is repeated for point events.
Only a selection of habitat data has been calibrated.
There are 290 streams (766 total miles) surveyed and georeferenced.
I expect to dynamically segment all data from the Habitat Manual by the end of 1996. Biologists note other important point events, like culverts, bank erosions, and other biota. By next year, I hope to implement all other point event data, as well as habitat data.
The availability of the data allows biologists to make better decisions. With limited restoration money, resource managers need to funnel resources into the sites that have the most potential for success. Prior to Dynamic Segmentation, biologists could only summarize the length of habitat to find out how much of a particular habitat characteristic occurred on a stream. With Dynamic Segmentation, biologists can see where these characteristics occur along the stream. Displaying habitat data spatially increases the biologists' ability to identify potential restoration sites. Some of the questions biologists can answer are: Where does high siltation occur? Do these areas also have low shading or high temperatures? Where are the deep pools with large cobble substrates? By displaying the areas of low quality habitat (low canopy or high siltation) along with the areas of fish presence and suitable stream gradients, restoration sites with the most benefit and success potential can be identified.
Likewise, resurveying a stream in successive years will provide insight into the changing habitat. Causes of decreasing habitat quality can be identified with network analysis of habitat data dynamically segmented over the same reaches of stream.
Habitat modelling is also possible with dynamic segmentation. By identifying the progression of channel types fish must migrate through, biologists can gain understanding about the physical stress individuals exert in certain streams. High fish population numbers regressed against key habitat characteristics could provide habitat suitability indexes. Such indexes will improve management decisions.
The power of this system lies in the standard data collection methods. Local biologists can set local restoration priorities based on their own data. At the same time, statewide coordinators can use data collected by different biologists in different regions, using the same protocols, to look at overall trends of fish habitat and populations.
APPENDIX
APPENDIX A HABITAT DATA STRUCTURE ---------------------- The following is the structuce and definition of the items contained in the habitat data bases. On each line is the Column the field begins in, the field name, the number of characters/integers the field takes up, whethere it is character or integer, and a brief description of the field. For more information please refer to the Salmonid Habitat Restoration Mannual (the green book). COLUMN ITEM NAME WIDTH TYPE N.DEC DESCRIPTION ------------------------------------------------------------------ 1 STREAM 25 C - What you call the stream name. 26 LEGAL 11 C - Town., Range, Section (see below). 37 LATD 2 I - Confluence Latitude Degrees. 39 LATM 2 I - Confluence Latitude Minutes. 41 LATS 4 N 1 Confluence Latitude Seconds. 45 LOND 3 I - Confluence Longitude Degrees. 48 LONM 2 I - Confluence Longitude Minutes. 50 LONS 4 N 1 Confluence Longitude Seconds. 54 QUAD 10 C - USGS 24000 Quad Name@ confluence. 64 RF3RCHID 17 C - Full EPA RF3-ID @ Confluence. 81 PNAME 30 C - EPA PNAME. 111 PNMCD 11 C - EPA PNMCD. 122 SURVEYORS 25 C - Who surveyed. 147 DLAT 8 N 4 Decimal Degrees Lat at survey start. 155 DLONG 8 N 4 Decimal Degrees Lon at survey start. 163 FLOW 6 C - Recorded flow in cubic feet/second. 169 DATE 8 D - Date Surveyed. 177 CHANNLTYPE 4 C - Channel Type of Habitat Unit. 181 REACH 2 C - Sequential Reach Number. 183 TIME 5 C - Time @ habunit. 188 WATER 3 C - Water Temperature in Fahrenheit. 191 AIR 3 C - Air Temperature in Fahrenheit. 194 HABUNITNUM 16 C - Sequential Habitat Unit Number. 210 HABTYPE 9 C - Habitat Type 219 SIDECHANNL 3 C - Habitat Unit Type of Side Channel. 222 LENGTH 8 N 1 Length in feet of Habitat Unit. 230 STRM_LGNTH 7 I - Total length from confluence. 237 MEAN_WIDTH 6 N 2 Mean width of habitat unit. 243 MEAN_DEPTH 5 N 2 Mean depth of habitat unit. 248 MAX_DEPTH 5 N 2 Maximum depth of habitat unit. 253 AREA 10 N 2 Calculated, length X mean_width 263 DPTPLCREST 4 N 2 Depth pool tail crest, in feet. 267 RESPOLDPTH 5 N 2 CALCULATED residual pool depth 272 VOLUME 10 N 1 CALCULATED volume 282 RESPOOLVOL 10 N 1 CALCULATED residual pool volume 292 EMBEDDED 1 I - Pool tail embeddedness. 293 SHEL_VALUE 1 I - Shelter Value. 294 PCT_COVER 3 I - Percent Unit Covered. 297 SHELT_RATN 4 I - Shelter Rating 301 UNDER_BANK 3 I - Under Bank Rating 304 PER_SWD 3 I - Percent small woodt debris 307 PER_LWD 3 I - Percent Large woody debris 310 PER_ROOT 3 I - Percent root wad 313 TERR_VEG 3 I - Terrestrial vegetation 316 AQUA_VEG 3 I - Aguatic Vegetation 319 WHITEWATER 3 I - Whitewater 322 PER_BOLDER 3 I - Substrate 325 BEDROCKLED 3 I - Substrate 328 SILT_CLAY 1 I - Substrate 329 SAND 1 I - Substrate 330 GRAVEL 1 I - Substrate 331 SMCOBBLE 1 I - Substrate 332 LGCOBBLE 1 I - Substrate 333 BOLDER 1 I - Substrate 334 BEDROCK 1 I - Substrate 335 PCT_EXPOSE 3 I - Percent exposed substrate. 338 PCT_CANOPY 3 I - Percent total Canopy. 341 PCT_DECID 3 I - Percent Deciduous Trees. 344 PCT_CONIF 3 I - Percent Coniferous Trees. 347 RTBKCOMP 1 I - Right Bank Composition. 348 RTBKDOMINT 1 I - Right Bank Dominant Vegetation. 349 PCT_RTBKCO 3 I - Percent Right Bank Vegetation. 352 LFBKCOMP 1 I - Left Bank Composition. 353 LFBKDOMINT 1 I - Left Bank Dominant Vegetation. 354 PCT_LFBKCO 3 I - Percent Left Bank Vegetation. 357 CODE 1 C - temporary field 358 FROM 8 N 2 Dyn/Seg measure item 366 TO 8 N 2 Dyn/Seg measure item 374 LOCATION 8 N 2 Dyn/Seg measure item ------------------------------------------------------------------------ APPENDIX B CALIFORNIA DEPARTMENT OF FISH AND GAME GIS METADATA METADATA FILE: hydro3.txt METADATA DATE: January 2, 1996 METDATA PATH: dfghost:/tsb/dfgbase/hydro METADATA SOURCE 1: Date: Wed, 22 Nov 1995 11:42:49 -0800 From: Paul VeiszeSubject: teale hydro meta X-Url: http://www.gislab.teale.ca.gov/meta/hydrogra.txt METADATA SOURCE 2: dfghost:/tsb/dfgbase/hydro/hydro2.txt Modified 1-2-96: Primary Name and Primary Name Code (PNAME,PNMCD) for Pacific Ocean corrected/completed statewide. Issue remains as to how to deal with bays and wide rivers opening to the Pacific Ocean with/without artificial "closure" arcs. All PNMCD character string entries in .DS2 tables were left-justified. Modified 11-22-95: Item HYSNUM recalculated: HYSNUM = HYSNUM + 10 This was done to ensure a unique primary key when HYSNUM is combined with item HSCKEY (described below). Duplication of certain values occurred in original version, e.g. HYSNUM = 1, HSCKEY = 12--would be a duplicate of HYSNUM = 11, HSCKEY = 2. The original range of HYSNUM values was 1 to 33; in the DFG hydrography version it is now 11 to 43. See also major updates by DFG to hydrographic names and US EPA River Reach File (RF3) codes (NOTE: RF3 item UPDTSRC1 does not yet reflect the DFG version of HYSNUM, use Teale version until further notice). DFG version has deleted non-hydrographic "neatlines" (outline of 250K quad boundaries)--where such boundaries did not form part of open water shorelines. ----begin Teale hydrography metadata as modified ---- LIBRARY : LAYER NAME : COVERAGE NAME : JHYSA LOCATION : /tlib/hydro COVERAGE DESCRIPTION: The hydrography layer originally came from the USGS in digital line graph (DLG-3) data format. DLG-3 data were captured from 1:100,000-scale maps by manual digitizing and raster scanning. There are approximately 3200 DLG files represented in the statewide hydrography data layer. The hydrography layer consists of all flowing waters, standing waters, and wetlands---both natural and manmade. The coverages contain two separate feature types: polygons (areas) and lines. Polygon features have attribute codes that identify water bodies such as lakes, wide river segments, or swamps. Line features have attribute codes that represent streams or shorelines. Edits to the original linework have been made during the data conversion by Teale from the original DLG-3 format to the Arc/INFO(tm) GIS format. Such changes include line movements (due to the map edge-matching process), minor corrections of attribute coding, and the closing of open polygons. Flow direction for streams (type line) has also been added. Stream lines are flagged (where item FLOW = 1) to indicate whether or not the direction of a given stream (line) has been defined and/or verified by Teale. County lines (a separate Teale data layer) and hydrography lines are not reconciled with each other and discrepancies between the two will occur when a county boundary follows a water feature. Hydrography of the entire state is stored in 33 separate ARC/INFO coverages or tiles, whose individual boundaries correspond to the USGS 1:250,000-scale quad series (see index coverage called hydroindexa and index diagram below). Coverage names consist of two unique characters plus a suffix -JHYSA. Most of the two- letter codes abbreviate a quad name, for example: RDJHYSA, for the Redding quad. The tiles are also numbered from 11 to 43, northwest to southeast, and this numeric code is contained in the item HYSNUM. A separate item, HSCKEY, contains a number unique to each arc within a tile. Both the HYSNUM and HSCKEY items are contained in the coverage's Arc Attribute Table (AAT). In 1992, the Teale hydrography data layer was sent to US EPA for use in their River Reach File system version 3, also known as Reach File 3 or RF3-alpha. RF3 is US EPA's national hydrographic addressing system which contains unique location and connectivity codes, water feature names, and update documentation. This system was developed by Horizon Systems Corporation, under contract to the US EPA Office of Water. RF3 as archived at Teale consists of US EPA-generated data tables, designated by the filename extension .DS2 (for example: RDJHYSA.DS2). The DS2 file is stored as an 'external' data table within the hydro workspace's INFO subdirectory. There are two ways to link the RF3 records in the DS2 files with the hydrography arc attribute tables (AAT). The first involves the item RF3RCHID, which is a concatenated string consisting of three fields: the USGS Cataloging Unit (CU, an 8-digit watershed code), a numeric stream segment identifier (SEG), and a Marker Index (MILE), an item indicating relative upstream position along a given SEG. The second way to link the DS2 and the AAT is on the HSCKEY item described above. The RF3RCHID and HSCKEY items are present in the Teale versions of both the DS2 and AAT files. Note: the most reliable primary key for individual hydrography features consists of HYSNUM combined with HSCKEY. VITAL STATISTICS: Datum: NAD 27 Projection: Albers Units: Meters 1st Std. Parallel: 34 00 00 2nd Std. Parallel: 40 30 00 Longitude of Origin: -120 00 00 Latitude of Origin: 00 00 00 False Easting (X shift): 0 False Northing (Y shift): -4,000,000 Source: USGS DLG-3 (optional format) Source Media: Magnetic tape (80 byte records) Source Projection: Universal Transverse Mercator UTM Zones 10 & 11 Source Units: Meters Source Scale: 1:100,000 Capture Method: Scanned, digitized Conversion Software: ARC/Info rev 5.0.1 Data Structure: Vector ARC/INFO Coverage Type: NET (Line, polygon) ARC/INFO Precision: Double ARC/INFO Tolerances: 0 to 200 meters Number of Features: 16,077 Layer Size: 116.970 MB Data Updated: September 1993 (added RF3 line feature table) (other unscheduled updates have been made, see original log file in Teale workspace) DATA DICTIONARY: DATAFILE NAME: JHYSA.AAT where xx = tile code (see index) RECORD LENGTH: 98 Non-standard LINE attribute fields: COLUMN ITEM NAME WIDTH OUTPUT TYPE N.DEC ------------------------------------------------------------- 33 MAJOR1 4 6 B - 37 MINOR1 4 6 B - 41 MAJOR2 4 6 B - 45 MINOR2 4 6 B - 49 MAJOR3 4 6 B - 53 MINOR3 4 6 B - 57 MAJOR4 4 6 B - 61 MINOR4 4 6 B - 65 MAJOR5 4 6 B - 69 MINOR5 4 6 B - 73 FLOW 1 1 I - 74 HSCKEY 6 6 I - 80 HYSNUM 2 2 I - 82 RF3RCHID 17 17 C - NOTE: Items common to all LINE coverages: FNODE#, TNODE#, LPOLY#, RPOLY#, LENGTH, JHYSA# and JHYSA-ID are not described here; with one exception: JHYSA-ID: where User ID negative (<0), arc is an artificial neatline (coverage or tile boundary). FLOW: If equal to 1, flow direction is defined; if equal to 0, no direction is defined. HSCKEY: Unique sequence number. Item was created for EPA's Reach File System. Use HSCKEY to relate to the RF3 DS2 data file of a given tile (see HYSNUM below). HYSNUM: Hydrography quad tile sequence number; 1 through 33. Item was created for EPA's Reach File System; combine with HSCKEY to uniquely code features across tiles. NOTE: DFG version: HYSNUM = HYSNUM(Teale) + 10 This is not yet reflected in the item UPDTSRC1 below. RF3RCHID: Primary key of RF3; concatenates CU, SEG, MILE; see desrcription of JHYSA.DS2 files below. MAJOR1-5: Major codes denote hydrography (code 50) as the major feature category to which a line element belongs (as opposed to property boundaries, roads, etc within DLGs). MINOR1-5: Minor codes assign up to five descriptive subcategories to any single hydrography line element. Major Minor Code # Code # Element Description ------ ------ ------------------- 50 200 Shoreline 50 201 Man-made shoreline 50 202 Closure line 50 203 Indefinite shoreline 50 204 Apparent Limit 50 205 Outline of a Carolina bay 50 206 Danger curve 50 400 Rapids 50 401 Falls 50 402 Gravel pit/quarry filled w/water 50 403 Gaging station 50 404 Pumping station 50 405 Water intake 50 406 Dam or weir 50 407 Canal lock or sluice gate 50 408 Spillway 50 409 Gate(flood,tidal,head,check) 50 410 Rock 50 411 Crevasse 50 412 Stream 50 413 Braided stream 50 414 Ditch or canal 50 415 Aqueduct 50 416 Flume 50 417 Penstock 50 418 Siphon 50 419 Channel in water area 50 420 Wash or ephemeral drain 50 421 Lake or pond 50 422 Coral reef 50 423 Sand in open water 50 424 Spoil area 50 425 Fish ladders 50 601 Underground 50 602 Overpassing 50 603 Elevated 50 604 Tunnel 50 605 Right bank 50 606 Left bank 50 607 Under construction 50 608 Salt 50 609 Unsurveyed 50 610 Intermittent 50 611 Abandoned or discontinued 50 612 Submerged or sunken 50 613 Wooded 50 614 Dry 50 615 Mineral or hot (sulphur,alkali,etc.) 50 616 Navigable transportation 50 617 Underpassing 50 618 Earthen construction 50 000 Photorevised feature 05N --- Water surface elevation, actual or interpolated. N = elevation units 1=feet 2=meters 6=feet below datum 7=meters below datum 053 --- Angle of clockwise rotation (nearest whole degree) 055 --- River mile, value in four spaces, right justified 058 000 Best estimate of classification or position 059 0-- Coincident feature DATA DICTIONARY: DATAFILE NAME: JHYSA.DS2 where xx = tile code (see index) RECORD LENGTH: 450 Non-standard LINE attribute fields: COLUMN ITEM NAME WIDTH OUTPUT TYPE N.DEC DESCRIPTION --------------------------------------------------------------- 1 CU 8 8 I - Catalog Unit 9 SEG 4 4 I - Segment No. 13 MILE 5 5 N 2 Mile Point 18 UPMI 5 5 N 2 Upstream Mile Pt. 23 RFLAG 1 1 C - Reach Flag 24 OWFLAG 1 1 C - Open Water Flag 25 TFLAG 1 1 C - Terminal Flag 26 SFLAG 1 1 C - Start Flag 27 REACHTYPE 1 1 C - Reach Type Code 28 LEVEL 2 2 I - Stream Level 30 JUNC 2 2 I - Downstream Rch Lvl 32 DIVERGENCE 1 1 I - Divergence Code 33 USDIR 1 1 C - Upstream Direction 34 TERMID 5 5 I - Terminal Stream ID 39 TRMBLV 1 1 I - Terminal Base Level 40 PNAME 30 30 C - Primary Name 70 PNMCD 11 11 C - Primary Name Code 81 CNAME 30 30 C - Complement Name 111 CNMCD 11 11 C - Complement Name Code 122 OWNAME 30 30 C - Open Water Name 152 OWNMCD 11 11 C - Open Water Name Code 163 DSCU 8 8 I - Downstream CU 171 DSSEG 4 4 I - Downstream SEG 175 DSMI 5 5 N 2 Downstream MI 180 CCU 8 8 I - Complement CU 188 CSEG 4 4 I - Complement SEG 192 CMILE 5 5 N 2 Complement MI 197 CDIR 1 1 C - Complement Direction 198 ULCU 8 8 I - Upstream Left CU 206 ULSEG 4 4 I - Upstream Left SEG 210 ULMI 5 5 N 2 Upstream Left MI 215 URCU 8 8 I - Upstream Right CU 223 URSEG 4 4 I - Uppstream Right SEG 227 URMI 5 5 N 2 Upstream Right MI 232 SEGL 6 6 N 2 Reach Length (Miles) 238 RFORGFLAG 1 1 I - RF Origin flag(1-3) 239 ALTPNMCD 8 8 I - Alt. Prime Name Code 247 ALTOWNMC 8 8 I - Alt. OW Name Code 255 DLAT 8 8 N 4 Downstream Latitude 263 DLONG 8 8 N 4 Downstream Longitude 271 ULAT 8 8 N 4 Upstream Latitude 279 ULONG 8 8 N 4 Upstream Longitude 287 MINLAT 8 8 N 4 Minimum Latitude 295 MINLONG 8 8 N 4 Minimum Longitude 303 MAXLAT 8 8 N 4 Maximum Latitude 311 MAXLONG 8 8 N 4 Maximum Longitude 319 NDLGREC 4 4 I - No. of DLG Records 323 Ln1AT2 4 4 I - DLG Line Attribute 1 327 Ln2AT2 4 4 I - DLG Line Attribute 2 331 AR1AT2 4 4 I - DLG Area Attribute 335 AR1AT4 4 4 I - DLG Area Attribute 339 AR2AT2 4 4 I - DLG Area Attribute 343 AR2AT4 4 4 I - DLG Area Attribute 347 UPDATE1 6 6 C - Updt Date #1(MMDDYY) 353 UPDTCD1 8 8 C - Updt Type Code #1 361 UPDTSRC1 8 8 C - (This field set to correspond to Teale DLG dataset ids-See HYSNUM and HSCKEY) see DFG version above 369 UPDATE2 6 6 C - Updt Date #2(MMDDYY) 375 UPDTCD2 8 8 C - Updt Type Code #2 383 UPDTSRC2 8 8 C - Updt Source #2 391 UPDATE3 6 6 C - Updt Date #3(MMDDYY) 397 UPDTCD3 8 8 C - Updt Type Code #3 405 UPDTSRC3 8 8 C - Updt Source #3 413 DIVCU 8 8 I - Divergent CU 421 DIVSEG 4 4 I - Divergent SEG 425 DIVMI 5 5 N 2 Divergent MI 430 DLGID 6 6 I - DLG Number (special use) 436 FILLER 7 7 C - Filler for Future use 443 HSCKEY 6 6 I - (Added by Teale- Value is same as last 6 digits of UPDTSRC1- Relate key to the AAT file) 449 HYSNUM 2 2 I - (Added by Teale- Value same as first 2 digits of UPDTSRC1- Hydro quad sequence number 1-33; in DFG version, 11-43, see description above) ** REDEFINED ITEMS ** 1 RF3RCHID 17 17 C - (Reach number that uniquely identifies all reaches) DATA DICTIONARY: DATAFILE NAME: JHYSA.PAT RECORD LENGTH: 56 Non-standard POLYGON attribute fields: COLUMN ITEM NAME WIDTH OUTPUT TYPE N.DEC 25 MAJOR1 4 6 B - 29 MINOR1 4 6 B - 33 MAJOR2 4 6 B - 37 MINOR2 4 6 B - 41 MAJOR3 4 6 B - 45 MINOR3 4 6 B - 49 MAJOR4 4 6 B - 53 MINOR4 4 6 B - NOTE: Items common to all POLYGON coverages: AREA, PERIMETER, JHYSA# and JHYSA-ID are not described here. MAJOR1-4: Major codes denote hydrography (code 50) as the major feature category to which an area element belongs. MINOR1-4: Minor codes assign up to four descriptive subcategories to any single hydrography area element. Major Minor Code # Code # Element Description ------ ------- ------------------- 50 100 Alkali flat 50 101 Reservoir 50 102 Covered reservoir 50 103 Glacier or permanent snowfield 50 104 Salt evaporator 50 105 Inundation area 50 106 Fish hatchery or farm 50 107 Industrial water impoundment 50 108 Area to be submerged 50 109 Sewage disposal pond/filtration bed 50 110 Tailings pond 50 111 Marsh, wetland,swamp,bog 50 112 Mangrove area 50 113 Rice Field 50 114 Cranberry bog 50 115 Flats(tidal,mud,sand,gravel) 50 116 Bays,estuaries,gulfs,oceans,seas 50 117 Shoal 50 118 Soda evaporator 50 119 Duck pond 50 400 Rapids 50 401 Falls 50 402 Gravel pit/quarry filled w/water 50 403 Gaging station 50 404 Pumping station 50 405 Water intake 50 406 Dam or weir 50 407 Canal lock or sluice gate 50 408 Spillway 50 409 Gate(flood,tidal,head,check) 50 410 Rock 50 411 Crevasse 50 412 Stream 50 413 Braided stream 50 414 Ditch or canal 50 415 Aqueduct 50 416 Flume 50 417 Penstock 50 418 Siphon 50 419 Channel in water area 50 420 Wash or ephemeral drain 50 421 Lake or pond 50 422 Coral reef 50 423 Sand in open water 50 424 Spoil area 50 425 Fish ladders 50 601 Underground 50 602 Overpassing 50 603 Elevated 50 604 Tunnel 50 605 Right bank 50 606 Left bank 50 607 Under construction 50 608 Salt 50 609 Unsurveyed 50 610 Intermittent 50 611 Abandoned or discontinued 50 612 Submerged or sunken 50 613 Wooded 50 614 Dry 50 615 Mineral or hot (sulphur, alkali,etc.) 50 616 Navigable transportation 50 617 Underpassing 50 618 Earthen construction 50 000 Photorevised feature DATA QUALITY ASSESSMENT: The following are subjective comments regarding this data. The USGS DLG features of this layer are fairly complete. The density of line work representing drainage networks appears to vary arbitrarily from quad to quad, and there are discontinuities in lines depicting streams at the edges of 100k quads. The geographic feature accuracy is fair. Contiguous features are not always matched across map sheet boundaries. The attribute completeness and accuracy is good. The US EPA River Reach file as archived at Teale is an alpha release (prototype). As such, users are cautioned to verify drainage network connectivity and water feature names before undertaking extensive processing using RF3 data. The southern portion of Santa Rosa Island (Teale tile svjhysa) does not have a corresponding RF3 file (expect svjhysa.ds2 in early 1996). SUPPLEMENTARY INFORMATION (courtesy of Department of Fish & Game) In 1993, US EPA changed the DS2 file designator to DS3 and changed the MILE and related items from numeric type to character type. No data content changes were made. At this writing, the hydrography layer is archived with the DS2 files. The DS2 / DS3 item UPDTSRC1 concatenates HYSNUM and HSCKEY for those records that have a corresponding AAT record. UPDTSRC1 contains the value 9999 for DS2 / DS3 records created by US EPA that have no corresponding record in the hydrography layer. UPDTSRC1 contains leading zeroes for single-digit HYSNUM values. (see DFG version of HYSNUM described above) INDEX TO 1:100,000 DLG HYDROGRAPHY ARC/INFO coverage names are composed of the prefixes shown in the statewide grid below (some are abbreviations of the USGS 1:250,000-scale quad map series names), plus the suffix JHYSA for the line and polygon data layers (for example, RDJHYSA, for the Redding quad). The item HYSNUM in the ARC/INFO feature attribute tables contains the indicated numeric values to reference the tile within which a given feature falls. DFG version of diagram below modified by adding 10 to each original Teale HYSNUM value (see description at top of file). DFG-HYSNUM QUAD NAME 126 124 122 120W 42N _____ OREGON _____ 11 CRESCENT CITY | ZF | WE | AC | 12 WEED | 11 | 12 | 13 | N 13 ALTURAS 41 |_____|_____|_____| E 14 EUREKA | EA | RD | XJ | V 15 REDDING | 14 | 15 | 16 | A 16 SUSANVILLE 40 |_____|_____|_____| D 17 UKIAH | UK | CQ | A 18 CHICO | 17 | 18 | 118 19 SANTA ROSA 39 |_____|_____|_____ 20 SACRAMENTO | X9 | SO | WK | 21 WALKER LAKE | 19 | 20 | 21 | 116 22 SAN FRANCISCO 38 |_____|_____|_____|_____ 23 SAN JOSE | SF | SJ | MZ | GU | 24 MARIPOSA | 22 | 23 | 24 | 25 | 25 GOLDFIELD 37 |_____|_____|_____|_____| 26 (no USGS name) | SX | ZP | FO | DV | 27 MONTEREY | 26 | 27 | 28 | 29 | 114 28 FRESNO 36 |_____|_____|_____|_____|_____ 29 DEATH VALLEY | SL | BF | TJ | KI | 30 SAN LUIS OBISPO | 30 | 31 | 32 | 33 | 31 BAKERSFIELD 35 |_____|_____|_____|_____| A 32 TRONA | SM | LA | SB | NE | R 33 KINGMAN | 34 | 35 | 36 | 37 | I 34 SANTA MARIA 34 |_____|_____|_____|_____| Z 35 LOS ANGELES | SV | LB | SN | S6 | O 36 SAN BERNARDINO | 38 | 39 | 40 | 41 | N 37 NEEDLES 33 |_____|_____|_____|_____| A 38 SANTA ROSA ISLAND | SD | EL | 39 LONG BEACH | 42 | 43 | 40 SANTA ANA 32 |--------------| 41 SALTON SEA MEXICO 42 SAN DIEGO 43 EL CENTRO Each quad covers an area one degree of latitude by two degrees of longitude, except as noted: ZF, WE, AC, XJ, and CQ coverage boundaries have been extended to include hydrographic features between the quad lines and the State Boundary; SD and SV include Channel Islands; no Teale data beyond the Mexico border (---). See the coverage hydroindexa in /tlib/hydro for a gis version of this index map. The DFG version of the index is dfghost:/tsb/dfgbase/hydro/indxhysa DATA CONTACTS: Contact Name: Virginia Wong-Coppin (Teale Data Center) Contact's Phone: 916-263-1489 Contact Name: Paul Veisze (Department of Fish & Game) Contact's Phone: 916-323-1667 Contact Name: Michael Byrne (Department of Fish & Game) Contact's Phone: 916-654-7631 Revised October 1995. Revised November 1995. ----------------------------------------------------------------------- APPENDIX.C /*flow.aml /*arcedit aml to correct direction of all hydro arcs /*written by mike byrne /*jan 10, 1996 /*each arc will end up with a unique value in the minor5 item /*the head water arc, will have the greatest number and the outflow = 1 /*this aml has some limitations and is in beta format /*arguments /* pnmcd = the pname code, distinct for each stream /*variables /*in order of appearance /* .totnum = the total number of arc in a named stream (incl. islands) /* cnt = a counting variable to catch the headwater arc /* numsel = the number of currently selected arcs /* .tnode = the tnode# of the present arc /* .ptnode = the previous tnode#, should be the fnode# of present arc /* pkey = the primary key item of the currently selected arc /*routines /* error /* failed /*sub-amls /* lake &args pnmcd pkey .totnum /*an argument of pnmcd,pkey/.totnum optional &if [null %pnmcd%] &then &call flowusage /*if no argument call usage /*&if ^ [iteminfo [show ec] -[show ef] %pkey% -exists] &then &call noitem &if [show ef] ne ARC &then ef arc &severity &error &routine failed /*if error call failed r. &s ow1 = [open stream.error ostat -append] &mess &off &s .ptnode = null sel pnmcd cn [quote %pnmcd%] /*select all streams of same name &if [null %.totnum%] &then &s .totnum = [show number select]/*find # arcs/stream &else res minor5 = 0 /*to pick up where error left off &if [show number select] <> %.totnum% &then &do &type nothing left to do &return &end calc minor5 = 0 /*initialize minor5 &if ^ [null %pkey%] &then sel pkey = %pkey% &else res dangle &if [show num select] ne 1 &then /*if only 1, good procede &call failed /*if more than one dangle, fail &s cnt = 0 /*initalize count variable &type begining PNMCD [unquote %pnmcd%] with %.totnum% arc(s) &do &while %.totnum% gt 0 /*do once for every arc in stream &s numsel = [show number select] /*show num selected &s .tnode = [show arc [show select 1] item tnode#] /*set head of arc &if %cnt% = 0 &then /*special case for headwater arc &do &s pkey = [show arc [show select 1] item pkey] sel ( fnode# = %.tnode% or tnode# = %.tnode% ) and pkey ne %pkey% &if [show number select] = 0 &then /*if no arc attached to front &do sel pkey = %pkey% /*select arc flip /*flip arc &end sel pkey = %pkey% &s .ptnode = [show arc [show select 1] item fnode#] &s .tnode = [show arc [show select 1] item tnode#] &end /*end headwater arc loop &if %numsel% gt 1 &then &run lake %pnmcd% /*open water special case &if %.tnode% = %.ptnode% &then flip /*if head = tail, flip calc minor5 = %.totnum% /*calc minor5 to count &s .totnum = %.totnum% - 1 /*next lowest &s .ptnode = [show arc [show select 1] item tnode#] /*set tail of next arc asel connect /*find all arc connected res minor5 = 0 and pnmcd cn [quote %pnmcd%]/*find the next downstream arc ds /*draw it &s cnt = %cnt% + 1 /*set count variable &end coo mouse &mess &on &s clf = [close %ow1%] &return &routine flowusage /*usage routine &type USAGE: flow &type {primary key of headwater arc} {number left to do} &return; &return &routine failed /*failed routine &s wo1 = [write %ow1% [quote %pnmcd%,%.ptnode%]] &s clf = [close %ow1%] &type %pnmcd% failed at node %.ptnode%, try again coo mouse &mess &on &return; &return &routine noitem &type item PKEY does not exists in [show ec] for [show ef]S &type exiting ... &return; &return ----------------------------------------------------------------------- /*lake.aml /*arcedit aml to correct direction of all hydro arcs /*written by mike byrne /*jan 12, 1996 /*this aml is called by the flow.aml to run fixes on double lined streams /*and lakes. only new variables are describe here. the variable of the /*pnmcd is passed as an argument, and .ptnode and .tnode are globals /*variables /*in order of appearance /* lpoly = the poly # of the polygon on the left of the selected arc /* rpoly = the poly # of the polygon on the right of the selected arc /* poly = the poly # of the polygon inside the selected arcs /* startl = the tnode# of the inflow arc to a lake /* vtn = number of vertices along selected arc /* vtx = the x coordinate of center vertex of the selected arc /* vty = the y coordinate of center vertex of the selected arc /* path1,2 = the x,y coor pair of two diferent paths around open water /* pathf = the x,y coor pair of the outflow arc /* l1,2 = the lengths of each path around an open waterway /* lp = either 1 or 2 for shortest path around a waterway /* spath = number of arcs on the shortest path /*routines /* error /* failed &args pnmcd calc minor5 = -1 /*first two lake arcs &s lpoly = [show arc [show select 1] lpoly#] /*find out the lake poly # &s rpoly = [show arc [show select 1] rpoly#] &if %lpoly% ne 1 &then &s poly = %lpoly% &else &s poly = %rpoly% coor key /*set coo to keyboard &s startl = %.ptnode% /*initialize lake start node &do i = 1 &to 2 /*find middle vertex of each &s vtn [show arc [show select %i%] npnts] &sel [mod %vtn% 2] &when 1 /* Odd count, get X,Y coordinate of middle vertex! &s path%i% [show arc [show select %i%] vert [ca [trunc [ca %vtn% / 2]] + 1]] &when 0 &do &s vt1 [show arc [show select %i%] vert [ca %vtn% / 2]] &s vt2 [show arc [show select %i%] vert [ca [ca %vtn% / 2] + 1]] &s vtx [ca [ca [ext 1 %vt1%] + [ext 1 %vt2%]] / 2] &s vty [ca [ca [ext 2 %vt1%] + [ext 2 %vt2%]] / 2] &s path%i% = %vtx%,%vty% &end &end &end /*end do sel lpoly# = %poly% or rpoly# = %poly% /*find entire lake calc minor5 = -1 &s lakenum = [show num select] asel connect res pnmcd cn [quote %pnmcd%] and minor5 = 0 /*find exit arc &if [show num select] gt 1 &then &do /*lake into doubel res ( lpoly# ne %poly% or rpoly# ne %poly% ) and minor5 = -1 &if [show num select] = 0 &then &do /*one poly into another sel lpoly# = %poly% or rpoly# = %poly% asel connect res pnmcd cn [quote %pnmcd%] and minor5 = 0 &end &end &if [show num select] = 0 &then &do /*double line exit at confluence sel lpoly# = %poly% or rpoly# = %poly% asel connect res pnmcd ne [quote %pnmcd%] &end &sv vtn [show arc [show select 1] npnts] &sel [mod %vtn% 2] &when 1 /* Odd count, get X,Y coordinate of middle vertex! &s pathf [show arc [show select 1] vert [ca [trunc [ca %vtn% / 2]] + 1]] &when 0 &do &s vt1 [show arc [show select 1] vert [ca %vtn% / 2]] &s vt2 [show arc [show select 1] vert [ca [ca %vtn% / 2] + 1]] &s vtx [ca [ca [ext 1 %vt1%] + [ext 1 %vt2%]] / 2] &s vty [ca [ca [ext 2 %vt1%] + [ext 2 %vt2%]] / 2] &s pathf = %vtx%,%vty% &end &end &do i = 1 &to 2 /*compare paths, take shorter sel path /*paths around lake first [value path%i%] %pathf% &s l%i% = 0 &do j = 1 &to [show num select] &s l%i% = [value l%i%] + [show arc [show select %j%] item length] &end &end /*end path compare loop &if %l1% lt %l2% &then &s lp = 1 &else &s lp = 2 /*take shorter path sel path [value path%lp%] %pathf% calc minor5 = 0 &s spath = [show number select] - 1 /*# of arcs on short side res [value path%lp%] &s .tnode = [show arc [show select 1] item tnode#] &do j = 1 &to %spath% /*do shorter path correction &s pkey = [show arc [show select 1] item pkey] &s .tnode = [show arc [show select 1] item tnode#] &if %.tnode% = %.ptnode% &then flip calc minor5 = %.totnum% &s .totnum = %.totnum% - 1 &s .ptnode = [show arc [show select 1] item tnode#] asel connect res minor5 = 0 and pnmcd cn [quote %pnmcd%] ds &end &if %lp% = 1 &then &s lp = 2 &else &s lp = 1 sel minor5 = -1 calc minor5 = 0 sel path minor5 [value path%lp%] %pathf% &s island = [calc %lakenum% - [calc %spath% + [calc [show num sel] - 1]]] &if %island% gt 0 &then &do sel ( lpoly# = %poly% or rpoly# = %poly% ) and ~ ( pnmcd cn [quote %pnmcd%] and minor5 = 0 ) res lpoly# ne 1 and rpoly# ne 1 &do i = 1 &to [show num select] &s pkey%i% = [show arc [show select %i%] item pkey] &end &do i = 1 &to [show num select] sel pkey = [value pkey%i%] calc minor5 = %.totnum% &s .totnum = %.totnum% - 1 &end &end sel /*selection for next run [value path%lp%] /*on longer side of lake &s .tnode = [show arc [show select 1] item tnode#] &s .ptnode = %startl% coor mouse &return &routine failed /*failed routine &s wo1 = [write %ow1% [quote %pnmcd%,%.ptnode%]] &s clf = [close %ow1%] &type %pnmcd% failed at node %.ptnode%, try again coo mouse &mess &on &return; &return; &return; &return ----------------------------------------------------------------------- APPENDIX D /*mkroute.aml /*created by mike byrne /*california dept. of fish and game /*inland fisheries division /*sept 12, 1995 /* /*this aml makes routes on a stream coverage /*which has usepa river reach file 3 addresses /*all related (not literally) files must/will /*have a prefix of the cover input /* /*certain things must occur first /* 1)the aat file must have the items rf3rchid /* pname, and pnmcd /* 2)there MUST be 'flow' topology pointing DOWNstream /* /* the section name will be the same as the route name /* entered on the command line /* /* variables /* user input /* cov - a coverage in the current directory /* route - name of the route and section the program creates /* aml variables /* ro1/or1 - open/read variables /* r1stat - status of read file used to control loop /* vtc - the x,y coordinates of the second vertex on the /* start arc for the route (each unique rf3rchid) /* /* files /* %cov% user defined coverage /* tmp.join aml created, sets up relate for event table /* joined on to eventable and deleted /* zzmkroute text file of unique routes written by info /* and read by aml. this file contains the unique /* values of the rf3rchids in the event table /* %cov%.evn saved event environment /* &args cov route /*user defined arguments &if [null %cov%] &then &call error /*check arguments &if [null %route%] &then &call error /*check arguments &s cov = [translate %cov%] &s route = [translate %route%] &if [show program] eq ARC &then arcedit ec %cov% arc /*set edit coverage/feature &s dv = [delete %cov%.rat%route% -info] /*overwrite existing files &s dv = [delete %cov%.sec%route% -info] /*overwrite existing files &s dv = [delete tmp.join -info] /*overwrite existing files &s dv = [delete %cov%.evn -info] /*overwrite existing files &data arc frequency %cov%.AAT tmp.join /*create a unique list of rf3rchid pnmcd pname /*frequency is done on event table end /*for 1st arc (epa rf3 address) end quit &end &data arc info /*create ascii file to read of ARC /*unique reaches/routes SEL TMP.JOIN RES PNMCD = '' or PNAME CN 'PACIFIC' PURGE Y OUTPUT ../ZZMKROUTE INIT LIST PNMCD,' ,' PRINT Q STOP &end &s clf = [close -all] &s ow1 = [open error.zero owstat -write] &s ow2 = [open error.multi owstat -write] &s or1 = [open zzmkroute or1stat -read] /*open unique reach file to read &s ro1 = [read %or1% r1stat] /*loop though and make route for each &do &while %r1stat% = 0 sel pnmcd = [quote [extract 1 [unquote %ro1%]]] /*select the entire stream res minor5 = 1 /*reselect the handle arc &if [show num select] = 0 &then ~ &s wo1 = [write %ow1% [extract 1 [unquote %ro1%]]] &if [show num select] gt 1 &then ~ &s wo2 = [write %ow2% [extract 1 [unquote %ro1%]]] &if [show num select] = 1 &then &do &s nvt = [show arc [show select 1] npnts] /*find x,y on begining of arc &s vtc = [show arc [show select 1] vert %nvt%] /*find x,y on begining of arc &if [trunc [before %vtc% ,]] = [before %vtc% ,] &then ~ /*check to make sure &s vtc = [before %vtc% ,].0,[after %vtc% ,] /*x coord is real, esri bug asel pnmcd cn [quote [extract 1 [unquote %ro1%]]]/*add all reaches of STREAM makeroute %route% %vtc% /*make route starting at begining &end &s ro1 = [read %or1% r1stat] /*loop back do next &end save quit joinitem %cov%.rat%route% tmp.join %cov%.rat%route% %route%# %route%-id link &s dv = [delete tmp.join -info] /*clean up &s dv = [delete zzmkroute -file] &s clf = [close -all] &return /*exit &routine error &type USAGE: mkroute &return; &return -----------------------------------------------------------------------
California Advisory Committee on Salmon and Steelhead Trout, 1986. _The Tragedy Continues_. Progress report to the Legislature and Department of Fish and Game. 36p.
California Advisory Committee on Salmon and Steelhead Trout, 1988. _Restoring the Balance_. Progress report to the Legislature and Department of Fish and Game. 84p.
ESRI, 1991. _Dynamic Segmentation Modeling linear features_. ESRI, 1991.
California Department of Fish and Game, 1991. California Salmonid Stream Habitat Restoration Manual. The State of California Resources Agency, 1994.