CRWR Online Report 04-05 Temporal Geoprocessing for Hydroperiod Analysis of the Kissimmee River by Jennifer K. Sorenson, M.S.E. Graduate Research Assistant and David R. Maidment, PhD. Principal Investigator May 2004 CENTER FOR RESEARCH IN WATER RESOURCES Bureau of Engineering Research ? The University of Texas at Austin J.J. Pickle Research Campus ? Austin, TX 78712-4497 This document is available online via World Wide Web at http://www.ce.utexas.edu/centers/crwr/reports/online.html Acknowledgements Thank you for sharing your vision, passion, and ambition with your students, Dr. David Maidment. You are an inspiring teacher, advisor, and mentor, and you have taught me so much. I am grateful to have worked alongside you on such an awesome project. Thank you to the South Florida Water Management District for funding my participation in this phenomenal study, with special thanks to Chris Carlson and Michele Maierhofer for always providing me with a clear vision of the project and more data than I could ever imagine. Thank you also to PBS&J; it was a pleasure to work with your team of professionals in producing this deliverable. Thank you to everyone at the Center for Research in Water Resources. Special thanks go to Jonathon Goodall and Venkatesh Merwade for your coding expertise and contributions to this research. Thank you all for making my stint at The University of Texas a valuable learning, growing, and enriching life experience. ii Table of Contents List of Tables ......................................................................................................... vi List of Figures....................................................................................................... vii Chapter 1: Introduction...........................................................................................1 1.1 Background............................................................................................1 1.2 Problem Statement.................................................................................2 1.3 Objectives ..............................................................................................3 1.4 Approach................................................................................................4 1.5 Overview................................................................................................4 Chapter 2: Literature Review..................................................................................6 2.1 Kissimmee River Restoration Project....................................................6 2.2 Spatial Interpolation.............................................................................20 2.2.1 Inverse Distance Weighting........................................................21 2.2.2 Kriging ........................................................................................23 2.2.3 Spline ..........................................................................................26 2.2.4 Natural Neighbor ........................................................................27 2.3 Temporal Data Models ........................................................................29 Chapter 3: Model Development............................................................................34 3.1 Data Compilation.................................................................................34 3.1.1 Floodplain ...................................................................................36 3.1.2 Habitat Zone................................................................................36 3.1.3 Hydroperiod Points .....................................................................37 3.1.4 Water Depth Points.....................................................................37 3.1.5 Water Zone..................................................................................39 3.1.6 Raster Catalog.............................................................................39 3.1.7 Attribute Series ...........................................................................41 3.1.8 TSType Table..............................................................................43 3.2 Model Construction .............................................................................45 iii 3.2.1 DBHydro Data Ingest .................................................................52 3.2.2 River Interpolation......................................................................55 3.2.3 Generate Rasters .........................................................................59 3.2.4 Classify Depths ...........................................................................66 3.2.5 Calculate Statistics......................................................................69 3.2.5.1 Temporal Statistics.......................................................75 3.2.5.2 Zonal Statistics.............................................................76 3.2.5.3 Spatial Statistics...........................................................77 3.2.5.4 Summary Statistics.......................................................78 3.2.5.5 Overall Statistics ..........................................................80 3.2.6 Calculate Volume........................................................................81 3.3 Model Compilation ..............................................................................82 3.3.1 Biological Analysis.....................................................................83 3.3.2 Water Quality Analysis...............................................................84 3.3.3 Hydrologic Analysis ...................................................................86 3.4 Spatial Interpolation Analysis..............................................................87 Chapter 4: Results.................................................................................................91 4.1 Land Surface Elevation Grid Evaluation .............................................91 4.2 Validation of Data using Spatial Interpolation Comparisons ............100 4.3 Graphical Display of Spatial and Temporal Analysis........................113 4.4 Application of the Enhanced Arc Hydro Time Series Data Model ...128 4.4.1 Time Series ...............................................................................128 4.4.2 Attribute Series .........................................................................131 4.4.3 Raster Series..............................................................................133 4.4.4 Feature Series............................................................................135 4.5 Application of Temporal Geoprocessing...........................................137 Chapter 5: Conclusions.......................................................................................140 5.1 Synopsis of Hydroperiod Analysis ....................................................140 5.2 Findings..............................................................................................141 5.3 Significance of Research....................................................................143 iv 5.4 Future Research .................................................................................144 Appendix A: ModelBuilder Tutorial ..................................................................145 Appendix B: ModelBuilder Scripts ....................................................................160 B.1 DBIngest Part 1: InputXML.....................................................160 B.2 DBIngest Part 2: Web2TSXML...............................................162 B.3 DBIngest Part 3: XML2GDB...................................................162 B.4 River Interpolation: CreateNewPoints .....................................163 B.5 Generate Rasters: GenerateRastersBatch.................................163 B.6 Classify Depths: ClassifyDepthsBatch.....................................166 B.7 Calculate Statistics: ZonalStatisticsBatch ................................168 B.8 Calculate Volume: CalculateVolumeBatch .............................170 B.9 General Utilities: AppendTable ...............................................172 B.10 General Utilities: DeleteTable................................................172 Appendix C: GetZValues Visual Basic Macro...................................................173 Appendix D: Summary of Mathematical Framework Defined for Calculating Hydroperiod ................................................................................................176 References............................................................................................................186 Vita .....................................................................................................................188 v List of Tables Table 2.1: Past, Present, and Future of the Kissimmee Wetland Ecosystem........15 Table 3.1: Input Data, Parameters, and Output Data of Models...........................48 Table 3.2: Three Approaches to Calculating Statistical Averages .......................73 Table 3.3: Three Approaches to Calculating Statistical Minimums .....................73 Table 3.4: Summary of Statistical Equations........................................................74 Table 4.1: Summary Statistics of Land Surface Elevation Difference Grids .......95 Table 4.3: Daily RMSE Values for each Interpolation Method .........................106 Table 4.4: Summary Statistics of Interpolated Mean Error Grids ......................110 Table D.1: Glossary of Hydroperiod Variables ..................................................184 vi List of Figures Figure 2.1: Florida?s five water management districts ...................................................... 7 Figure 2.2: Greater everglades ecosystem in South Florida .............................................. 8 Figure 2.3: Historic, channelized, and restored river profiles.......................................... 10 Figure 2.4: Reservoir spacing in channelized Kissimmee River ..................................... 10 Figure 2.5: Kissimmee River Restoration Project area.................................................... 13 Figure 2.6: Past, present and future of the Kissimmee River .......................................... 14 Figure 2.7: Hydraulic definitions (Illustrations from Maidment, 2004).......................... 18 Figure 2.8: Cell inclusion rules for polygon zones.......................................................... 19 Figure 2.9: Temporal components in mathematical expressions..................................... 20 Figure 2.10: Semivariogram plot ..................................................................................... 24 Figure 2.11: Covariance plot............................................................................................ 25 Figure 2.12: Convex hull ................................................................................................. 28 Figure 2.13: Voronoi diagram with Delaunay triangles .................................................. 29 Figure 2.14: Evolution of data storage to a temporal geodatabase.................................. 31 Figure 2.15: Components of the Arc Hydro Data Model (Maidment, 2002) .................. 32 Figure 3.1: AHED input data for hydroperiod analysis................................................... 35 Figure 3.2: 100-year Floodplain with HydroperiodPoints and WaterZone ..................... 35 Figure 3.3: HabitatZone polygon feature class................................................................ 36 Figure 3.4: HabitatZone attribute table............................................................................ 37 Figure 3.5: 100-year Floodplain with WaterDepthPoints................................................ 38 Figure 3.6: View of rasters in a Raster Catalog and File Folder...................................... 40 Figure 3.7: Input and output rasters from hydroperiod analysis...................................... 41 Figure 3.8: AttributeSeries table...................................................................................... 42 vii Figure 3.9: DBHydro Browser......................................................................................... 43 Figure 3.10: Duplicate DBKeys for stage data stored in DBHydro ................................ 43 Figure 3.11: TSType table ............................................................................................... 44 Figure 3.12: Modular components of hydroperiod analysis ............................................ 46 Figure 3.13: Hydroperiod Toolbox summary of models and scripts............................... 47 Figure 3.14: DBHydro Data Ingest Toolbox ................................................................... 53 Figure 3.15: Data Ingest from DBHydro to Arc Hydro via ModelBuilder ..................... 54 Figure 3.16: DBIngest model........................................................................................... 55 Figure 3.17: Centerline through the WaterZone polygon................................................ 57 Figure 3.18: River Interpolation Centerline model.......................................................... 57 Figure 3.19: RiverWeightedPoints model........................................................................ 58 Figure 3.20: Measured and interpolated points along the river ....................................... 59 Figure 3.21: GenerateRastersPart1 model ....................................................................... 61 Figure 3.22: GenerateRastersPart2_IDW model ............................................................. 61 Figure 3.23: GenerateRastersPart2_Kriging model......................................................... 62 Figure 3.24: GenerateRastersPart2_NN model................................................................ 62 Figure 3.25: GenerateRastersPart2_Spline model ........................................................... 62 Figure 3.26: Part of the GenerateRastersBatch looping script......................................... 64 Figure 3.27: GenerateRastersBatch script parameters to be specified in GUI ................ 65 Figure 3.28: Determining model parameters to be called in scripts ................................ 66 Figure 3.29: ClassifyDepths model.................................................................................. 67 Figure 3.30: Depth classification GUI............................................................................. 68 Figure 3.31: Depth classes and their boundaries ............................................................. 68 Figure 3.32: TemporalStatistics model............................................................................ 76 Figure 3.33: ZonalStatistics model .................................................................................. 77 viii Figure 3.34: SpatialStatistics model ................................................................................ 78 Figure 3.35: SummaryStatistics model............................................................................ 79 Figure 3.36: Statistics field selection for SummaryStatistics model ............................... 79 Figure 3.37: OverallStatistics model................................................................................ 80 Figure 3.38: CalculateVolume model.............................................................................. 82 Figure 3.39: OverallBio model ........................................................................................ 83 Figure 3.40: OverallWQDaily model .............................................................................. 85 Figure 3.41: OverallWQCell model................................................................................. 85 Figure 3.42: OverallHydroArea model............................................................................ 86 Figure 3.43: OverallHydroTime model ........................................................................... 87 Figure 4.1: Pre- and post-construction land surface elevation grids: (a) pre-construction grid, ELEV; (b) post-construction LSE grid 1, PostLandElev; and (c) post- construction LSE grid 2, PostElevCJR ..................................................................... 93 Figure 4.2: Differences between pre- and post-construction land surface elevation grids ................................................................................................................................... 95 Figure 4.3: Erroneous contour lines highlighted in blue among other contour line data (left), erroneous contour lines highlighted in red overtop the post-construction land surface elevation grid 1 (right).................................................................................. 96 Figure 4.4: Contour line density in a single cell .............................................................. 97 Figure 4.5: Histograms for difference data...................................................................... 99 Figure 4.6: Trend analysis for difference data............................................................... 100 Figure 4.7: Water depth points for six days analyzed (left); Water depth points with large RMSE values (right) ............................................................................................... 101 Figure 4.8: Daily RMSE at each measured water depth point....................................... 103 ix Figure 4.9: Discrepancy between pre- and post-construction land surface elevation grids ................................................................................................................................. 104 Figure 4.10: Discrepancy between two post-construction land surface elevation grids 104 Table 4.2: Daily Mean Error Values for each Interpolation Method............................. 106 Figure 4.11: Classified overall mean error ranges......................................................... 107 Figure 4.12: Spatial distribution of mean error.............................................................. 109 Figure 4.13: Daily RMSE values for each interpolation method................................... 111 Figure 4.14: Overall average RMSE value for each interpolation method.................... 112 Figure 4.15: Illustration of ponded depth calculation at one point location .................. 114 Figure 4.16: Selected land categories in Pool C of the Kissimmee River ..................... 115 Figure 4.17: Daily ponded depth in selected land categories ........................................ 115 Figure 4.18: Duration classes and their boundaries....................................................... 117 Figure 4.19: Percent of floodplain inundated during June 2003.................................... 121 Figure 4.20: Percent of floodplain in each water depth interval.................................... 121 Figure 4.21: Spatial distribution of minimum, mean, and maximum water depths....... 122 Figure 4.22: Duration and percent of floodplain inundated at different depth intervals 123 Figure 4.23: Daily mean water volume in each 60ft x 60ft cell .................................... 125 Figure 4.24: Daily total water volume in each zone ...................................................... 125 Figure 4.25: Stage in Kissimmee River graphed using TSPlotter ................................. 127 Figure 4.26: Enhanced Arc Hydro Time Series Framework ......................................... 129 Figure 4.27: Sample Time Series data query from DBHYDRO browser and associated Attribute Series table............................................................................................... 130 Figure 4.28: Sample plot generated from DHI TimeSeries tools .................................. 131 Figure 4.29: Attribute series joined with point feature class ......................................... 132 Figure 4.30: Calculation of zonal statistics.................................................................... 133 x Figure 4.31: Spatial interpolation of water surface elevation and calculation of ponded depth grid ................................................................................................................ 134 Figure 4.32: Reclassification of the ponded depth grid ................................................. 135 Figure 4.33: Conversion of classified ponded depth grid to a dissolved polygon feature class......................................................................................................................... 136 Figure 4.34: ArcGIS Tracking Analyst view of depth classified polygons changing through time............................................................................................................ 137 xi Chapter 1: Introduction The once pristine Everglades in southern Florida covered an expansive eight million acres and were home to 68 threatened or endangered species (SFWMD, 2003a). Water that used to move in great sheets across the Everglades is now bound in canals. Implemented in an effort to balance hydrologic fluctuations, meet urban and agricultural demands of an expanding population, and provide flood protection, channelization badly damaged the ecosystem in the floodplain. Excessive rainfall threatens the state?s extraordinarily flat terrain with flooding, while insufficient rainfall threatens the state?s fragile ecosystem and water supply. As such, the state is charged with a daunting task to supply water when needed and remove it when in excess. Considered the world?s largest ecosystem restoration project, the Comprehensive Everglades Restoration Plan (CERP) seeks to restore the ecosystems of the Kissimmee River, Lake Okeechobee, and the Everglades while maintaining flood control; it is expected to cost $7.8 billion and take more than 30 years to complete in a joint state and federal effort (SFWMD, 2003b). At the request of the South Florida Water Management District, the Center for Research in Water Resources (CRWR) developed an analysis method to evaluate hydroperiod, where hydroperiod is defined as the depth and duration of inundation in a floodplain area. Biological, hydrologic, and water quality assessments made possible by hydroperiod analysis will enable the state to evaluate ecological restoration and flood control effectiveness. 1.1 BACKGROUND Part of the Comprehensive Everglades Restoration Plan, the Kissimmee River Restoration project exists to restore the channelized river to its original meandering stream and floodplain system. The project is designed to backfill 22 miles of canal, re- 1 carve 9 miles of the former meandering river channel, and restore over 40 square miles of the river/floodplain ecosystem (SFWMD, 2003c). The hydroperiod tool is designed to assess a restored prototype area along the Kissimmee River known as Pool C but generic enough for application to other areas. Water surface elevation in the 100-year Pool C floodplain is measured by 21 water stage gages that strategically intersect the river/floodplain system and measure stage every 15 minutes. These stage measurements are averaged daily and are used to generate a water surface grid, which is in turn used to generate a ponded depth, to be used in hydroperiod analysis. 1.2 PROBLEM STATEMENT The purpose of the hydroperiod analysis is to define the depth and duration of flood inundation as a function of location in the Pool C area of the Kissimmee River Basin. The hydroperiod results can then be used to evaluate the biological, hydrologic, and water quality response of the Kissimmee River ecosystem to reconstruction. In terms of biological analysis, the purpose is to determine what part of the floodplain is available to various fish and wildlife during a specified period of analysis. To make this determination, the water depth throughout the floodplain must be calculated and classified into user defined depth classes. These depth classes are then evaluated over time to yield the duration of inundation within a specified depth class and selected geographic extent. Hydrologic analysis requires calculation of the mean daily water depth in a selected geographic area and a specified period of time. The mean daily water depth for this area is used to determine the mean monthly, seasonal, and annual water depth so that a comparison can be made between wet and dry seasons, between and across months, and over and across years. Simple statistics related to the daily mean water depth are 2 calculated for user provided geographic zones. Finally, the analysis must identify what percent of the selected area is inundated for what percent of the time. For water quality analysis, the user needs to determine the volume of water in the river, over the floodplain, and in the combined river/floodplain system during a specified period of analysis. These volumes can then be used to calculate residence time and nutrient loads to assess the effect of restoration on water quality. 1.3 OBJECTIVES The primary objectives of this research are to develop a method to evaluate depth and duration of inundation over a selected geographic extent and to contribute to the evolving concept of temporal geoprocessing. More specifically, the objectives are to: 1. Authenticate integration of external source temporal data with the Arc Hydro Time Series data model and geoprocessing functionality available within ArcMap. 2. Develop a hydroperiod analysis method in ArcGIS 9.0 to synthesize geospatial and temporal water resources data, including the following functionality (where the user is able to specify geographic extent, time period, and depth class intervals): a. Calculate depth and duration of inundation; b. Classify depths of inundation into user-defined depth intervals; c. Calculate spatial, temporal, and overall statistics (i.e. mean, minimum, maximum, standard deviation, etc.) of depth of inundation; and d. Calculate the volume of water in the river, in the floodplain, and in the combined system. 3 3. Evaluate hydroperiod analysis accuracy by comparing calculated depth values with water depth field data collected at various locations throughout the Pool C floodplain. 1.4 APPROACH Development of the hydroperiod analysis method is really an exercise in temporal geoprocessing, a question of how a value (depth in this case) changes through space and time. The question that follows is: how does one calculate, display, and manage changing values through space and time? This research utilizes Visual Basic programs and models and scripts created using ModelBuilder in ArcGIS 9.0 to manage temporal data and to complete the hydroperiod calculations. (ModelBuilder is further explained in Section 3.2.) Map algebra, spatial interpolation, zonal statistics and other existing ArcGIS tools are used in the ModelBuilder models; ArcGIS Tracking Analyst is used to view the extent and depth classification of inundation animated over time; and graphs are created in Excel to determine inundation trends over time. 1.5 OVERVIEW The remaining chapters elaborate on the history, development, and results of the hydroperiod analysis introduced in this chapter. Chapter 2 describes the geographic past, present, and future of Kissimmee River, discusses advantages and disadvantages of several spatial interpolation methods, and documents the existing ArcGIS Arc Hydro Time Series data model. Chapter 3 provides an overview of the methods used to develop the hydroperiod analysis, including data and model compilation, as well as the approach to evaluate hydroperiod analysis accuracy. Chapter 4 presents graphical results of the hydroperiod analysis, a comparison of measured and calculated water depth values, and 4 the enhanced Arc Hydro Time Series data model, as well as potential application of temporal geoprocessing to future engineering problems. Chapter 5 summarizes the findings of this research and introduces ideas for continued development and refinement of the hydroperiod analysis method presented herein. 5 Chapter 2: Literature Review Formation of a conceptual framework useful in evaluating restorative success of the Kissimmee River requires understanding of the area?s historic, present, and restored conditions. Water inundation depth, duration, and extent are central to assessment of restorative success. Therefore, accurate estimation of each is critical. Several interpolation methods are described here and are later compared (Chapter 4) to determine which method is best suited for prediction of water depths in the Kissimmee River area. Finally, the integration of temporal data (water level and depth changing through time) must be integrated into a geospatial database. The existing ArcGIS temporal framework is described briefly to establish a foundation for the enhancements described in Chapter 4. 2.1 KISSIMMEE RIVER RESTORATION PROJECT When the state of Florida was established in 1845, two-thirds of the land was covered in swamps and marshes, mostly owned by the federal government. The state received 20 million acres of wetlands through the Federal Swamp and Overflowed Land Acts of 1850. During the next 100 years, the land was drained, the floodplain reduced, and the water redirected for flood protection, agriculture, and residential use. The drainage system proved insufficient in the 1920?s when 2000 people died mostly from hurricane-induced flooding. Two more hurricanes ripped through South Florida in 1947, flooded five million acres of Florida for months, and prompted the state to form the South Florida Water Management District in 1949. Florida?s water management district boundaries (Figure 2.1) are hydrologically rather than politically determined. 6 Figure 2.1: Florida?s five water management districts Courtesy: http://www.sfwmd.gov/histo/3_5wmd_map.html The South Florida Water Management District includes 16 counties from Orlando to Key West, covers nearly 18,000 square miles, and serves more than six million residents. Charged with balancing and improving flood control, water supply, water quality, and natural systems, one of the District?s best known projects is restoration of the greater Everglades ecosystem (Figure 2.2) including the Kissimmee River, Lake Okeechobee, the Everglades and related coastal estuaries. Problems facing the ecosystem include loss of historic wetlands, loss of a vast quantity of fresh water, disrupted timing and flows of water, and deterioration of water quality. Most fresh water has been redirected to Florida Bay to minimize flooding and to prepare more land for development, some is manually pumped to cities for industrial and municipal purposes, and the little fresh water remaining feeds the Everglades. Ecosystem restoration will include reservoirs, underground aquifer storage and recovery wells, man-made wetlands, removal of canals and levees, and operational changes to the regional water management system. 7 Orlando Upper Chain of Lakes ATLANTIC OCEAN Lake Kissimmee Kissimmee River GULF OF MEXICO Lake Okeechobee West Palm Beach Fort Myers Water Conservation Areas Naples Fort Lauderdale Big Cypress Preserve Miami 10,000 Islands EVERGLADES NATIONAL PARK Florida Bay FLORIDA KEYS Figure 2.2: Greater everglades ecosystem in South Florida The Upper Chain of Lakes and the Kissimmee River are located at the northernmost tip of the greater everglades ecosystem. Historically, the Kissimmee River consisted of 103 river miles of meandering channel leading from Lake Kissimmee to Lake Okeechobee (Figure 2.3(a)). The floodplain was about 56 miles long, one to two miles wide, and sloped toward the south, dropping from 51 feet at Lake Kissimmee to 15 feet at Lake Okeechobee (about one-third of a foot in elevation over each river mile). Flows exceeded 250 cubic feet per second 95% of the time, while water velocity averaged less than two feet per second. Prolonged periods of extended floodplain inundation (approximately 35-50% of the time) contributed to a diverse habitat and thriving ecosystem. The watershed flowed almost undetectably through the grass, 8 clockwise from Okeechobee to the coral reefs and estuaries of Florida Bay (located between the Florida Keys and the mainland) using layers of shallow pools, reeds, and marsh to naturally pump and distribute the water through South Florida. Between 1962 and 1971, the meandering river and floodplain system was channelized into a 56-mile-long, 30-feet-deep, 300-feet-wide canal and transformed into a series of impounded reservoirs, Pools A-E (Figure 2.3(b)). Flood control structures (S- 65A ? S-65E) were added between reservoirs to allow the state to actively control the water level and flow in each section of land between Lake Kissimmee and Lake Okeechobee (Figure 2.4). After channelization, water flowed primarily through the single canal; however, some stagnant water was stored in remnant river channels. These remnant river channels look like the original meandering river in Figure 2.3(b), but are not actually connected to the new canal. The channelization drained approximately two- thirds of the floodplain. Even before the channelization was complete, scientists and engineers began to question the wisdom of channelizing the Kissimmee River. The once soggy uncultivated land was now dry and occupied by farmers, residents, and tourists, but no longer by the diverse array of plants, fish, and wildlife. Channelization badly damaged the ecosystem. Migratory waterfowl decreased by 92 percent, the bald eagle population dropped by 74 percent, the food chain was depleted, and fisheries dwindled. Water quality worsened. Art Marshall appeared before the Florida governor and cabinet twice to plead for ?environmental repentance? in the state; he went so far as to say that channelization of the Kissimmee River was ?sluicing sewage from Orlando directly to Lake Okeechobee? (Gunderson et al., 1995). Some say Florida experienced Barry Commoner?s Third Law of Ecology, ?Whatever man touches he makes worse? (Gunderson et al., 1995). 9 (a) Historic River (b) Channelized River (c) Restored River Figure 2.3: Historic, channelized, and restored river profiles Pool A 11 miles Pool C 9 miles Pool D 8.5 miles Pool E 7 miles Pool B 11.5 miles 8 miles Okeechobe Lake Kissimmee S-65A S-65B S-65C S-65D S-65E Figure 2.4: Reservoir spacing in channelized Kissimmee River 10 Lake In addition to the damage caused by channelization of the river, Florida?s growing population threatened future availability of a diminishing water supply. In 1950, Florida had 2.77 million residents; the population grew to 13 million in 1990 and is expected to grow to 20 million by 2020 (Simon, 1998). The water covering swampy marshlands in Florida serves not only the ecosystem, but also replenishes aquifers for drinking water supply. Already facing some water quantity and quality problems in the 1990s, Florida needed to invoke sustainable water resources management. Preservation and restoration of Florida?s natural water source became top priority. After conducting a feasibility study in 1984, the United States Army Corps of Engineers initially recommended ?no action? in response to the Kissimmee River problems. This prompted the South Florida Water Management District to take matters into their own hands. In 1985, the District did some restorative experimentation and worked with the University of California at Berkley to develop an overall restoration plan that was approved by the SFWMD governing board. The plan then went onto Congress which sent the plan to the Corps for review and approval before final authorization. The final decision to restore the Kissimmee River was helped by the 1992 Water Resources Development Act authorizing federal funds to the Corps to support environmental restoration projects (Gunderson et al. 1995). The goal of the Kissimmee River Restoration Project (KRRP) is to re-implement the natural water cycle of flow, flood, and drought that existed until the late 1940s. Being the first venture of its kind, no one is sure it can be done (Rotherfeder, 2001). More specifically, the KRRP hopes to reestablish historical wetland habitats with plant and wildlife diversity, while maintaining required flood protection by dechannelizing the Kissimmee River. A desirable byproduct is improved water quality in Lake Okeechobee. 11 Kissimmee River reconstruction objectives (illustrated in Figure 2.3(c) and Figure 2.5) are to: ? Backfill 22 of 56 miles of flood control canal; ? Remove two of five control structures (S65-B and S65-C); ? Re-carve nine miles of former meandering river channel; and ? Restore over 40 square miles of river/floodplain ecosystem. This portion of the reconstruction is expected to be complete by the year 2010. By restricting the area of restoration to the 22 miles of backfilled canal, the remaining 34 miles of canal will help control flooding, limiting inundation primarily to non-residential areas. Since the restoration efforts were initiated shortly after channelization was complete, there was limited development in the floodplain. The land in Pool C is used mostly for cattle grazing, but there is limited residential development in the floodplain. The District is required to purchase or provide flood mitigation to protect residential areas from 100-year flood events. 12 Figure 2.5: Kissimmee River Restoration Project area Courtesy: http://www.sfwmd.gov/org/erd/krr/pubs/kissflyr.pdf Figure 2.6 summarizes the past, present, and future of the Kissimmee River. Photograph (a) in the top center shows the historic meandering river. Moving clockwise, photograph (b) shows channelization, photograph (c) shows a choked river remnant (after channelization), and photograph (d) shows the canal and drained floodplain system. The arrow from the canal state (d) back to the historic meandering stream (a) signifies the District?s desire to ?recreate? a more natural environment, to revert to the meandering stream with some allowable but controlled flooding to foster a diverse habitat and thriving ecosystem. A more detailed description of the past, present, and future of the wetland ecosystem is presented in Table 2.1 (SFWMD 2002, SFWMD 2003d, SFWMD 2004). 13 (a) (d) (b) (c) Figure 2.6: Past, present and future of the Kissimmee River Photographs courtesy of: http://www.sfwmd.gov/org/erd/krr/pastpres/3_krrpp.html 14 Table 2.1: Past, Present, and Future of the Kissimmee Wetland Ecosystem River Plant Communities Fish Waterfowl Wading Birds Quantity - 103 miles long in a 1-2 mile wide floodplain - 35,000 acres of wetlands - 81,000 pounds (in the mid- 1950's) - 12,500 winter duck population - 18,000 birds HISTORI C STATE Type - meandering stream - prolonged periods of inundation - maidencane - beakrush wet prairies - broadleaf marsh - willow and buttonbush shrub swamps - hardwood - cypress - oak-cabbage hammocks - switchgrass - sawgrass - floating mats or tussocks - largemouth bass - black crappie - blue gill - catfish - red ear sunfish - ring-necked ducks - American widgeon - northern pintail - blue-winged teal - all 14 species of wading birds found in the eastern United States (1977) - white and glossy ibis - (endangered) wood stork - (endangered) snail kite - (endangered) bald eagle - (threatened) sandhill crane Quantity - 56-mile-long, 30-feet-deep, 300-feet-wide - eliminated 6,200 acres of wetlands and damaged others - approx. 26,000- 31,000 acres of floodplain were drained, covered, or converted to canal - declined due to chronic low dissolved oxygen levels - utilization by wintering waterfowl declined by 92% - declined and largely replaced CH A NNELIZ A TIO N Type - canal with water control structures for flood control - series of impounded reservoirs - low and no-flow regimes resulted in encroachment of vegetation (floating exotics) to the center of the river channel - floating exotics: Pistia stratiotes (water lettuce) and Eich-hornia crassipes (water hyacinth) - largemouth bass and other species largely replaced by species tolerant of low dissolved oxygen concentrations - species common to lentic systems - same as listed above - wading birds largely replaced by Bubulcus ibis (cattle egret) and other species common to upland, terrestrial habitats RESTO RATI O N Quantity and Type - restore 43 miles of meandering river channel - restore 40 square miles of ecosystem - sandbars and sandy bottom are indicative of improving river hydrology - formerly isolated oxbows are flowing again - restore 27,000 acres of wetlands - recreate historic mosaic of wetland plant communities - emergent and shoreline vegetation has reappeared and is thriving - success will be monitored by reestablishment of aquatic food chains - success will be evaluated based on diversity and population density (reproductive success), as compared to historic records - success will be evaluated based on diversity and population density (reproductive success), as compared to historic records - success will be evaluated based on diversity and population density (reproductive success), as compared to historic records 15 To track restoration success, the District needs to know water inundation depth, depth ranges, trends, and surface water volume. The District is interested in water inundation depth on a daily basis as well as mean water depth magnitude and variation over monthly, seasonal, and annual intervals. Water depth ranges signify zones available to plants and wildlife and need to be understood as they change over time. The percent of area inundated in the floodplain for what percent of the time is also of interest. Finally, the surface water volume must be known to calculate residence time and ultimately the nutrient assimilation capacity of the river to improve water quality in Lake Okeechobee. To capture all of this information, the District requested the Center for Research in Water Resources to develop a hydroperiod analysis method within ArcGIS. To describe spatial and temporal hydropatterns in Kissimmee River, the District installed monitoring stations in the river and across the floodplain. The monitoring station locations were carefully planned based on detailed topography, land categories, and pre- and post-channelization vegetative coverage. Stage measurements (accurate to two-hundredths of a foot) are collected every 15 minutes, stored in a data logger, and downloaded once daily. The purpose of collecting this hydrologic data is to compare documented pre-channelization conditions with post-restoration conditions by delineating the spatial extent of floodplain inundation, as well as water depth and duration (SFWMD, 2002). Hydraulic definitions needed to understand the term hydroperiod are summarized in Figure 2.7. Starting in the upper left quadrant (Figure 2.7(a)), hydraulic head is defined as the water surface elevation in a standpipe anywhere in the water system, measured in feet above mean sea level. A positive water surface elevation can exist both above and below the land surface. Moving to the upper right quadrant (Figure 2.7(b)), a map of hydraulic head specifies the continuous spatial distribution of hydraulic head over 16 the analysis domain for one time step. One hydraulic head value at one location occupies only one point on the continuous surface. Moving to the lower right quadrant (Figure 2.7(c)), a time sequence of head maps describes hydraulic head changes over space and time (three time steps are shown in the figure). Lastly, the lower left quadrant (Figure 2.7(d)) depicts ponded depth changes over time at a particular point (x,y), otherwise referred to as an inundation time series. The upper plot in Figure 2.7(d) illustrates three definitions: h is the hydraulic head as previously described, L is the land surface elevation, and d is the depth of inundation, which is equal to the hydraulic head minus the land surface elevation. In the other lower plot, the upper wavy line represents the hydraulic head over time, the straight line represents the land surface elevation (the straight line presumes a constant land surface elevation through time but it may change as restoration work is completed), and the bottom wavy line represents the depth of inundation over time. Indeed, this final plot portrays hydroperiod, which is the depth and duration of inundation in a geographic area. Hydroperiod analysis occurs spatially over polygon zones and depth class grid zones. Let R be the region described by the domain, or study area. Let R p be a polygon subdomain of R, where p represents habitat polygon zones, landscape polygon zones, river polygon zones and so on (p = 1,2,?,P). Let R g be a grid subdomain of R, where g represents depth class zones (g = 1,2,?,G); depth class zones consist of a set of cells. Polygon zone p has area A p . Likewise, depth class zone g has area A g. Let grid g be comprised of i cells with area a, such that a i is the area of cell i (i = 1,2,?,I). Equation (2-1a) states that a i is an element of A p , and Equation (2-1b) states that a i is also an element of A g . Equation (2-2a) states that a i (p) is the set of cells within A p , and Equation (2-2b) states that a i (g) is the set of cells within A g . 17 hydraulic head map of hydraulic head specifies the continuous spatial distribution of hydraulic head at an instant of time water surface elevation in a standpipe any where in a water system, measured in feet above mean sea level land surface water surface mean sea level (datum) (a) (b) inundation time series time sequence of head maps hydraulic head changes over space and timeponded depth changes over space and time d = depth of inundation L = land surface elevation h = hydraulic head hydroperiod: depth and duration of inundation in a geographic area (d) (c) Figure 2.7: Hydraulic definitions (Illustrations from Maidment, 2004) { } pii Aaa ?: (2-1a) { } gii Aaa ?: (2-1b) ? ? = pi Aa ip paA )( (2-2a) ? ? = gi Aa ig gaA )( (2-2b) When a polygon zone is specified as the subdomain of study and the polygon boundary divides or crosses topographic cells, cells must be selected based on an inclusion rule. Three cell inclusion rules are: 18 ? Rule 1: Use only those topographic cells that fall wholly within polygons (Figure 2.8(a)). ? Rule 2: Use all cells within and those cells that touch polygon edges. This means one cell may be used to calculate statistics for more than one polygon (Figure 2.8(b)). ? Rule 3: Use cells where greater than 50% of the cell area is included in the polygon (Figure 2.8(c)). (a) Rule 1 (b) Rule 2 (c) Rule 3 Figure 2.8: Cell inclusion rules for polygon zones Hydroperiod analysis occurs temporally over a specified time period, T*. The time period is divided into J time intervals (Equation (2-3)) where the time interval is represented by j (j = 1,2,?,J). Times within the specified time period are denoted with t, where t j is the time at time interval j (Figure 2.9). In accordance with Equation (2-4), time t j = ?t, 2?t, 3?t,?,J?t. t T J ? = * (2-3) tjt j ??= (2-4) 19 T* ?t j = 1 2 3 ? ? J Figure 2.9: Temporal components in mathematical expressions Given a i and t j , let h i,j be the water surface elevation in cell i at time interval j, let L i be the land surface elevation in cell i, and let d i,j be the ponded depth in cell i at time interval j. The ponded depth is equal to the water surface elevation minus the land surface elevation (Equation (2-5)). ijiji Lhd ?= ,, (2-5) 2.2 SPATIAL INTERPOLATION Interpolation functions create a continuous prediction surface from sample point values. Interpolation assumes that values measured at the points are spatially correlated (closer points tend to share similar values). Deterministic interpolation methods (i.e. Inverse Distance Weighting and Spline) are directly based on nearby measured values or on mathematical formulas to produce a smooth surface, while geostatistical interpolation methods (i.e. Kriging) are based on statistical models that use autocorrelation (the statistical relationship among measured points). In either method, values measured at known points are used to predict values on a grid, thus to produce a grid of interpolated values. Interpolation methods considered in this research include Inverse Distance Weighting, Kriging, Spline, and Natural Neighbors. These methods were selected because of their availability in ArcGIS Spatial Analyst. The validity of depth estimation accomplished in hydroperiod analysis is strengthened by the existence of spatial autocorrelation. Spatial autocorrelation suggests 20 that values in close proximity should be more similar to each other than those far apart. Positive spatial correlation exists when one point is higher than normal and its neighbors also tend to be higher than normal. Negative spatial correlation exists when one point is higher than normal and its neighbors tend to be lower than normal. Zero autocorrelation exists when the value at one point does not influence values at neighboring points. No one spatial interpolation method is always superior to the others. The interpolation method best suited for a given application depends on a variety of factors including point density and spacing (irregular vs. regular); parameter modeled (i.e. water, temperature, snow, etc.) and its range, variance, and correlation; extent and characteristics of geographic area predicted (spatial scale); and the criteria determining a ?good fit?. An interpolation may be judged as ?good? based on prediction or characterization; prediction states that the best interpolation is the one that minimizes predictions error at unknown points, while characterization states the resulting surface must globally look like the actual surface (Caruso 1998). 2.2.1 Inverse Distance Weighting Inverse Distance Weighting (IDW) interpolation estimates cell values using linearly weighted sample data points in the vicinity of the cell. Data points closer to the estimated cell have more influence or weight, while those further from the estimated cell have less influence. In other words, influence on estimated cell values decreases with distance. A deterministic interpolation method, IDW is an exact interpolator meaning that values in the continuous prediction surface are identical to the measured values at the sample point locations. Inverse Distance Weighting is accomplished using Equation (2- 6). In IDW, the weight, i ? , depends solely on the distance to the prediction location. , (2-6) ? = = N i ii ZZ 1 0 ? ? 21 where = Predicted value at unmeasured location, (x 0 ? Z 0 ,y 0 ); = measured value located at (x i Z i ,y i ); i ? = weight for the value at the ith location; and N = number of measured values. Three variables effect IDW interpolation: power, search radius, and barrier. Specifying a high power will give more influence to points in closest proximity, thus producing a detailed (less smooth) surface. A lower power will give more influence to points farther away and will produce a smoother surface. A fixed or variable search radius can be selected to limit the number of points used in estimating the value of an unknown cell. A fixed search radius dictates the neighborhood of points included in interpolation provided a specified minimum number of known values are included in the neighborhood. If this condition is not met, the search radius will be increased until it encompasses the specified minimum number of known values. Alternatively, a variable search radius may be used, for which a number of points to be used in interpolation of each cell is specified. Because known points may be located at irregular distances from one another, the search radius varies by cell. If specified, a maximum search radius will limit (override) the number of points included in the interpolation. The variable search radius is generally selected when the phenomenon has a great amount of variation. Finally, a barrier can be used as a breakline to guard the interpolation from including unwanted data points (on the other side of the barrier). IDW is simple, produces reasonable results for a wide variety of data, and does not generally exceed the range of meaningful values; however, this method is very sensitive to the weighting function and can be adversely affected by uneven point distribution (Caruso and Quarta, 1998). This contention was upheld when comparing 22 interpolation methods? estimation of snow distribution?IDW did not reliably predict surfaces characterized by extreme spatial variability (Erxleben et al., 2002). IDW is historically used to interpolate climatic data (Collins and Bolstad, 2003). 2.2.2 Kriging Kriging interpolation fits a mathematical function to a specified number of known values to determine values for each cell in a continuous surface. Like IDW, the Kriging interpolation method estimates by assigning a weight based on the distance between measured points and the prediction location (Equation (2-6)). Unlike IDW, Kriging is also dependent on the overall spatial arrangement among measured points. The weight i ? is determined from a model fit to the measured points, the distance to the prediction location, and the spatial relationships among the measured values around the prediction location. Semivariograms and covariance functions are used to estimate statistical dependence values (spatial autocorrelation). Measured data is used twice, first to determine the semivariogram of the data, and second, to create the prediction surface. Semivariance is defined in Equation (2-7). The distance d i,j between two measured points, (x i ,y i ) and (x j ,y j ), is defined in Equation (2-8). The semivariogram is created by plotting the semivariance, ji ,? , against the distance between each pair of known locations, d i,j (Figure 2.10). Next, semivariogram modeling is used to fit a function to the semivariogram. Any reasonable function can be used to fit the semivariogram. ArcGIS Spatial Analyst provides circular, spherical, exponential, Gaussian, and linear functions; the spherical model is commonly used. The semivariance is re-calculated using the fitted semivariogram model. Then, the weights for interpolation are calculated to minimize the difference between true and predicted values. Finally, values are predicted at unmeasured locations using Equation (2-6), 23 [ ] 2 )( , 2 ji ji ZZE ? =? , (2-7) where ji ,? = variance of the difference of two points, (x i ,y i ) and (x j ,y j ); = measured value located at (x i Z i ,y i ); and = measured value located at (x j Z j ,y j ). ()() 22 , jijiji yyxxd ???= (2-8) ji ,? Partial Sill Sill RangeNugget Distance Figure 2.10: Semivariogram plot From Figure 2.10, the sill is defined as the height at which the semivariogram levels off, the range is defined as the distance at which the semivariogram levels off to the sill, and the nugget (also known as the nugget effect) is equal to the discontinuity at the origin composed of measurement error and micro-scale variation. Covariance is a scaled version of correlation and is defined in Equation (2-9), where cov is the covariance, and graphed in Figure 2.11. When two locations are close, they are expected to be similar so their covariance (or correlation) is large. As locations are spaced farther apart, they are less similar and their covariance becomes zero. The semivariogram and covariance function are related in Equation (2-10). C i,j = cov(Z i , Z j ) (2-9) 24 ji ,? = sill - C i,j (2-10) C i,j Distance Sill Range Nugget Partial Sill Figure 2.11: Covariance plot In addition to fixed or variable search radius (same as described for IDW), a user may specify Ordinary or Universal Kriging. Ordinary Kriging assumes an unknown constant mean and is the default method. Universal Kriging, which should only be used when a scientific justification exists to support a well-defined trend in the data, uses a deterministic function (a polynomial) to incorporate the trend into surface estimation. The snow distribution study found ordinary kriging as inadequate when predicting surfaces characterized by extreme spatial variability (Erxleben et al., 2002). Conversely, kriging was superior to IDW and Spline interpolation for temperature estimation, and was considered to effectively describe surfaces with regionalized variables (Collins and Bolstad, 2003). This same reference claims that kriging is considered the Best Linear Unbiased Estimator (BLUE) but recognizes some uncertainty associated with the subjective nature of variogram fitting. Unlike most other interpolation methods, kriging provides a measure of error or uncertainty of the interpolated surface, which may prove useful in identifying areas where more data would be helpful. 25 2.2.3 Spline Spline interpolation (also referred to as thin plate interpolation) is best described by its two conditions: (1) the predicted surface must pass exactly through known data points and (2) the surface must have minimum curvature, meaning minimum cumulative sums of the squares of the second derivative terms of the predicted surface. The minimum-curvature technique produces a smooth, continuous, and differentiable surface. Spline interpolation may be performed using either the regularized or tension option. Regularized-Spline interpolation incorporates third-derivative terms into the minimization criteria and should be used if the second derivative of the interpolated surface is needed. The weight specified (between zero and 0.5) is associated with the third-derivative terms; a higher weight value will produce a smoother surface. Spline- Tension, on the other hand, incorporates first-derivative terms into the minimization criteria to produce a smooth surface. A weight of zero results in the theoretical ?thin plate? Spline interpolation, while increasing weight values reduce the stiffness of the ?plate? such that the surface is more and more able to pass through the known point values. Equation (2-11) is used for Spline surface interpolation. ? = += N j jjii rRTS 1 )(? (2-1) where j ? = coefficient found by the solution of a system of linear equations; r j = distance from the ith point (x i ,y i ) to the jth point (x j ,y j ); j = 1,2,?,N where N is the number of points; and T i and R(r) are defined differently based on the selected option. For the Regularized option: (2-12) yaxaaT i 321 ++= 26 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ++ ? ? ? ? ? ? + ? ? ? ? ? ? ?+ ? ? ? ? ? ? = ?? ? ?? 2 ln1 2 ln 42 1 )( 2 2 r c r Kc rr rR o (2-13) For the Tension option: 1 aT i = (2-14) () ? ? ? ? ? ? ++ ? ? ? ? ? ? ?= ? ? ?? rKc r rR o 2 ln 2 1 )( 2 (2-15) where and are parameters entered at the command line; 2 ? 2 ? r = distance between the point and the sample; K o = modified Bessel function; c = constant equal to 0.577215; and a i = coefficient found by the solution of a system of linear equations. Typically useful for dense regularly spaced data, Spline interpolation is generally not recommended for interpolation of irregularly spaced data. It assumes smoothness of variation to produce an aesthetically pleasing smooth surface which may mask uncertainty or radical values in the data and produce inaccurate interpolation with more outliers (Collins and Bolstad, 2003). Also, Spline interpolation provides no estimation of error. 2.2.4 Natural Neighbor Natural Neighbor, like IDW, is a weighted-average interpolation method. A raster surface is interpolated from input data points by first creating a TIN. The TIN is constructed using the theory of Delauney Triangulation, where three points form a triangle (as close to equilateral as possible), and a circle drawn through the nodes of the triangle cannot include any other nodes. Nearby nodes form a convex hull around 27 unknown points and are weighted by proportionate area using a Theissen/Voroni technique. A convex hull is defined as the smallest convex set containing a set of points. This convex hull can be visualized as the shape of a rubber band that was stretched around the set of points and then released to conform as closely as possible to the set (Figure 2.12). Figure 2.12: Convex hull A Voronoi diagram (also known as a Theissen or Dirichlet tessellation) partitions a plane into regions so that each point in a region is closer to its region?s site than to any other site (Figure 2.13). A site exists at each vertex of a Delaunay triangle. To construct a Voronoi diagram, construct perpendicular bisectors through the edges of Delaunay triangles; the bisectors meet at the circumcenter of the triangle. The region surrounding a data point and bound by the bisectors is a Voronoi region (Samet, 1997). All points within the Voronoi region are closer to the interior triangle vertex than any other vertex. A data set with N data points has N(N-1)/2 possible edges. The triangulation is a maximal set of these edges so that no edges intersect each other. If a convex hull of the points has M vertices, the number of edges is 3N-M-3 and the number of faces (triangles) is 2N-M-2. 28 Circumcircles Delaunay triangles Triangle bisectors Triangle vertices Circumcenters Voronoi region Figure 2.13: Voronoi diagram with Delaunay triangles Natural Neighbor interpolation does not require specification of parameters such as radius, number of neighbors, or weights, making it a great general-purpose interpolation method. According to ArcGIS Desktop Help, Natural Neighbor interpolation is most appropriate when data points are distributed with uneven density. 2.3 TEMPORAL DATA MODELS Temporal data consists of a sequence of (time, value) pairs for a specific type of information (such as stage or flow), and its inclusion in geographic information systems is necessary to compile a complete hydrologic data model for use within the GIS as well as integration with water resources models operating independently of the GIS. It is only with this integration that numerical models and simulation of dynamic processes can be supported in a GIS (Dragicevic and Marceau, 1998). Ideally, an environmental model would describe a variable continuously over space and time, but to date such models have been limited by required computer time and memory as well as the lack of a sufficient framework describing the role of temporal information in a spatial database (Maidment, 1996). This research tackles the complete representation of daily temporal data used to simulate continuous hydrologic characteristics of the floodplain and presents a more 29 comprehensive framework for temporal integration into a GIS. Data storage has evolved from relational databases to geodatabases with the addition of space, and now to temporal geodatabases with the addition of temporal data (Figure 2.14). Many challenges arise when trying to incorporate temporal data into a geospatial context. First, the data must be retrieved and loaded into the spatial database. Second, the data must be related to spatial features in a meaningful way. Third, the spatial and temporal data must be processed for hydrologic and hydraulic analysis. Finally, the spatial and temporal data must be accessed and displayed easily and intelligibly. Water resources data is captured, stored, and often made available online by a host of sources, such as the USGS National Water Information System (NWIS). Because the data is available online, a customized application can be created to extract temporal data from NWIS, load it into an Arc Hydro geodatabase, and link it with geospatial data to enable hydrologic modeling. A great deal of work is involved in creating a custom interface for each source of temporal data. Chapters 3 and 4 describe an alternate, more generalized way of ingesting temporal data from online sources with an automated interface model requiring little site-specific customization. The interface model ingests data from DBHydro (South Florida Water Management District?s water resources data repository) and loads it directly into an Attribute Series table in a geodatabase. 30 Relational Database space Geodatabase time Temporal Geodatabase Figure 2.14: Evolution of data storage to a temporal geodatabase The ArcGIS Hydro data model, informally known as Arc Hydro, is comprised of five components describing water resources data: hydrography, drainage, channels, networks, and time series (Figure 2.15, Maidment, 2004). The first four spatial components are stored as feature data sets in the complete Arc Hydro geodatabase, while the final component is stored in a TimeSeries table, which describes time-varying attributes of hydrologic features. The temporal data (table) is linked to spatial data (point, line, or polygon feature classes) as appropriate. Chapter 4 presents an expanded temporal Arc Hydro component (no longer confined to a single table) and describes its utilization in the hydroperiod analysis of the Kissimmee River. 31 Figure 2.15: Components of the Arc Hydro Data Model (Maidment, 2002) While various hydrologic and hydraulic models are commonly used to determine engineering solutions to water resources questions, existing tools in ArcGIS were sufficient for temporal geoprocessing required for hydroperiod analysis in South Florida. (Temporal geoprocessing describes the analysis performed through space and time.) Chapter 3 describes the collection of models created using ArcGIS tools to assess depth and duration of inundation. The Danish Hydraulic Institute (DHI) developed a Time Series manager to view, plot, and analyze temporal data in ArcGIS and is continuing to develop software to accommodate hydroperiod analysis, as performed in South Florida. Limited graphing is available within ArcGIS; however, to dispel duplicate effort, no development or automation of graphing was undertaken in this research. Excel graphing tools were used to create the graphs included in Chapter 4. Additionally, using geographic location in conjunction with temporal data, time-indexed shapes and map animations were produced 32 using ArcGIS Tracking Analyst. ArcGIS Tracking Analyst is able to animate simple, static complex, or dynamic complex events (ESRI 1998). A simple event is characterized by a single table containing a unique identifier, shape geometry, time, and value. A static complex event (an Attribute Series) has changing (time, value) pairs associated with fixed shapes, and a dynamic complex event (a Feature Series) has changing (time, value) pairs associated with changing shapes. The Tracking Analyst creates a temporal layer using a time-centric ideology; because the feature class is joined to the attribute series, space is brought to time rather than time to space. The temporal layer created by the Tracking Analyst is a temporary storage arrangement used to view the data and is not permanently recorded. 33 Chapter 3: Model Development When devising an approach to evaluate depth and duration of inundation in the Kissimmee River, the first step was to develop a conceptual framework. The challenge facing South Florida is to understand the magnitude of water depth and how it changes through space and time. This challenge prompted exploration of existing and lacking temporal geoprocessing tools available in GIS. Since most tools necessary to complete the hydroperiod analysis were already available in GIS, building a usable tool for hydroperiod analysis meant bringing the appropriate tools together, adding new tools where necessary, and automating the analysis process. Geoprocessing tools in ArcGIS are focused on spatial analysis. To achieve temporal geoprocessing (which is currently not available in ArcGIS), the application of these tools must be sequenced through time. Upon CRWR?s suggestion, the District agreed to accomplish temporal geoprocessing for hydroperiod analysis using ModelBuilder in ArcGIS 9.0. The next steps, described in this chapter, were to identify and gather all required input data, create models to produce desired results, compile modular components to form overall models, and finally to validate model results by comparing calculated water depth values with measured water depth values. 3.1 DATA COMPILATION The data used in hydroperiod analysis were provided by the South Florida Water Management District. To support the District?s initiative to develop a single universal data storage structure, an Arc Hydro Enterprise Database was created. Creation of this database and several other projects underway in South Florida are completed by a team composed of the SFWMD, PBS&J, and CRWR. There are five feature classes in the database related to four synchronized projects, one of which is the hydroperiod analysis. 34 Data used in hydroperiod analysis is stored in two feature classes (Hydroperiod and HandH), a raster catalog (currently a folder outside the geodatabase), and two tables, as shown in Figure 3.1. Each feature, raster, and table is further described in this section. Figure 3.1: AHED input data for hydroperiod analysis Figure 3.2: 100-year Floodplain with HydroperiodPoints and WaterZone 35 3.1.1 Floodplain Floodplains are the product of hydrologic and hydraulic analysis. Additionally, floodplains bound the region of consideration in an inundation study. The SFWMD defined two 100-year floodplains, one prior to and one following reconstruction. The post-reconstruction 100-year floodplain boundary (Figure 3.2) is used to define the range of inundation interpolation for hydroperiod analysis. 3.1.2 Habitat Zone The HabitatZone polygon feature class (Figure 3.3) contains zones of biological and ecological importance to South Florida. Each polygon in this feature class is described by a habitat, a landscape name, a BCODE, and more (Figure 3.4). There are a total of 5970 habitat polygons described by 30 habitat zones and 16 landscape zones. Many polygons represent the same landscape but different habitat zones. This feature class is used as input into the ModelBuilder statistics models so that daily averages, maximums, minimums, etc. can be found in each zone. Figure 3.3: HabitatZone polygon feature class 36 Figure 3.4: HabitatZone attribute table 3.1.3 Hydroperiod Points The HydroperiodPoints point feature class (Figure 3.2) is a subset of the MonitoringPoint point feature class in the AHED Arc Hydro dataset. This subset of points is stored separately in the Hydroperiod feature dataset to simplify the automated data ingest from DBHydro. (The temporal data query looks for time series data for every point?s DBKEY in the file.) These points represent the monitoring stations in the river and across the floodplain in Pool C along the Kissimmee River. During hydroperiod analysis, these points are joined with their measured stage (time series values in Figure 3.8) and used to interpolate the daily water surface elevation grid. 3.1.4 Water Depth Points The WaterDepthPoints point feature class contains 2183 points for which water depth was measured in the field at irregular intervals over a four year time period (Figure 3.5). The data was collected in three different ways: HTOOL, Vegplot, and Hyperspec. The HTOOL measurements of water depth were collected between August and October of 2002 to establish a way of evaluating the accuracy of the hydroperiod analysis method. HTOOL measurements were collected from an airboat at five points using a capped nine 37 foot long, half inch PVC pipe marked in one inch increments. Five depth measurements (one at the pre-selected GPS coordinate and one at each corner of the airboat) were collected, averaged, and recorded to the nearest inch. Figure 3.5: 100-year Floodplain with WaterDepthPoints The VegPlot water depth measurements are collected two to three times per year at 74 permanent plots and are used to evaluate vegetative response to restoration. Depth is measured with a meter stick at five locations in each 5 m X 20 m plot (one at each of four corners and one in the center); the mean depth recorded for each plot is the average of the five measurements. Hyperspec depth measurements were also collected between August and October of 2002 and provide ground truthing for vegetative hyperspectral imagery. Hyperspec depth values were measured at five locations within a five meter radius of randomly selected GPS coordinates; the mean depth recorded for each coordinate is the average of the five measurements. 38 Depth values of 999 represent locations where the water was deeper than one meter, and values of 888 represent locations where the water level could not be measured. VegPlot and Hyperspec measurements are recorded to the nearest foot (rather than nearest inch) and therefore are not precise enough to be used in evaluating the accuracy of hydroperiod results. In this research, depth values at points measured with the HTOOL method were used to compare the interpolated water depth values throughout the floodplain with the field measured water depth values. This comparison is expected to yield information regarding the interpolation method that produces the most accurate water depth values and to check the validity of the water depth values estimated by hydroperiod analysis. 3.1.5 Water Zone The WaterZone polygon feature class is a zone of water provided by SFWMD (Figure 3.2). This feature class is used to weight the water surface elevation (WSE) in the river (as compared to the WSE measured in the floodplain) during water surface interpolation. Points are added at user-defined distances along the river whose water surface elevation is linearly interpolated using the slope down the river. These points are added to the floodplain WSE points and are collectively used to generate a water surface elevation grid over the floodplain. This feature class may also be used as input to statistical models. The WaterZone polygon is used in conjunction with the floodplain polygon to calculate zonal statistics of the water volume grid. These statistics are used to compare water volume and movement in the river versus the floodplain. 3.1.6 Raster Catalog Raster Catalog is available in the ArcGIS 8.3 and future releases (Figure 3.6(a)). A Raster Catalog can be added to a geodatabase in the same way that a feature dataset is added. The contents of the Raster Catalog can be viewed in table format in the Contents tab and in raster format in the Preview tab in ArcCatalog. The Raster Catalog contains one record for each raster stored in the catalog. That record stores the name, shape, and 39 other desired attributes. TSDateTime and TSTypeID were added to the Raster Catalog to make a Raster Series. (Raster Series is one of the components of the enhanced Arc Hydro Time Series data model and is described in Section 4.4.3.) SQL queries may be executed to manage data in a Raster Catalog. (a) Raster Catalog view of ponded depth rasters (b) File Folder view Figure 3.6: View of rasters in a Raster Catalog and File Folder 40 Eventually, the Raster Catalog should contain all rasters used as input and generated during the hydroperiod analysis. Currently, the Raster Catalog cannot be used in conjunction with ModelBuilder because a Raster Catalog dataset is not recognized in an input or output path string. Therefore, all rasters are temporarily stored in folders outside the geodatabase (Figure 3.6(b)). The rasters in this catalog will include two land surface elevation (LSE) rasters (Figure 3.7(a))?one pre-construction and one post- construction?along with the daily water surface elevation (WSE) raster (Figure 3.7(b)), daily ponded depth (PD) raster (Figure 3.7(c)), and daily volume (VOL) rasters (Figure 3.7(d)). The pre- and post-construction land surface elevation rasters exist and the daily WSE, PD, and VOL rasters are generated in the hydroperiod analysis. The pre- construction land surface elevation grid should be used when analyzing data through December 2000 and the post-construction land surface elevation grid should be used starting January 2001. The pre-and post-construction grids are discussed further in Section 4.1. (a)Land surface elevation raster (b)Water surface elevation raster (c) Ponded depth raster (d) Volume raster Figure 3.7: Input and output rasters from hydroperiod analysis 3.1.7 Attribute Series The AttributeSeries table (Figure 3.8) stores time and value pairs associated with a FeatureID and a HydroCode. TSValue represents the daily stage or water surface elevation in feet. The FeatureID corresponds to the HydroID of the HydroperiodPoint feature class and is used to relate the time series data to monitoring stations. The HydroCode field populates the station name which makes the table more user-friendly. This table is populated using the automated DBHydro data ingest tool, which is called from ModelBuilder. 41 Figure 3.8: AttributeSeries table Temporal data is queried from DBHydro based on DBKEY, Start Date, and End Date. DBHydro is an Oracle database which stores historic and current hydrologic, meteorologic, hydrogeologic, and water quality data for the South Florida Water Management District. Some data stored in this table is made available to the public online via the DBHydro Browser (http://www.sfwmd.gov/org/ema/dbhydro/index.html). A DBKey is a unique identifier of time series data and is assigned programmatically in a sequential manner. An example DBKey is J8947 (Figure 3.9). More than one DBKey may be used to describe the same parameter (i.e. stage) at one gage. For example, DBKey J8948 is associated with breakpoint stage data at gage PC31, while DBKey J8947 is associated with daily stage data for the same gage (Figure 3.10). In other instances, different DBKeys may be assigned to the same gage for data recorded over different time periods or collected using different methods. The hydroperiod method described in this thesis allows only one DBKey per stage gage. In most cases, only one time series per gage and thus, one DBKey, is of interest. However, if multiple DBKeys are desired for the same stage gage, the analysis must be completed separately for each DBKey. 42 Figure 3.9: DBHydro Browser Figure 3.10: Duplicate DBKeys for stage data stored in DBHydro 3.1.8 TSType Table The TSType table (Figure 3.11) is populated from information parsed from the header that is provided when temporal data is downloaded from DBHydro. The loading of this data into the TSType table will eventually be automated in the data ingest tool, DBIngest, which is called from Model Builder. The TSType table records are populated 43 by hand for now, but can be automated using XML (described in Section 3.2.1). The TSType table contains the type, interval, origin, units, and other attributes describing the data in the Attribute Series table. A separate record exists for each TSTypeID (time series type such as rainfall, stage, flow, etc.), and zero to many records in the Attribute Series table may be described by each TSTypeID. Figure 3.11: TSType table 44 3.2 MODEL CONSTRUCTION The hydroperiod analysis was automated using a series of modular components constructed in ModelBuilder. The design was kept modular to facilitate comprehension, to simplify operations and maintenance, and to give the user flexibility regarding the combination of methods and results desired for each analysis. There are six major modular components, as shown in Figure 3.12, each containing one or more models and scripts: (1) DBHydro Data Ingest, (2) River Interpolation, (3) Generate Rasters, (4) Classify Depths, (5) Calculate Volume, and (6) Calculate Statistics. Models and scripts from each component are organized into several toolsets within one toolbox (Figure 3.13). Table 3.1 summarizes the input data, input parameters, and output data for each model in all six components. ModelBuilder was developed by ESRI as a user-friendly way to build spatial models (ESRI, 2002). The model is represented by a process flow diagram, which makes it easy to construct, modify, and present to others. Existing ArcGIS predefined functions are stored as tools in ArcToolbox, and Visual Basic scripts can be written to create new tools. These tools can be selected and dropped into a model flow diagram as desired, along with input data. A model can be called from within a model, meaning that smaller models can be combined to create a larger model. Additionally, models can have user- defined parameters that change with every run. A tutorial for applying ModelBuilder to the hydroperiod analysis is presented in Appendix A. 45 dbhydro data ingest river interpolation transfer temporal data from dbhydro create extra points for river-weighted interpolation to geodatabase time series Point Spacing (1) (2) generate rasters classify depths ponded depth classes, grid to polygon surface water, ponded depth grids user-defined depth classes water surface land surface time series depth class polygons ponded depth (3) (4) calculate volume calculate statistics water volume in river, floodplain and system ponded depth statistics over user-defined zones and time periods statistics x = t3 t2 cell area 60 ft x 60 ft t1 ponded depth max(t1-t3) ponded depth water volume mean(t1-t3) habitat zones min(t1-t3) (5) (6) Figure 3.12: Modular components of hydroperiod analysis 46 Figure 3.13: Hydroperiod Toolbox summary of models and scripts 47 Table 3.1: Input Data, Parameters, and Output Data of Models DBIngest: DBIngest Input Data Input Parameters Output Data A.1in HydroperiodPoints feature class StartDate (YYYYMMDD) to begin retrieving temporal data A.1out Attribute Series table in Arc Hydro format EndDate (YYYYMMDD) to stop retrieving temporal data River Interpolation: Centerline Input Data Input Parameters Output Data B.1in Pst_hydrop (waterzone polygon) feature class None B.1out Final Centerline feature class (waterzone line) River Interpolation: RiverWeightedPoints Input Data Input Parameters Output Data C.1in (same as A.1out) Attribute Series table TSDateTime Query to select data from the Attribute Series table C.1out Floodplain and Waterzone Points (aka InterpPoints) point feature class (stage points + new points along centerline to be used in river-weighted interpolation) C.2in (same as A.1in) HydroperiodPoints feature class TSValueExists? Selects only points with non-null stage values to be used for interpolation C.3in Model Features (Database and Dataset in which to create a new point feature class) C.2in (same as B.1out) Waterzone Centerline (line along which to create points) Generate Rasters: GenerateRastersPart1 Input Data Input Parameters Output Data D.1in (same as A.1out) Attribute Series table TSDateTime Query to select data from the Attribute Series table D.1out HPwTSValue Layer (layer file containing hydroperiod points joined with temporal data) D.2in (same as A.1in) Hydroperiod_Point feature class TSValueExists? selects only points with non-null stage values to be used for interpolation Generate Rasters: GenerateRastersPart2_IDW Input Data Input Parameters Output Data E.1in (same as D.1out) HPwTSValue Layer Output cell size for interpolated water surface elevation raster E.1out Ponded Depth Raster (daily depth of inundation) produced by IDW interpolation E.2in LSE Raster (pre- or post- reconstruction land surface elevation grid based on time period evaluated) Search radius to be specified as fixed or variable Power to determine point influence related to distance Cell size of output ponded depth raster 48 Generate Rasters: GenerateRastersPart2_Kriging Input Data Input Parameters Output Data F.1in (same as D.1out) HPwTSValue Layer Ordinary or Universal? specifies the type of kriging to be executed F.1out Ponded Depth Raster (daily depth of inundation) produced by Kriging interpolation F.2in (same as E.2in) LSE Raster (pre- or post- reconstruction land surface elevation grid based on time period evaluated) WSE Grid cell size for interpolated water surface elevation raster PD Grid cell size for output ponded depth raster Generate Rasters: GenerateRastersPart2_NN Input Data Input Parameters Output Data G.1in (same as D.1out) HPwTSValue Layer WSE Grid cell size for interpolated water surface elevation raster G.1out Ponded Depth Raster (daily depth of inundation) produced by Natural Neighbors interpolation G.2in (same as E.2in) LSE Raster (pre- or post- reconstruction land surface elevation grid based on time period evaluated) PD Grid cell size for output ponded depth raster Generate Rasters: GenerateRastersPart2_Spline Input Data Input Parameters Output Data H.1in (same as D.1out) HPwTSValue Layer Spline type (regular or tension) H.1out Ponded Depth Raster (daily depth of inundation) produced by Spline interpolation H.2in (same as E.2in) LSE Raster (pre- or post- reconstruction land surface elevation grid based on time period evaluated) WSE Grid cell size for interpolated water surface elevation raster PD Grid cell size for output ponded depth raster Classify Depths: ClassifyDepths Input Data Input Parameters Output Data I.1in (same as E,F,G,or H.1out) Daily Ponded Depth Grid Reclassification intervals, ranges, and eliminations (can be stored/loaded as a table or defined uniquely for each run) I.1out Master Ponded Depth feature class with each depth class represented by a single polygon TSDateTime to attach to each depth class polygon Ponded Depth feature class (append new polygons to) Calculate Statistics: TemporalStatistics Input Data Input Parameters Output Data J.1in (same as E,F,G,or H.1out) Daily Ponded Depth Grid Overlay statistic for which to calculate Temporal Statistics J.1out Output cell statistics raster with the overlay statistic calculated for each cell 49 Calculate Statistics: ZonalStatistics Input Data Input Parameters Output Data K.1in (same as E,F,G,or H.1out) Daily Ponded Depth Grid TSDateTime to attach to each set of zonal statistics K.1out ZonalStats output table (master zonal statistics table with one row per zone/date combo) K.2in Habitat Zones feature class Calculate Statistics: SpatialStatistics Input Data Input Parameters Output Data L.1in (same as K.2in) Habitat Zone feature class None L.1out Spatial Statistics Table with each row describing a zone over time L.2in (same as J.1out) Cell Statistics Raster Calculate Statistics: SummaryStatistics Input Data Input Parameters Output Data M.1in (use K.1out or L.1out) Spatial or Zonal Statistics table Case field by which to group summary statistics for each unique value M.1out Summary Stats with Range Value is the final summary statistics table with all statistics (including range) calculated for the case field Statistics field to be applied to fields in the input table Range between MIN and MAX is the expression statement to calculate RANGE as the max minus the min value Calculate Statistics: OverallStatistics Input Data Input Parameters Output Data N.1in (same as E,F,G,or H.1out) Daily Ponded Depth Grid Overlay statistic for which to calculate Temporal Statistics N.1out (same as J.1out) Raster with cell statistic values N.2in (same as K.2in) Habitat Zone feature class Case field by which to group summary statistics for each unique value N.2out Overall spatial and temporal statistics table Statistics field to be applied to fields in the input table N.3out Summary Stats with Range Value is the final Overall Summary Statistics Table Calculate Volume: CalculateVolume Input Data Input Parameters Output Data O.1in (same as E,F,G,or H.1out) Daily Ponded Depth Grid Value = 0 represents a where positive clause to select only positive depths from the Daily Ponded Depth Grid to be used to generate the Daily Cell Volume Grid O.1out Daily Cell Volume Grid represents all positive volumes in the Pool C river/floodplain system Cell Area = 3600 ft^2 to be used in calculating the volume (cell area X depth) 50 Overall Models: OverallBio Input Data Input Parameters Output Data P.1in (same as A.1in) HydroperiodPoints feature class Model.mdb is the database in which to store the output Attribute Series table P.1out Master Ponded Depth feature class with each depth class represented by a single polygon P.2in (same as E.2in) LSE Raster (pre- or post- reconstruction land surface elevation grid based on time period evaluated) Overall Models: OverallWQDaily Input Data Input Parameters Output Data Q.1in (same as A.1in) HydroperiodPoints feature class Model.mdb is the database in which to store the output Attribute Series table Q1.out Summary Stats with Range Value is the final summary statistics table with all statistics (including range) calculated for the case field Q.2in (same as E.2in) LSE Raster (pre- or post- reconstruction land surface elevation grid based on time period evaluated) Q.3in (same as K.2in) Habitat Zone feature class Overall Models: OverallWQCell Input Data Input Parameters Output Data R.1in (same as A.1in) HydroperiodPoints feature class Model.mdb is the database in which to store the output Attribute Series table R.1out Spatial Statistics Table with each row describing a zone over time R.2in (same as E.2in) LSE Raster (pre- or post- reconstruction land surface elevation grid based on time period evaluated) R2.out Summary Stats with Range Value is the final summary statistics table with all statistics (including range) calculated for the case field R.3in (same as K.2in) Habitat Zone feature class Overall Models: OverallHydroArea Input Data Input Parameters Output Data S.1in (same as A.1in) HydroperiodPoints feature class Model.mdb is the database in which to store the output Attribute Series table S1.out Summary Stats with Range Value is the final summary statistics table with all statistics (including range) calculated for the case field S.2in (same as E.2in) LSE Raster (pre- or post- reconstruction land surface elevation grid based on time period evaluated) S.3in (same as K.2in) Habitat Zone feature class 51 Overall Models: OverallHydroTime Input Data Input Parameters Output Data T.1in (same as A.1in) HydroperiodPoints feature class Model.mdb is the database in which to store the output Attribute Series table T.1out Output cell statistics raster with the overlay statistic calculated for each cell T.2in (same as E.2in) LSE Raster (pre- or post- reconstruction land surface elevation grid based on time period evaluated) T.2out Spatial Statistics Table with each row describing a zone over time T.3in (same as K.2in) Habitat Zone feature class 3.2.1 DBHydro Data Ingest Temporal data is retrieved from the DBHydro Browser using the DBIngest model. The script tools in this model access Visual Basic source code compiled as dynamic link libraries (DLLs). DBIngest tools were created by Timothy Whiteaker and Oscar Robayo at the CRWR and were adapted for this project. The objective of the DBIngest model is to populate an Arc Hydro Attribute Series table with temporal data downloaded from the DBHydro browser. In other words, the model serves as a data bridge between DBHydro and Arc Hydro. The data ingest is dependent on the ability to access temporal data through a Uniform Resource Locator (URL). Once the desired data is queried, it is downloaded from the webpage into eXtensible Markup Language (XML). The data is then converted and transferred from XML format into Arc Hydro table format. The model, scripts, and source files used in this process are briefly described in Figure 3.14. The InputXML script tool gathers website-specific inputs (Figure 3.15(a)) from the user through the Model Builder graphical user interface (Figure 3.15(b)) and converts these input parameters to XML to be used in querying the temporal data. The Web2TSXML script tool then constructs the URL (Figure 3.15(c)) to access the webpage storing the temporal data, retrieves and parses the data, and writes the data to XML 52 (Figure 3.15(d)). Finally, the XML2GDB script tool converts and imports the data from XML format into an Arc Hydro Attribute Series table in a geodatabase (Figure 3.15(e)). Binary form of Source Code Intermediate Communication between DLLs & MB model Visual Basic Source Code Provides components and instructions to Source Code (i.e. formatting, parsing) Convert user inputs to XML Model Builder Script Tools Build URL and extract web data to XML file Load XML Data into GDB Model Builder Model to automate data ingest from DBHydro Figure 3.14: DBHydro Data Ingest Toolbox (a) DBHydro Browser Query (b) DBIngest GUI Input Parameters 53 (c) URL to access temporal data from DBHydro (d) Temporal Data in XML (e) Arc Hydro AttributeSeries table Figure 3.15: Data Ingest from DBHydro to Arc Hydro via ModelBuilder The DBIngest model (Figure 3.16) brings all three scripts together to automate the process. Using this model, ten years of temporal data for all monitoring stations in the Pool C floodplain can be downloaded from DBHydro and loaded into an Attribute Series table in less than one minute. 54 Figure 3.16: DBIngest model In ModelBuilder, light blue ovals correspond to input parameters, dark blue ovals correspond to input data, green ovals correspond to output data, and yellow boxes correspond to tools, which can be preexisting ArcGIS tools or new tools stored as scripts. Scripts are designated with the white and blue scroll symbol on the tool icon while preexisting ArcGIS tools are designated with a hammer on the tool icon. When a model is stored inside another model, the model is stored in a yellow box with a blue/yellow/green model icon. The letter P designates an object as a model parameter, which may consist of a file path, an expression, or a query. 3.2.2 River Interpolation Water surface interpolation is performed with extra weight given to points along the Kissimmee River. River-weighted interpolation is desirable partially because the river and floodplain behave differently. The floodplain is covered in diverse vegetative communities while the river remains relatively flat and undisturbed. When water is released through the upstream water control structures, the water level in the river rises faster than the water level in the floodplain. Likewise, the water level in the river recedes faster than the water level in the floodplain. River-weighted interpolation is also 55 desirable because there are currently an insufficient number of monitoring stations in the river and floodplain system. According to Steve Lin of the SFWMD (2004), the existing network of monitoring stations provides adequate data for spatial analysis only for flows over 2000 cfs, which account for less than 10% of flow conditions. The network is considered ?adequate? when all monitoring stations measure a water surface elevation above the land surface elevation, which occurs only for flows over 2000 cfs. Lin continued to report that flow in the river is usually (60-70% of the time) less than 1000 cfs and only a few monitoring stations close to the river are inundated while the rest of the gages are dry (water surface elevation is below land surface elevation). Under these conditions, spatial analysis must be performed using very few points of inundation. Most spatial interpolation methods rely on a number of surrounding point values, but the paucity of monitoring stations causes weight to be placed on points that are too far away from the point of interest. Adding points along the river allows the river to have greater influence in the water surface interpolation. Before points may be created along the centerline of the waterzone polygon (Figure 3.17), the polygon must be thinned to a single line. This is accomplished in the Centerline model (Figure 3.18). The waterzone polygon is first converted to a raster, then ?thinned?. The ?thin? function reduces the number of cells used to represent a raster surface; in this case, the number of cells is reduced to one. Next, the thin raster is converted to a polyline, which is dissolved to produce a single final centerline used as input into the RiverWeightedPoints model. 56 Figure 3.17: Centerline through the WaterZone polygon Figure 3.18: River Interpolation Centerline model To accomplish river-weighted spatial interpolation, the RiverWeightedPoints model creates additional points along the centerline of the waterzone (Figure 3.19). Monitoring stations with existing stage values for the selected day are used as one of three inputs into a CreateNewPoints script. The two other inputs are the centerline of the waterzone and a newly created empty point feature class. The CreateNewPoints script creates additional points along the river to be used in river-weighted interpolation (Figure 3.20). Points are created along the centerline at spacing selected by the user. The points can be as concentrated or spread out as desired; however, for consistency, the user may 57 wish to space the points along the river at similar spacing to those points measured across the floodplain. Transects are spaced approximately 1.5-2 miles apart, and points along each transect are spaced approximately 2000 feet apart. For this reason, new points are spaced at 2000 feet along the river in Figure 3.20. The value of each new point is linearly interpolated between the measured points in the river. The newly created points (green) are added to the existing monitoring points (blue) and output to the point feature class previously created. This new set of points is used to interpolate a water surface over the entire floodplain using any of the GenerateRastersPart2 models. Water stage changes by only 1.79 feet over nearly 15 river miles, resulting in a downward slope of 0.24%. Figure 3.19: RiverWeightedPoints model 58 34 34.5 35 35.5 36 36.5 37 0 1020304050607080 Distance from top of Pool C, 1000s of river feet W a ter S t ag e, f eet Interpolated Point Measured Point Figure 3.20: Measured and interpolated points along the river Some errors could not be reconciled when upgrading the models and scripts from ArcGIS 9.0 Beta II to ArcGIS 9.0 Pre-release. One such error is encountered when running the RiverWeightedPoints model. The tools are executed and the desired output is produced; however, the model freezes on the last tool and will not end the run without manual interception. Such a problem hinders this model from being incorporated into a string of models or a looping script. For this reason, no analysis of the Kissimmee River was completed with river-weighted spatial interpolation. This problem is expected to be resolved in the full release of ArcGIS 9.0. 3.2.3 Generate Rasters 59 The Generate Rasters toolset consists of a GenerateRastersPart1 model (Figure 3.21), four GenerateRastersPart2 models?one each for IDW (Figure 3.22), Kriging (Figure 3.23), Natural Neighbors (Figure 3.24), and Spline (Figure 3.25) interpolation methods?and a GenerateRastersBatch script. The GenerateRastersPart1 model can be combined with any GenerateRastersPart2 model to interpolate a water surface and determine the ponded depth grid for a single day. The GenerateRastersBatch script is used to loop through the Generate Rasters model duo over the time period entered by the user. With the identify cursor on the ponded depth output raster, a user can identify the depth of inundation at any point in the floodplain. The output from these models is required as input to all other models. The GenerateRastersPart1 model selects a single day of stage measurements from the Attribute Series table and joins that selection with the hydroperiod point features. Non-null stage measurements are selected and written to a layer file for use in a GenerateRastersPart2 model. The GenerateRastersPart2 models are very similar, with the only major difference being the tool representing interpolation method. In addition, the input parameters vary according to interpolation method. For example, Inverse Distance Weighting parameters include search radius and power, while Kriging has only one parameter to select ordinary or universal kriging. In general, the part two models are used to interpolate a water surface using the water level as the ?Z Value field? and 60 feet as the cell size. The land surface elevation grid is then subtracted from the interpolated water surface elevation grid to produce a ponded depth grid. While the ponded depth grid is useful on its own, it is also used as input to all the other models. 60 Figure 3.21: GenerateRastersPart1 model Figure 3.22: GenerateRastersPart2_IDW model 61 Figure 3.23: GenerateRastersPart2_Kriging model Figure 3.24: GenerateRastersPart2_NN model Figure 3.25: GenerateRastersPart2_Spline model 62 The GenerateRastersBatch script calls the GenerateRasters models in series, looping them through the time period specified by the user. A portion of the GenerateRastersBatch looping script is shown in Figure 3.26 (the entire script is included in Appendix B). First, a geoprocessor (referred to as ?gp? in the script) is created, along with required DLLs (Figure 3.26(a)). The geoprocessor loads the Hydroperiod Toolbox and (starting in ArcGIS 9.0 Pre-release) must ?check out? or invoke the Spatial Analyst and 3D Analyst extensions when tools from those toolsets are included in a model called by the script (Figure 3.26(b)). Input data, parameters, and output data locations may be hard-coded in the script but for more flexibility should be listed as parameters of the script (Figure 3.26(c)). The argument names, data types, and properties (including default values) can be added, deleted, or changed in the model and through the Parameters tab of the script Properties (Figure 3.27). Parameters should be identified in the script in the order listed on the Parameters tab. When entered by this method, the arguments are requested from a graphical user interface (GUI) at the time the script is run. After the geoprocessor is created, all extensions are checked out, and necessary parameters are defined, a looping routine executes the appropriate models once per time step for as many time steps as are included in the specified period of analysis (Figure 3.26(d)). Within the looping routine, the model is called by the geoprocessor (Figure 3.26(e)). The arguments following the model name are listed on the Parameters tab of the model Properties, and correlate to everything in the model specified as a model parameter. Consider the GenerateRastersPart2_IDW model, which has six model parameters (identified by the ?P? to the upper right of icons in the flow sequence). The Parameters tab of the model Properties lists these six parameters in the order they must be 63 listed following the model in the script (Figure 3.28). Error messages are also sought for any problems encountered in executing the model (Figure 3.26(f)). ' Create the GP and dll objects (a) set gp = WScript.CreateObject("esriGeoprocessing.GPDispatch.1") set pDLL = WScript.CreateObject("FlordiaOps.clsGeneralTools") ' Load required toolboxes... (b) gp.AddToolbox WorkingTempDirectory & "\HydroPeriod Toolbox.tbx" gp.CheckOutExtension("Spatial") gp.CheckOutExtension("3D") (c) ' Input variables to be entered by user into GUI HydroPeriodPoints = wscript.arguments.item(0) TimeSeries = wscript.arguments.item(1) LSEGrid = wscript.arguments.item(2) CurrentDate = wscript.arguments.item(3) EndDate = wscript.arguments.item(4) GridPath = WScript.arguments.item(5) ' Set current and finish dates Current = DateValue(CurrentDate) Finish = DateValue(EndDate) (d) ' Process: Generate Rasters Do Until Current > Finish ' Set daily grid files If month(Current) < 10 then CurrentMonth = "0" & month(Current) Else CurrentMonth = month(Current) End if If day(Current) < 10 then CurrentDay = "0" & day(Current) Else CurrentDay = day(Current) End if CurrentYear = year(Current) ' Prepare output path for PD Grid PDGrid = Cstr(GridPath) & "\PD" & CurrentMonth & CurrentDay & CurrentYear ' Set query, output date, and z value TSDateTimeQuery = "[TSDateTime] = #" & CStr(Current) & "#" TSDateTime = "#" & Cstr(Current) & "#" ZValue = "TSSelect.TSValue" (e) ' Call models gp.GenerateRastersPart1 TimeSeries, TSDateTimeQuery, HydroPeriodPoints gp.RefreshCatalog WorkingTempDirectory & "\Model.mdb" gp.GenerateRastersPart2_IDW PDGrid, LSEGrid gp.RefreshCatalog WorkingTempDirectory & "\Model.mdb" ' Next day Current = Current + 1 Loop (f) ' Check for errors If gp.getmessages(2) <> "" then msgbox gp.getmessages(2) Else msgbox "Complete!" End If Figure 3.26: Part of the GenerateRastersBatch looping script 64 Figure 3.27: GenerateRastersBatch script parameters to be specified in GUI Batch scripts are used to loop day by day through the set of functions included in one or more models. Geoprocessing is accomplished within each model, but temporal geoprocessing is only accomplished by using batch scripts to loop through the models. The GenerateRastersBatch, ClassifyDepthsBatch and ZonalStatisticsBatch scripts are currently not working; the CalculateVolumeBatch script is working. Errors incurred in upgrading from ArcGIS 9.0 Beta II to Pre-release remain unresolved, but are expected to be rectified in the final release of ArcGIS 9.0. Since the batch scripts operate similarly (both in terms of looping and unresolved errors), they will not be discussed in detail. 65 Figure 3.28: Determining model parameters to be called in scripts 3.2.4 Classify Depths The Classify Depths toolset consists of a ClassifyDepths model and a Classify DepthsBatch script. The ClassifyDepths model (Figure 3.29) classifies the ponded depth grid into user defined depth intervals and converts the grid into dissolved polygons, with each polygon representing a single depth class. The model is designed to complete all functions for a single day. Then, the ClassifyDepthsBatch script is used to loop day by day through the ClassifyDepths model over the time period entered by the user. 66 Figure 3.29: ClassifyDepths model The user is able to classify the ponded depth grid using equal intervals, defined intervals, manual settings, or a classification table. The user may load a stored table of depth class intervals or may select new intervals via the classification GUI, shown in Figure 3.30. This is the same GUI accessed through the symbology tab of a feature?s properties in ArcMap. Based on the user specified depth intervals, the Reclassify tool produces a classified ponded depth grid. This classified grid is then converted to classified polygons, which are dissolved based on depth class. All polygons sharing the same depth class (whether adjacent or not) are dissolved to a single feature. The date is attached to each polygon and then appended to a master ponded depth polygon feature class. The master ponded depth polygon feature class stores one record for each depth class for each day. The depth classes are used to identify regions where wading birds, fish, and vegetative species will thrive, suffer, or be able to migrate safely (according to the depth interval corresponding to each condition). 67 Figure 3.30: Depth classification GUI After ponded depth is calculated, it can be classified into depth classes. Depth class D m occurs when water depth is between c m-1 and c m (Figure 3.31, Equation (3-1)). The annotation [ represents a closed interval including all values greater than or equal to c ] mm cc , 1? m-1 and less than c m (i.e. c m-1 ? d i,j < c m ). Depth class D m occurs when water depth is between c m-1 and c m (Figure 3.31, Equation (3-1)). Depth class boundaries c 0 c 1 c 2 c 3 ? c M-1 c M Depth classes D 1 D 2 D 3 D M Figure 3.31: Depth classes and their boundaries 68 (3-1) [ mmm ccD , 1? = ] Next, the ponded depth grid is classified into depth class zones (of zone type g and subdomain R g ). For a given time interval j, polygon zone p, and depth range m, the area of inundation A j,p,m is calculated using Equation (3-2a), which is the sum of the area of all cells in polygon zone p with water depth in D m depth class. Similarly, for a given time interval j, depth class zone g, and depth range m, the area of inundation A j,g,m is calculated using Equation (3-2b), which is the sum of the area of all cells in depth class zone g with water depth in D m depth class. In domain R, the area in each depth class for a given depth range m and time interval j, A j,m , is calculated using Equation (3-2c). This is calculated as the sum of the cell areas in domain R for which water depth is in depth class D m . The Dirac delta function mji ,, ? is equal to one when the water depth d i,j is within D m depth class or is equal to zero otherwise, as defined in Equation (3-3). (3-2a) ? ? ?= p Ai mjiimpj aA ,,,, ? ? ? ?= g Ai mjiimgj aA ,,,, ? (3-2b) ? ? ?= Ri mjiimj aA ,,, ? (3-2c) ? ? ? ? = otherwise Dd mji mji 0 1 , ,, ? (3-) 3.2.5 Calculate Statistics The Calculate Statistics toolset consists of several models: Temporal Statistics, Zonal Statistics, Spatial Statistics, Summary Statistics, and Overall Statistics. The toolset also includes a ZonalStatisticsBatch script. Central to grasping why so many statistical models are necessary is understanding three different ways commonly used by biologists 69 to calculate mean, minimum, maximum and other statistics: (1) the daily average approach, (2) the cell average approach, and (3) the all data approach. Consider the information presented in Table 3.2, which consists of five three-cell rasters produced on five days. The table explains the three approaches as they pertain to calculating mean, but the approach is similar for other statistics calculations. In the daily average approach (yellow), a single day?s cell values are averaged spatially to produce a daily average (sample size = 3); the daily average values are then averaged temporally to produce the overall average (sample size = 5). Mathematically, daily mean water depth across a zone of cells is calculated using Equation (3-4) and overall mean water depth (averaged first across a zone of cells, then averaged through time) is calculated using Equation (3-5). Likewise, daily minimum water depth across a zone of cells is calculated using Equation (3-6) and overall minimum water depth (minimum across a zone of cells, then averaged through time) is calculated using Equation (3-7). For each equation, part (a) corresponds to the depth averaged over a polygon zone and part (b) corresponds to the depth averaged over a depth class grid zone. Minimum depth is shown as a sample of a statistical calculation other than average; maximum depth is calculated similarly. The daily average approach is accomplished by executing the ZonalStatistics model followed by the SummaryStatistics model. ? ? = p Ai ji p pj d A d ,, 1 (3-4a) ? ? = g Ai ji g gj d A d ,, 1 (3-4b) ? ? = * ,, * 1 Tj pjpj d T d (3-5a) ? ? = * ,, * 1 Tj gjgj d T d (3-5b) ji Ai pj dd p ,(min), min ? = (3-6a) ji Ai gj dd g ,(min), min ? = (3-6b) 70 ? ? = * (min),(min), * 1 Tj pjpj d T d (3-7a) ? ? = * (min),(min), * 1 Tj gjgj d T d (3-7b) In the cell average approach (blue), a single cell is averaged temporally to produce a cell average (sample size = 5); the cell average values are then averaged spatially to produce the overall average (sample size = 3). Mathematically, mean water depth in each cell drilled through time is calculated using Equation (3-8) and overall mean water depth (averaged first by drilling through time for each cell, then by averaging spatially across cells) is calculated using Equation (3-9). Likewise, daily minimum water depth in each cell drilled through time is calculated using Equation (3-10) and overall minimum water depth (minimum by drilling through time for each cell, then by averaging spatially across cells) is calculated using Equation (3-11). The cell average approach is accomplished by executing the TemporalStatistics model followed by the Spatial Statistics model. ? ? = * , * 1 Tj jii d T d (3-8) ? ? = p Ai i p pi d A d 1 , (3-9a) ? ? = g Ai i g gi d A d 1 , (3-9b) ji Tj i dd , * (min) min ? = (3-10) ? ? = p Ai i p pi d A d (min)(min), 1 (3-11a) ? ? = g Ai i g gi d A d (min)(min), 1 (3-11b) 71 In the all data approach, all measured data are averaged simultaneously, both spatially and temporally to produce the overall average (sample size = 15). Mathematically, the overall average depth (average of all values over space and time) is calculated using Equation (3-12), while the overall minimum depth (minimum of all values over space and time) is calculated using Equation (3-13). The all data approach is accomplished by executing the TemporalStatistics model followed by the SummaryStatistics model. ?? ?? ? = p AiTj ji p pji d AT d * ,,, * 1 (3-12a) ?? ?? ? = g AiTj ji g gji d AT d * ,,, * 1 (3-12b) ji TjAi pji dd p , * (min),, minmin ?? = (3-13a) ji TjAi gji dd g , * (min),, minmin ?? = (3-13b) Equations (3-5), (3-9), and (3-12) represent the overall means calculated from the three different methods. The mean will be the same regardless of the method used, but the minimum, maximum, sample size, and standard deviation will differ based on the approach selected. For the cell average approach, the answer sought is the average value of any statistic (i.e. the mean of the minimum), while for the all data approach, the answer sought is the statistic of the statistic (i.e. the minimum of the minimum). This idea is illustrated in Table 3.3, which follows the structure of the preceding table. All three approaches produce a different overall minimum from the same input data. Equations (3-4) through (3-13) are summarized in Table 3.4. Each equation is stated, described, and associated with the ModelBuilder model executed to accomplish it. 72 Table 3.2: Three Approaches to Calculating Statistical Averages Table 3.3: Three Approaches to Calculating Statistical Minimums 73 Table 3.4: Summary of Statistical Equations Equation Description Model Statistical Mean Calculations (3-4a) ? ? = p Ai ji p pj d A d ,, 1 (3-4b) ? ? = g Ai ji g gj d A ,, 1 d Daily mean water depth across the cells in (a) polygon zone p or (b) depth class zone g Zonal Statistics (3-5a) ? ? = * ,, * 1 Tj pjpj d T d (3-5b) ? ? = * ,, * 1 Tj gjgj d T d Overall mean water depth: averaged first across the cells in (a) polygon zone p or (b) depth class zone g, then averaged through time Summary Statistics (3-8) ? ? = * , * 1 Tj jii d T d Mean water depth in each cell, drilled through time Temporal Statistics (3-9a) ? ? = p Ai i p pi d A d 1 , (3-9b) ? ? = g Ai i g gi d A 1 , d Overall mean water depth: averaged first by drilling through time for each cell, then by averaging spatially across cells in (a) polygon zone p or (b) depth class zone g Spatial Statistics (3-12a) ?? ?? ? = p AiTj ji p pji d AT d * ,,, * 1 (3-12b) ?? ?? ? = g AiTj ji g gji d AT d * ,,, * 1 Overall mean water depth: average of all values over space and time where space is comprised of (a) polygon zone p or (b) depth class zone g Temporal Statistics, followed by Summary Statistics Statistical Minimum Calculations (3-6a) ji Ai pj dd p ,(min), min ? = (3-6b) d ji Ai gj d g ,(min), min ? = Daily minimum water depth across the cells in (a) polygon zone p or (b) depth class zone g Zonal Statistics (3-7a) ? ? = * (min),(min), * 1 Tj pjpj d T d (3-7b) ? ? = * (min),(min), * 1 Tj gjgj d T d Overall minimum water depth: minimum across the cells in (a) polygon zone p or (b) depth class zone g, then averaged through time Summary Statistics 74 (3-10) d ji Tj i d , * (min) min ? = Minimum water depth in each cell, drilled through time Temporal Statistics (3-11a) ? ? = p Ai i p pi d A d (min)(min), 1 (3-11b) ? ? = g Ai i g gi d A (min)(min), 1 d Overall minimum water depth: minimum by drilling through time for each cell, then by averaging spatially across cells in (a) polygon zone p or (b) depth class zone g Spatial Statistics (3-13a) ji TjAi pji dd p , * (min),, minmin ?? = (3-13b) d ji TjAi gji d g , * (min),, minmin ?? = Overall minimum water depth: minimum of all values over space and time where space is comprised of (a) polygon zone p or (b) depth class zone g Temporal Statistics, followed by Summary Statistics 3.2.5.1 Temporal Statistics The TemporalStatistics model (Figure 3.32) creates a new raster representing the selected statistical attribute in each cell of a series of temporal rasters. Statistical attributes that may be selected include {MEAN, MAJORITY, MAXIMUM, MEDIAN, MINIMUM, MINORITY, RANGE, STD, SUM, and VARIETY}. For example, Equation (3-8) is used to calculate the MEAN depth in each cell of a series of temporal rasters, and Equation (3-10) is used to calculate the MINIMUM depth in each cell of a series of temporal rasters. This model should be used to generate monthly, seasonal, and annual mean daily ponded depth grids. This model can also be used to generate the per- cell-ponded-depth-statistics over a time period of a month, season, or year (i.e. the minimum or maximum in each cell over time). 75 Figure 3.32: TemporalStatistics model This model addresses a key question: how is data analyzed through time? Two or more daily ponded depth grids are specified as input to this model, along with an overlay statistic. Drilling through time, one value will encapsulate the statistical parameter in each cell through the time period specified (time period is specified by the dates corresponding to the ponded depth grids selected). The question remains: how is data analyzed over space? 3.2.5.2 Zonal Statistics The ZonalStatistics model (Figure 3.33) calculates zonal statistics in user-defined zones over a selected grid. This model may be used when the user wants to calculate statistics in one or more zones for a single day (i.e. average of many cells at one point in time, such as the average depth of wet prairie cells used as foraging habitat). For example, Equation (3-4) is used to calculate the average depth across cells in zone k at time j, and Equation (3-6) is used to calculate the minimum depth across cells in zone k at time j. The model is designed to complete all functions for a single day. Then, the ZonalStatisticsBatch script is used to loop through the ZonalStatistics model over the time period entered by the user. If interested in the zonal statistics for more than one day, the SummaryStatistics model will summarize the statistics based on the case field designated (i.e. zone). 76 Figure 3.33: ZonalStatistics model Statistics are calculated by zone (i.e. habitat zones or land categories) on an input grid (i.e. a ponded depth grid), and written to a temporary output table. A date field is then added and populated in the temporary output table. As the model loops through the user-specified time interval, the daily zonal statistics (from the temporary output table) are appended to a master zonal statistics table. The master table includes one record for each zone-and-date combination. The ZonalStatistics model summarizes data over space and the TemporalStatistics model summarizes data over time; the question now remains: how is data analyzed over space and time? 3.2.5.3 Spatial Statistics The SpatialStatistics model (Figure 3.34) calculates zonal statistics in user- defined zones over the cell statistics raster generated in the TemporalStatistics model. This model enables a user to summarize a particular statistical attribute over time and space. For example, a user may wish to calculate the average ponded depth in a swamp zone over a month or year (i.e. the average of many cells over a period of time) to provide a rough measure of the availability of cells of appropriate depth over time. This calculation is written to a spatial statistics output table. Equation (3-9) is used to 77 calculate the spatial average of the temporal mean depth in each cell of a raster produced from Equation (3-8). Likewise, Equation (3-11) is used to calculate the spatial average of the temporal minimum depth in each cell of a raster produced from Equation (3-10). Although this model is similar to the ZonalStatistics model, both are needed. The SpatialStatistics model is unique because the input grid already reflects temporal analysis so there is no need to append the date to zonal statistics output. Figure 3.34: SpatialStatistics model 3.2.5.4 Summary Statistics The SummaryStatistics model (Figure 3.35) calculates summary statistics on the input table. The input table may be the master Zonal Statistics table generated by the Zonal Statistics model or the Spatial Statistics table generated by the Spatial Statistics model. For the Zonal Statistics model, the user may be interested in the MINIMUM- MINIMUM value in a particular zone over the date range in the table. For the Spatial Statistics model, the user may be interested in the MINIMUM-MINIMUM value over the entire geographic extent. Summary statistics are calculated for an input table based on the case field, as specified in the statistics field parameters. The case field is the field for which separate statistics will be calculated for each unique attribute value. For example, the case field may be ZoneID, in which case summary statistics would be calculated by zone. Statistics 78 field selections are made as shown in Figure 3.36. The user is able to calculate the {VALUE, COUNT, AREA, MIN, MAX, RANGE, MEAN, STD, or SUM} of the {SUM, MEAN, MIN, MAX, RANGE, STD, FIRST, and LAST} values in the input table. The RANGE of the input table values must be calculated following the available Statistics Field calculations to capture the range between the MINIMUM-MINIMUM and the MAXIMUM-MAXIMUM. A new field RANGE is added to the SummaryStatistics output table, then calculated using a simple expression. Figure 3.35: SummaryStatistics model 79 Figure 3.36: Statistics field selection for SummaryStatistics model 3.2.5.5 Overall Statistics The Overall Statistics model (Figure 3.37) steps through the modular statistics components in this order: TemporalStatistics, SpatialStatistics, SummaryStatistics. Two example scenarios are outlined. In one case, the user may wish to find the overall average of ponded depth in swampy areas in the floodplain. To do so, first create a new raster where each cell?s value represents the mean ponded depth over the selected month (TemporalStatistics model). Next, calculate zonal statistics over the new raster using habitat zones (SpatialStatistics model). Finally, calculate summary statistics (with a case field of swampy zones) to find the overall ponded depth average in all swampy zones in the floodplain (SummaryStatistics model). Similar logic may be applied in a second scenario to find the overall average ponded depth in a single zone over time (i.e. three years). To analyze trends between time periods (i.e. how each year?s data compares to the other two years? data), three cell statistics rasters should be generated, one for each time period (i.e. year) of interest (TemporalStatistics model). Zonal statistics should be calculated over each raster (SpatialStatistics model). These statistics can then be summarized by zone in the overall summary statistics (SummaryStatistics model), so that the end result is the three-year average ponded depth in each zone. Figure 3.37: OverallStatistics model 80 3.2.6 Calculate Volume The CalculateVolume model (Figure 3.38) uses ponded depth and cell area to calculate the water volume in each cell. The model is designed to complete all functions for a single day. Then, the CalculateVolumeBatch script is used to loop through the CalculateVolume model over the time period entered by the user. In conjunction with flow rates and constituent concentrations, water volume can be used to find residence time and nutrient assimilation capacity between Lake Kissimmee and Lake Okeechobee. Because volume calculations should be based only on water above the land surface, a new ponded depth grid is created based on selection of only positive ponded depth values. Then another ponded depth grid is created in which the ponded depth in each cell is multiplied by the cell area, thus yielding water volume per cell. In a 60-foot by 60-foot grid, the cell area is 3600 square feet. Cells originally having zero or negative ponded depth have zero volume. Zonal statistics (with the river defined as one zone and the floodplain defined as another zone) can be calculated on this cell volume grid to calculate the volume in the river, floodplain, and combined system. Let V i,j be the volume of water in cell i at time interval j. Cell water volume is calculated by multiplying positive ponded depth by cell area (Equation (3-14)). The Dirac delta function d ? is used in the volume equations to include only cells with positive ponded depth (Equation (3-15)). djiiji daV ???= ,, (3-14) ? ? ? ? ? < ? = 00 01 , , ji ji d d d ? (3-15) 81 The volume of water in a zone is calculated by summing the cell volume of all cells included in the zone; V j (p) and V j (g) represent the volume of water in polygon zone p and depth class zone g at time interval j (Equation (3-16a) and (3-16b), respectively). ? ? = p Ai jij VpV , )( (3-16a) ? ? = g Ai jij VgV , )( (3-16b) Figure 3.38: CalculateVolume model 3.3 MODEL COMPILATION There are multiple ways to evaluate hydroperiod. A single modular component may be executed independently or in conjunction with other models. Results from one model may be input to another model or may be the final output. The District requested a model that is simple to manage for a novice user while flexible enough to meet the druthers of an advanced user. The appropriate model and input parameters can be selected based on the output desired by the user. A more advanced user may elect to piece together a new unique model to meet a specific set of requirements. For a novice user, several overall models were created to perform tasks commonly used in hydroperiod analysis. However, this is not an exhaustive collection; the suite of modular components were previously discussed in this chapter and can be organized in any way desired. 82 3.3.1 Biological Analysis One measure of restorative success in the Kissimmee River ecosystem is the presence of fish, wading birds, and vegetation. Each requires a habitat partially described by the range of water depths in which they exist or thrive. Two questions must be answered by hydroperiod analysis. First, what part of the floodplain is available to a given size class of fish, wading bird, or vegetation during a specified period of analysis? Second, where do corresponding ranges of water depth conditions exist on the floodplain? These questions are answered by a combination of modular components already described. The DBHydro Data Ingest model is used to extract temporal data for the specified period of analysis. Then, the Generate Rasters models and Classify Depths model are looped through time to produce daily depth classified polygons, where each polygon covers the portion of the floodplain inundated at a user-defined depth range. All three modular components are called in series from a new single model called OverallBio (Figure 3.39). The spatial coverage of each depth class can be viewed in ArcGIS (such as in Figure 4.21) or in ArcGIS Tracking Analyst (such as in Figure 4.34). Figure 3.39: OverallBio model 83 3.3.2 Water Quality Analysis The Kissimmee River Restoration Project is expected to improve the nutrient assimilation capacity of the floodplain. To determine if nutrient loads to Lake Okeechobee are reduced, the volume of water stored in the river/floodplain system must be known, along with its residence time. Residence time can be calculated using the flow measurements available in DBHydro. The question to be answered by this hydroperiod analysis is: What is the volume of water in the river, in the floodplain, and in the combined river/floodplain system? The volume may be calculated in three different ways, in accordance with the three ways of calculating mean (described in Section 3.2.5). Two different overall water quality models are provided (capable of calculating mean in all three ways). Both models use DBHydro to extract temporal data and then loop through the Generate Rasters models and the Calculate Volume model. The next modular components vary according to approach. The first model OverallWQDaily (Figure 3.40) uses the Daily Average Approach by calculating zonal statistics, followed by summary statistics. The second model OverallWQCell (Figure 3.41) uses the Cell Average Approach by calculating temporal statistics followed by spatial statistics and the All Data Approach by proceeding to calculate summary statistics. 84 Figure 3.40: OverallWQDaily model Figure 3.41: OverallWQCell model 85 3.3.3 Hydrologic Analysis The heart of hydroperiod analysis is the depth and duration of inundation over the floodplain. This analysis must answer three related questions. What is the mean daily water depth for a specified area? What is the mean monthly, seasonal, and annual water depth? How does the mean water depth compare between months, seasons, and years? The DBHydro Data Ingest and Generate Rasters models are once again executed to produce daily ponded depth grids. Then, different individual models and combinations of models from the Calculate Statistics toolset are executed to produce the mean water depth information desired. The first question is answered by the OverallHydroArea model (Figure 3.42) which calculates zonal statistics followed by summary statistics. The second and third questions are answered by the OverallHydroTime model (Figure 3.43) which calculates temporal statistics followed by spatial statistics. Figure 3.42: OverallHydroArea model 86 Figure 3.43: OverallHydroTime model 3.4 SPATIAL INTERPOLATION ANALYSIS Inundation results from eight different spatial interpolation methods were compared to measured water depth values for two reasons. First, a strong match between measured and interpolated water depth values provides validation of the hydroperiod analysis. Second, water depth differences produced by each interpolation method were compared to determine the optimal interpolation method to be used in hydroperiod analysis. Days analyzed were selected based on collection dates of the WaterDepthPoints throughout Pool C. A total of 2183 water depth points were recorded using three different collection methods. As discussed in Section 3.1.4, only depth values at the points measured with the HTOOL method were used to compare the interpolated and measured water depth values throughout the floodplain. Of the 2183 water depth points 87 measured, only 303 points were measured using the HTOOL method; these points were collected on 19 days. Approximately half of the HTOOL points were measured on six days. The six days were chosen because they had a large number of sample points along with corresponding stage measurements in DBHydro (DBHydro time series records were not available for all monitoring stations on all days). The six days chosen and the number of water depth points sampled on each day are as follows: 8/8/2002 (38 points), 8/15/2002 (27), 8/21/2002 (12), 8/22/2002 (19), 8/29/2002 (20) and 10/2/2002 (20). Because the batch scripts are not working in ArcGIS 9.0 Pre-Release, models could not be looped through time in an automated manner. Therefore, the models were executed manually for each day evaluated to generate the water surface elevation and ponded depth grids. Then, a Visual Basic script was executed manually for each day evaluated to extract the interpolated ponded depth values. Finally, spreadsheet calculations comparing each day?s interpolated and measured water depth values were completed manually. Because of the manual effort involved in each step of this process, the number of days evaluated was limited to the six days described above. The process established and outlined herein serves as a conceptual framework for future, more automated comparisons, which may include all 303 HTOOL sample points. After determining dates having a large number of water depth measurements, the DBIngest model was used to download data from DBHydro into an Attribute Series table for August through October of 2002. Starting with one day (say 10/1/2002), the GenerateRastersPart1 model was executed to create the layer file with the hydroperiod points and temporal data joined. This layer file served as input into all part two models, which were then executed in the following order (name convention follows): (1) GenerateRastersPart2_Kriging ? ordinary kriging with default spherical semivariogram (pd_krig_MMDD) 88 (2) GenerateRastersPart2_Kriging ? universal kriging with default linear with linear drift semivariogram (pd_krig_MMDD) (3) GenerateRastersPart2_IDW ? power 2, variable search radius, 12 points (pd_idw_MMDD) (4) GenerateRastersPart2_IDW ? power 2, variable search radius, 5 points (pd_idwb_MMDD) (5) GenerateRastersPart2_IDW ? power 2, fixed radius of 5000 feet, minimum of 5 points (pd_idwc_MMDD) (6) GenerateRastersPart2_Spline ? regular (pd_spl_MMDD) (7) GenerateRastersPart2_Spline ? tension (pd_splt_MMDD) (8) GenerateRastersPart2_NN ? (pd_nn_MMDD) Note that several models were executed multiple times with different parameters. This process was completed for all days analyzed (i.e. the layer file was then created for 10/2/2002 using GenerateRastersPart1 model and the inundation rasters were created using the part two models listed above, and so on). The interpolated water depth was then extracted from the ponded depth rasters at the measured point location using a ?GetZValues? Visual Basic macro (Appendix C) in ArcMap. Because the macro expects the data in a certain order, data was loaded into ArcMap one day at a time, in this order: (1) WDP10012002 (WaterDepthPoints for 10/1/2002) (2) pd_krig_1001 (3) pd_krigu_1001 (4) pd_idw_1001 (5) pd_idwb_1001 (6) pd_idwc_1001 (7) pd_spl_1001 89 (8) pd_splt_1001 (9) pd_nn_1001 The macro was executed once for each day analyzed. The macro was executed from ArcMap by clicking on Tools?Macros?Macros, selecting the macro entitled ?GetZValues?, and clicking Run. The macro can also be executed from ArcMap by clicking on Tools?Macros?Visual Basic Editor, then hitting the run arrow within Visual Basic. The code produced an output text file with a list of point IDs, measured depth values from the WaterDepthPoints feature class, and interpolated depth values from each grid. The daily text files were combined to comprise a single master text file, which was loaded into excel. The interpolated water depth was then compared to the measured water depth by calculating the mean error and root mean square error (RMSE). Mean error is calculated to reveal spatial bias. The interpolation method with the least RMSE produces results most similar to the measured values. 90 Chapter 4: Results The hydroperiod analysis conducted for this research prompted exploration of four topics. First, validation of water depth predictions triggered an investigation into the quality of the land surface elevation grid used in the model and its influence in hydroperiod calculations. Two post-construction land surface grids were generated using different methods and were compared to each other and the pre-construction land surface grid. Second, mean error and root mean square error (RMSE) were calculated between measured and interpolated water depth values, with comparison between water depths produced from different interpolation methods. Third, hydroperiod results were graphed in Excel and presented in ArcMap to identify spatial and temporal inundation trends. Fourth, the enhanced Arc Hydro Time Series data model was demonstrated through implementation of the hydroperiod analysis for South Florida. Results from each study are presented and interpreted in this chapter. 4.1 LAND SURFACE ELEVATION GRID EVALUATION During the first phase of the Kissimmee River restoration, canals were backfilled, meandering river segments were re-carved, spoils were removed, structures were demolished, and so on. Thus, the land surface changed significantly during construction. For this reason, a new land surface elevation grid was needed. The pre-construction land surface elevation raster was created by the United States Army Corps of Engineers under contract to the SFWMD. The method used to create the pre-construction land surface elevation raster is not known. Originally, only one post-construction grid was created by CRWR. However, when comparing measured and interpolated water depths, a few locations were immediately flagged because of large water depth differences. This prompted an investigation into the accuracy of the post-construction land surface 91 elevation grid. Since the land surface elevation grid is subtracted from the interpolated water surface elevation grid to calculate water depth, it may be a contributor to water depth prediction error. Two post-construction land surface elevation rasters were created by CRWR using two different methods: (1) by loading one-foot contour data from shapefiles and coverages into a triangulated irregular network (TIN) which was then converted to a raster and clipped with a mask of the study area to match the shape of the pre- construction land surface elevation raster and (2) by using CatchmentSIM (Ryan, 2003) to convert vector data (contours) to grid. For the purposes of this thesis, the first post- construction grid created using a TIN will be referred to as post-construction LSE grid 1 and the second post-construction grid created using CatchmentSIM will be referred to as post-construction LSE grid 2. CatchmentSIM is a free stand-alone three-dimensional geographic information system with topographic parameterization and a hydrologic analysis model (Ryan, 2003). CatchmentSIM?s Vector to Raster conversion tool was utilized to produce the second post-construction land surface elevation grid from contour data provided by South Florida. The theoretical production of such a grid is briefly summarized as follows. When a vector component (such as a contour line) traverses two or more neighboring cells, the cell containing the longest portion of the contour line is assigned the same elevation as the contour line. CatchmentSIM incorporates an additional layer of vector processing for streamline location to improve accuracy of the resulting raster. After contour line and streamline elevations have been assigned to underlying cells, the unassigned cells are calculated based on a distance weighted average of a user-specified number of cross-sectional rays passing through each cell. 92 The three land surface elevation grids (Figure 4.1) are similar with minor disparity. One immediately noticeable difference between the grids is the canal carved through the center of the pre-construction grid (along with spoils lining the sides of the canal) and no canal in either post-construction grid. This change reflects reconstruction completed to backfill the canal and re-carve the meandering stream where necessary. Also noticeable are the yellow spots in the middle grid, PostLandElev. The yellow spots represent low elevations approaching and in some places equal to zero feet. In fact, the elevation range varies notably between grids; grid (a) ranges in elevation from 12-62 feet, grid (b) ranges in elevation from 0-60 feet, and grid (c) ranges in elevation from 26-61 feet. The elevation difference between grids (a) and (c) is logical and attributable to the backfilling of the deep canal and removal of spoil banks lining the canal. (a) ELEV (b) PostLandElev (c) PostElevCJR Figure 4.1: Pre- and post-construction land surface elevation grids: (a) pre-construction grid, ELEV; (b) post-construction LSE grid 1, PostLandElev; and (c) post- construction LSE grid 2, PostElevCJR 93 To assess the validity of the post-construction land surface elevation grids generated, three difference grids were created using the ArcGIS Spatial Analyst raster calculator to subtract one grid from another (Figure 4.2). The three difference grids are: (1) deltag1elev ? post-construction grid 1 minus pre-construction grid; (2) deltag2elev ? post-construction grid 2 minus pre-construction grid; and (3) deltag1g2 ? post-construction grid 1 minus post-construction grid 2. In Figure 4.2, black represents a land surface elevation difference between negative one and positive one foot (including zero difference). Red represents a negative difference and blue represents a positive difference, where color intensity corresponds to magnitude of difference (i.e. the darkest red corresponds to the highest negative difference). Not all elevation difference is bad; in Figure 4.2(a) and (b), an expected elevation difference is visible down the center of the floodplain where the spoil mounds were removed and the canal was backfilled during construction. Since Figure 4.2(a) shows mostly black and comparatively few red and blue spots, the first post-construction land surface elevation grid appears to have the smallest difference from the pre-construction land surface elevation grid. However, grid statistics (Table 4.1) reveal that the first post-construction grid actually has a larger mean difference from the pre-construction grid (-0.54 feet) than the second post-construction grid (-0.48 feet). The first grid also has a larger standard deviation (2.82 feet) than the second grid (2.50 feet). Based on examination of each grid (and in agreement with the statistics presented in Table 4.1), the first grid has relatively large variations at a few distinct points, while the second grid has smaller variations at many points throughout the floodplain. If both methods produced the same land surface elevation grid, Figure 4.2(c) would be all black and the final column in Table 4.1 would be filled with zeros. However, Figure 4.2(c) is covered in red and blue spots, and Table 4.1 reveals great 94 disparity between grids. Ponded depth grids were calculated using both post-construction land surface elevation grids to determine their influence in water depth prediction (Section 4.2). (a) deltag1elev (b) deltag2elev (c) deltag1g2 Figure 4.2: Differences between pre- and post-construction land surface elevation grids Table 4.1: Summary Statistics of Land Surface Elevation Difference Grids deltag1elev deltag2elev deltag1g2 Minimum -47.36 -29.79 -26.37 Maximum 27.73 28.97 43.00 Mean -0.54 -0.48 0.13 Standard Deviation 2.82 2.50 2.82 Elevation differences in the land surface elevation grids may be caused by actual differences in land surface elevation, errors in the elevation contour lines (used to generate the land surface elevation grid), or the method chosen to generate the grid. Differences in land surface elevation are anticipated primarily near the canal and meandering stream, but not in other areas of the floodplain. Since grids (b) and (c) show elevation differences throughout the floodplain, the second and third possibilities must be considered. 95 Upon investigation, some error was discovered in the contour lines provided by the District. Just over 200 contour lines were identified with untrue zero elevations. Since the contour data consists of approximately 58,000 contour lines, the 200 erroneous lines account for less than one half of one percent of the collective contours. However, their presence had significant effect on generation of the post-construction land surface elevation grid. As seen in Figure 4.3, the locations of the erroneous contour data align with the yellow low spots in the Figure 4.2, grid (b). For future reference, incorrect zero elevation contour lines should be corrected or removed prior to generating the post- construction land surface elevation grid. Point elevation data would produce a better post-construction grid. Figure 4.3: Erroneous contour lines highlighted in blue among other contour line data (left), erroneous contour lines highlighted in red overtop the post- construction land surface elevation grid 1 (right) Contour data (Figure 4.3, left) were used untouched to create grid 1 (TIN method); conversely, untrue zero elevation contour lines were removed before converting the contours to grid 2 (CatchmentSIM method). Another potential cause of Grid 2?s variation from Grid 1 and the pre-construction land surface elevation grid is a recognized 96 limitation in CatchmentSIM grid generation. Whereas most grid generation methods average the contours passing through a cell to assign its value, CatchmentSIM assigns grid cell values based on the value of the last contour that passes through the cell. An example cell is shown in Figure 4.4, where the contour lines vary from 36 to 39 feet. Because the last line to pass through the cell is the 36-foot line, the cell is assigned an elevation of 36 feet. In an area as flat as Florida, a 3 foot difference in elevation can be very meaningful, and could significantly skew inundation prediction. Stemming from this observation is the following conclusion: because contour lines are so dense (with multiple lines passing through a single cell), the resolution of the output grid should be improved (smaller cell size than the 60ft x 60ft grid requested by the District). 39 38 39 37 Figure 4.4: Contour line density in a single cell Next, the difference grids were converted to integer grids and then to points to enable creation of histograms using Geostatistical Analyst. A histogram was created 97 36 38 for each difference grid to display the frequency distribution of elevation differences. The tall bars in Figure 4.5 represent zero or little difference between grids. Both post- construction grids average approximately half a foot less in elevation than the pre- construction grid. The lower elevation is likely attributable to the removal of spoil mounds lining the canal. Trend analysis was performed on difference data by projecting the shapefile points onto three-dimensional space using ArcGIS Geostatistical Analyst (Figure 4.6). In the trend analysis plots, the elevation difference is represented by light green points hovering above the dark red sample point locations. The light green points are projected onto the XZ plane (green) and YZ plane (blue) as scatter plots, to which polynomial curves are fit to produce the light green and blue trend lines in the XZ and YZ planes. Trend analysis indicated that the difference between pre- and post-construction land surface elevations was evenly distributed and was not biased spatially. Both post-construction land surface elevation grids reveal some artifacts caused by an insufficient number of contour points. No algorithm can completely eliminate these artifacts; corrections should be completed by quality control staff familiar with the ground truth. Similarly, there is no single correct way to generate a grid from contour lines. It requires many trials and errors and familiarity with the ground truth to generate the grid that will best fit a specific project. Post-construction grid 2 shows slightly less deviation from the pre-construction grid (Figure 4.5(b)). Its standard deviation is likely lessened since erroneous contour data was corrected before generating the land surface elevation grid. However, the simplified way of determining cell values based on the last contour to pass through the cell produces great variation throughout the floodplain (Figure 4.4). Because it should render more reliable water depth values throughout the floodplain, post-construction grid 1 is recommended for use in hydroperiod analysis. 98 (a) deltag1elev (b) deltag2elev (c) deltag1g2 Figure 4.5: Histograms for difference data 99 (a) deltag1elev (b) deltag2elev (c) deltag1g2 Figure 4.6: Trend analysis for difference data 4.2 VALIDATION OF DATA USING SPATIAL INTERPOLATION COMPARISONS For each water depth point measured during the six days analyzed (discussed in Section 3.4), and for each interpolation method, the squared difference between observed and interpolated depth was calculated to produce Mean Square Error (MSE). Then, the Root Mean Square Error (RMSE) for each point was calculated as the square root of its MSE. The six days included in this analysis were selected because a larger number of 100 points were sampled on those days than on other days. The clusters of points measured on each day are shown in Figure 4.7. The associated RMSE values produced for the water depth points measured on each day analyzed are shown graphically in Figure 4.8. Legend WDP08082002 WDP08152002 WDP08212002 WDP08222002 WDP08292002 WDP10022002 Floodplain100yr Figure 4.7: Water depth points for six days analyzed (left); Water depth points with large RMSE values (right) 101 Figure 4.8 does not reveal any significant trends in RMSE of measured versus interpolated water depth. Points have similarly scattered RMSE values for all dates analyzed, with exception of the lone blue point with an RMSE of 11.59 on 8/21/2002 when using post-construction grid 1. An order of magnitude larger than other questionable errors, this point required special attention; its location is marked with a red boxed question mark in Figure 4.9. [The other red question marks in Figure 4.9 denote points with the largest root mean square error (RMSE) of each day evaluated.] As the Identify box reveals, the elevation of the pre-construction land surface elevation raster (elev) is 37.7045 feet at the point location, while the elevation of the post-construction land surface elevation raster (postlandelev) is 24.0056 feet. It is doubtful that the pre- and post-construction elevation changed by over 13 feet, especially because this point is located so near the floodplain boundary and relatively far from the reconstruction. Even greater discrepancies were identified by zooming in on this area. At one point, the post- construction grid shows a land surface elevation of zero, while the pre-construction grid and alternate post-construction grid show elevations around 35 feet (Figure 4.10). These and other elevation conundrums prompted the difference studies presented in Section 4.1. Water depth points selected in Figure 4.7 (highlighted in aqua blue) represent the points in Figure 4.8 with RMSE greater than 2.0 feet for Post-Construction LSE Grid 1. More highlighted points lie further from the river than close to it, suggesting that interpolation may be less accurate further from the river. However, this statement cannot be made with much certainty since three highlighted points lie along the river. Other possible reasons for larger RMSE include (1) erroneous measured water depths, (2) erroneous land surface elevation grids (discussed previously in Section 4.1), and (3) insufficient number of monitoring stations used to interpolate a water surface. Perhaps more monitoring stations are needed between existing transects and along the floodplain boundaries. 102 0.0 2.0 4.0 6.0 8.0 10.0 12.0 Water Depth Points Measured R o o t M e a n S q u a re E rro r P o st-C o n s tr u c ti o n L S E G r i d 1 8/8/2002 8/15/2002 8/21/2002 8/22/2002 8/29/2002 10/2/2002 0.0 2.0 4.0 6.0 8.0 10.0 12.0 Water Depth Points Measured R oot Me a n S qua r e E r r o r Po s t - C o n s t r u c t i o n L SE G r i d 2 8/8/2002 8/15/2002 8/21/2002 8/22/2002 8/29/2002 10/2/2002 Figure 4.8: Daily RMSE at each measured water depth point 103 Figure 4.9: Discrepancy between pre- and post-construction land surface elevation grids Figure 4.10: Discrepancy between two post-construction land surface elevation grids 104 To understand the influence of different interpolation methods in predicting water depth, focus must be broadened from individual points to overall trends. Mean error (Table 4-2) and root mean square error (Table 4-3) were calculated for each of the six days analyzed. Mean error is calculated using Equation (4-1), and is used to understand if interpolated values are systematically over or under predicted (error is biased) or if error is random. Root mean square error is an estimator of standard deviation and is calculated using Equation (4-2). In both equations, N is the number of observations, I is the interpolated value, and M is the measured value. The significance of a RMSE value is dependent on the scale of the values compared. For example, if comparing the number 1000 to 1005, a difference of five is very small; however, if comparing zero to five, a difference of five is very large. ? = ?= N n nn MI N MeanError 1 2 )( 1 (4-1) () 2 1 1 ? = ?? N n nn MI N RMSE (4-2) From interpretation of Table 4.2 only, Grid 2 (overall mean error = -0.0595 feet) seems to more accurately predict water surface than Grid 1 (overall mean error = 0.2895 feet). Now consider Figure 4.11, which displays the percentage of overall mean error (mean error averaged over all interpolation methods at each point) in each mean error depth class. A greater portion of Grid 1 (65%) interpolated water depths are within 1 foot of measured water depths than for Grid 2 (48%). The overall Grid 2 mean error is lower than that of Grid 1 because the negative mean errors more equally balance the positive mean errors. However, fewer points on Grid 1 have greater than one foot water depth differences, making Grid 1 the preferred grid for hydroperiod analysis. 105 Table 4.2: Daily Mean Error Values for each Interpolation Method Ordinary Kriging Universal Kriging IDW Variable IDW Fixed Regular Spline Tension Spline Natural Neighbors Daily Average Post-Construction LSE Grid 1 Mean Error (feet) 8/8/2002 0.1023 0.0830 0.0759 0.1607 0.0909 0.1044 0.1129 0.1043 8/15/2002 -0.5580 -0.5529 -0.6450 -0.5631 -0.5831 -0.5756 -0.5792 -0.5795 8/21/2002 1.9773 1.9672 1.9719 2.0383 1.9670 1.9937 1.9684 1.9834 8/22/2002 0.9958 1.0307 0.8071 0.9028 0.9392 0.9871 1.1117 0.9678 8/29/2002 0.7342 0.7046 0.6777 0.6840 0.7186 0.7263 0.7188 0.7092 10/2/2002 -1.3426 -1.2691 -1.5577 -1.5087 -1.4694 -1.3774 -1.0593 -1.3692 AVERAGE 0.3046 0.3090 0.2136 0.2796 0.2688 0.2970 0.3539 0.2895 SUM 31.6833 32.1410 22.2191 29.0745 27.9549 30.8881 36.8106 30.1102 Post-Construction LSE Grid 2 Mean Error (feet) 8/8/2002 0.2295 0.2102 0.2031 0.2880 0.2181 0.2316 0.2401 0.2315 8/15/2002 -0.8195 -0.8143 -0.9065 -0.8246 -0.8445 -0.8371 -0.8407 -0.8410 8/21/2002 0.8463 0.8362 0.8409 0.9073 0.8360 0.8627 0.8374 0.8524 8/22/2002 0.7294 0.7643 0.5407 0.6364 0.6727 0.7207 0.8453 0.7014 8/29/2002 0.6293 0.5997 0.5729 0.5792 0.6138 0.6215 0.6140 0.6043 10/2/2002 -1.3426 -1.2691 -1.5577 -1.5087 -1.4694 -1.3774 -1.0593 -1.3692 AVERAGE -0.0444 -0.0400 -0.1354 -0.0695 -0.0802 -0.0520 0.0049 -0.0595 SUM -4.6153 -4.1577 -14.0796 -7.2242 -8.3438 -5.4106 0.5055 -6.1894 Table 4.3: Daily RMSE Values for each Interpolation Method Ordinary Kriging Universal Kriging IDW Variable IDW Fixed Regular Spline Tension Spline Natural Neighbors Daily Average Post-Construction LSE Grid 1 RMSE (feet) 8/8/2002 0.8440 0.8562 0.8970 0.9258 0.8284 0.8461 0.8792 0.8723 8/15/2002 1.0971 1.0778 1.2066 1.2048 1.0992 1.1016 1.0808 1.1357 8/21/2002 3.7370 3.7218 3.7359 3.7700 3.7213 3.7456 3.7279 3.7370 8/22/2002 1.2702 1.3102 1.0637 1.1397 1.2271 1.2758 1.4267 1.2278 8/29/2002 0.9400 0.9167 0.9116 0.9139 0.9101 0.9206 0.9243 0.9187 10/2/2002 1.8417 1.7794 2.0168 1.9618 1.9696 1.8869 1.6212 1.8911 AVERAGE 1.9048 1.8916 1.9256 1.9367 1.9129 1.9146 1.8867 1.9124 Post-Construction LSE Grid 2 RMSE (feet) 8/8/2002 1.5831 1.5555 1.6353 1.6195 1.6071 1.5307 1.5997 1.5997 8/15/2002 1.4878 1.4695 1.5637 1.5436 1.4953 1.4944 1.4790 1.5051 8/21/2002 1.4721 1.4577 1.4784 1.5073 1.4607 1.4794 1.4624 1.4741 8/22/2002 1.4804 1.4782 1.4482 1.4645 1.4289 1.4570 1.4929 1.4644 8/29/2002 1.1832 1.1648 1.1527 1.1565 1.1798 1.1885 1.1703 1.1709 10/2/2002 3.0463 2.9695 3.2762 3.2280 3.1891 3.0937 2.7570 3.0844 AVERAGE 1.8147 1.7825 1.8914 1.8788 1.8509 1.8199 1.7361 1.8269 106 6% 8% 13% 10% 4% Mean Error (feet) 17% 14% 12% 15% LSE Grid 2LSE Grid 1 10% 8% 18% 16% 5% 13% 8% 12% 13% Figure 4.11: Classified overall mean error ranges Measured water depths range from 0.0 to 4.4 feet; interpolated water depths range from -3.4 to 12.4 feet. On a scale spanning approximately 16 feet for interpolated water depths and 4.4 feet for measured water depth, an average approximate mean error of 0.3 feet (Table 4.2) indicates that interpolated depth values vary from measured values by less than less two percent (interpolated water depth range) and less than five percent (measured water depth range). A two to five percent variance is considered reasonably well matched considering the many contributors to water depth imprecision. If surface prediction is unbiased, the summed mean error is equal to zero; the overpredicted values balance the underpredicted values. However, the overall summed mean error in Table 4-2 shows that water depth is overpredicted (sum ean error = 30.11 feet) for land surface elevation grid 1 and underpredicted (sum of mean error = - 6.19 feet) for land ation grid 2. In T surface elevation grid feet (Grid 1) and 0.1305 feet (Grid 2), suggesting that the land agnitude more influential in a ethod. 107 able 4-2, ean error varies between surface elev tween interpo thods by only 0.1403 surface elevation gr tely predicting water depth than s by 1.131 feet, but be ccura of m m lation me id is an land order of m interpolation m Mean error at measured points was interpolated to produce a raster surface displaying the spatial distribution of water depth differences (Figure 4.12). Water depth was estimated using IDW, Kriging, Spline, and Natural Neighbor interpolation methods. Then the mean error produced from each interpolation method (difference between measured and interpolated water depth) was interpolated using IDW to assess mean error distribution differences between interpolation methods and land surface elevation grids. The raster surface extent is limited by the location of sampled points that were compared to interpolated points. Figures 4.12(1-a) through (1-d) represent different water depth interpolation methods for grid 1, and Figures 4.12(2-a) through (2-d) represent different water depth interpolation methods for grid 2. (For consistency, mean error in all figures was interpolated using IDW interpolation.) All mean error grids produced for land surface elevation grid 1 are nearly identical regardless of the water depth interpolation method, as are the mean error grids produced for land surface elevation grid 2. However, there are distinct differences between land surface elevation grids for a given water depth interpolation method (i.e. compare Figure 4.12(1-a) to Figure 4.12(2-a)). This assertion is supported by the grid statistics presented in Table 4.4; all statistics are similar between interpolation methods for a given grid, but vary significantly between grids for a given interpolation method. Thus, the mean error distribution varies more between land surface elevation grids than between interpolation methods. A large region of positive mean error (overpredicted water depth shown in blue) exists in the center of Pool C, while pockets of negative mean error (underpredicted water depth shown in green) exist along the east edge and southwest corner of the area interpolated. Notable differences between the mean error distributions of each land surface grid occur along the river and along the east and south edges of the floodplain. In general, lower water depths are predicted over land surface elevation grid 2 than over 108 grid 1. This supports the previous finding from Table 4-2 that water depth is overpredicted for grid 1 and underpredicted for grid 2. Great variability of mean error spatial distribution between different land surface elevation grids suggests that something other than interpolation method influences water depth prediction. Perhaps geospatial interpolation isn?t the best way to predict water depths; perhaps hydraulic modeling input is required to accurately compute water depths. (1-a) IDW (1-b) Kriging (1-c) Spline (1-d) Natural Neighbor (2-a) IDW (2-b) Kriging (2-c) Spline (2-d) Natural Neighbor Figure 4.12: Spatial distribution of mean error 109 Table 4.4: Summary Statistics of Interpolated Mean Error Grids Mean Error (feet) for LSE Grid 1 Mean Error (feet) for LSE Grid 2 IDW Kriging Spline NN IDW Kriging Spline NN Minimum -3.321 -3.082 -3.347 -2.748 -6.134 -5.946 -6.132 -5.579 Maximum 11.495 11.495 11.437 11.468 4.288 4.281 4.326 4.233 Mean 0.086 0.186 0.156 0.225 -0.214 -0.114 -0.144 -0.075 Std. Deviation 0.815 0.786 0.784 0.791 1.021 0.981 1.002 0.930 RMSE values from Table 4-3 are displayed in Figure 4.13. The overall average RMSE is shown in Figure 4.14, where the dotted green and blue lines represent overall average RMSE values of 1.9124 feet for Grid 1 and 1.8269 feet for Grid 2, respectively. Although slight, Natural Neighbors and Kriging produce smaller RMSE values than IDW and Spline interpolation methods. It is interesting to note that the peak Daily Average RMSE occurs on 8/21/2002 for post-construction LSE grid 1, while the peak Daily Average RMSE occurs on 10/2/2002 for post-construction LSE grid 2. Grid 1 and Grid 2 average RMSE values vary between interpolation methods by only 0.05 feet (2.6 %) and 0.1553 feet (8.2 %), respectively. On the other hand, the daily average RMSE on a given day, such as 8/21/2002, varies between grids by 2.2629 feet (60.6 %). [Percent variance was determined by subtracting the minimum value from the maximum value and dividing by the maximum value.] With the exception of one day, the post-construction land surface elevation grid 1 (TIN method) has a smaller RMSE value than post-construction grid 2 (CatchmentSIM). This trend supports the statement at the end of Section 4.1 which says that the post-construction land surface elevation grid 1 should be used in hydroperiod analysis. 110 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 8/1/2002 8/16/2002 8/31/2002 9/15/2002 9/30/2002 10/15/2002 Date R oot M e a n S qua r e E r r o r P o s t - C ons t r uc t i on LS E G r i d 1 Ordinary Kriging Universal Kriging IDW V ariable IDW Fix ed Regular Spline Tension Spline Natural Neighbors 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 8/1/2002 8/16/2002 8/31/2002 9/15/2002 9/30/2002 10/15/2002 Date R o o t M e a n S q u a re E rro r P o st - C o n st r u ct io n L S E G r id 2 Ordinary Kriging Universal Kriging IDW V ariable IDW Fixed Regular Spline Tension Spline Natural Neighbors Figure 4.13: Daily RMSE values for each interpolation method 111 RMSE variation between grids (2.2629 feet) is more than an order of magnitude larger than variation between interpolation methods (0.1553 feet). Figure 4.13 illustrates the major differences between Daily Average RMSE values for Grid 1 and Grid 2, while Figure 4.14 illustrates the relative indifference between Average RMSE values for different interpolation methods. Such variability of RMSE values between grids reveals depth prediction?s dependence on topographic quality and relative indifference to interpolation method. 0.0 0.5 1.0 1.5 2.0 2.5 Ordinary Kriging Universal Kriging IDW Variable IDW Fixed Regular Spline Tension Spline Natural Neighbors Interpolation Method R o o t M e a n S q u a re E rro r Post-Construction LSE Grid 1 Post-Construction LSE Grid 2 Figure 4.14: Overall average RMSE value for each interpolation method There are many possible causes of error between measured and interpolated depth values. The water depth measurements recorded in the field may be effected by human error, the stage values measured and stored in DBHydro may be inaccurate if monitoring stations are not adequately calibrated and maintained, or the interpolation of points may 112 not be accurate due to a variety of factors (topographic inaccuracy, false interpolation, inadequate number of monitoring stations, etc.). Also, negative depths (water level below ground surface) were not recorded in field measurements but are included in interpolated depth values. A value of zero was recorded to represent a dry point but the water surface may actually be anywhere at or below the ground surface. Therefore, possibly invalid RMSEs are calculated when comparing negative interpolated depths to zero measured depths. 4.3 GRAPHICAL DISPLAY OF SPATIAL AND TEMPORAL ANALYSIS A biologist or hydrologist may wish to understand the pattern of inundation at a specific point in the floodplain over a period of time. Output from the Generate Rasters suite of models can be used as input to hydroperiod graphs. Figure 4.15 was created by identifying a single point of interest in the floodplain. The point selected is located just south of the confluence of the Oak Creek Tributary and the meandering Kissimmee River. The water surface elevation, land surface elevation, and ponded depth were extracted for the selected point from the WSE, LSE, and PD grids spanning the month of June 2003. Elevation and depth values were extracted using the GetZValues Visual Basic macro (Appendix C). A total of 90 grids were used (one grid per day per value). The elevations and depths were then manually loaded into an Excel spreadsheet to produce the graph shown in Figure 4.15. The primary y-axis (left) corresponds to the green land surface elevation line and blue water surface elevation line. The secondary y- axis (right) corresponds to the red ponded depth line, which is calculated by subtracting the land surface elevation from the water surface elevation. 113 30.0 31.0 32.0 33.0 34.0 35.0 36.0 6/ 1/ 20 03 6/ 2/ 20 03 6/ 3/ 20 03 6/ 4/ 20 03 6/ 5/ 20 03 6/ 6/ 20 03 6/ 7/ 20 03 6/ 8/ 20 03 6/ 9/ 20 03 6 / 10/ 20 03 6 / 11/ 20 03 6 / 12/ 20 03 6 / 13/ 20 03 6 / 14/ 20 03 6 / 15/ 20 03 6 / 16/ 20 03 6 / 17/ 20 03 6 / 18/ 20 03 6 / 19/ 20 03 6 / 20/ 20 03 6 / 21/ 20 03 6 / 22/ 20 03 6 / 23/ 20 03 6 / 24/ 20 03 6 / 25/ 20 03 6 / 26/ 20 03 6 / 27/ 20 03 6 / 28/ 20 03 6 / 29/ 20 03 6 / 30/ 20 03 Day in June W a t e r / L a n d E l evat i o n , f eet 0.0 1.0 2.0 3.0 4.0 5.0 6.0 P onde d D e p t h, f e e t Water Surface Elevation Land Surface Elevation Ponded Depth Figure 4.15: Illustration of ponded depth calculation at one point location A biologist or ecologist may wish to understand inundation patterns over different land types, habitats, or other zones. Figure 4.16 identifies seven different land categories, for which the zonal ponded depth is plotted in Figure 4.17. The zonal ponded depth was determined by first producing the ponded depth grid from the Generate Rasters toolset, then calculating zonal statistics from the Calculate Statistics toolset. The mean ponded depth value from the zonal statistics output table was then plotted for each day and land category. 114 Sod Farm Pasture Slough Tributary Impound -ment Swamp Woody Shrub Figure 4.16: Selected land categories in Pool C of the Kissimmee River -10.0 -8.0 -6.0 -4.0 -2.0 0.0 2.0 4.0 6.0 6/ 1/ 2003 6/ 2/ 2003 6/ 3/ 2003 6/ 4/ 2003 6/ 5/ 2003 6/ 6/ 2003 6/ 7/ 2003 6/ 8/ 2003 6/ 9/ 2003 6/ 10/ 2003 6/ 11/ 2003 6/ 12/ 2003 6/ 13/ 2003 6/ 14/ 2003 6/ 15/ 2003 6/ 16/ 2003 6/ 17/ 2003 6/ 18/ 2003 6/ 19/ 2003 6/ 20/ 2003 6/ 21/ 2003 6/ 22/ 2003 6/ 23/ 2003 6/ 24/ 2003 6/ 25/ 2003 6/ 26/ 2003 6/ 27/ 2003 6/ 28/ 2003 6/ 29/ 2003 6/ 30/ 2003 Day in June Ponde d D e pt h, f e e t Pas tur e Sw amp Slough Tributary Woody Shrub Impoundment Sod Farm Figure 4.17: Daily ponded depth in selected land categories 115 It makes sense that the tributary zone (blue) shows the highest ponded depth. Since a tributary river flows through that zone, water level is likely to be higher than in areas located further from a river. Notice that ponded depth may be either negative (if the water surface is below the land surface) or positive (if the water surface is above the land surface). The sod farm, swamp, and woody shrub all have a negative mean ponded depth value. It is important to understand that zonal statistics represent an average over the zone. Just because the mean ponded depth is negative does not mean that no area in the zone is inundated. On the contrary, much of the area may be inundated but if influenced heavily by a few areas of extraordinarily low water levels, the average may be a negative ponded depth. If desired, a new ponded depth grid with depth values greater than or equal to zero can be exported over which zonal statistics are calculated. The CalculateVolume model (Figure 3.37) demonstrates creation of a new ponded depth grid with only positive water depth values. For a given depth class D m and polygon zone p, the duration of inundation T m,p is calculated using Equation (4-3a). Likewise, for a given depth class D m and depth class zone g, the duration of inundation T m,g is calculated using Equation (4-3b). The duration of inundation for a given depth class D m in domain R is calculated using Equation (4-3c). In all three equations, duration is calculated as the sum of time intervals within specified time period T* for which the water depth is in depth class D m , multiplied by the ratio of cell area to total zonal area in depth class D m at time interval j. ?? ?? ?? = * ,, ,, , TjAi mpj imjij pm p A at T ? (4-3a) ?? ?? ?? = * ,, ,, , TjAi mgj imjij gm g A at T ? (4-3b) ?? ?? ?? = * , ,, TjRi mj imjij m A at T ? (4-3c) 116 After duration of inundation T m is calculated, it can be classified into duration classes. Duration class T n occurs when water depth is between C n-1 and C n (Figure 4.18, Equation (4-4)). The annotation [ ] nn CC , 1? represents a closed interval including all values greater than or equal to c n-1 and less than c n (i.e. C n-1 ? d i,j < C n ). Time class boundaries C 0 C 1 C 2 C 3 ? C N-1 C N Duration classes T 1 T 2 T 3 T N Figure 4.18: Duration classes and their boundaries [ nnn CCT , 1? = ] (4-4) For graphing purposes, statistics of interest include percent area inundated, percent area in each depth class, percent time inundated, percent time in each depth class, and percent area in a specified depth class and duration class. Let A wet represent the area in domain R that is wet or inundated (d i,j ? 0). Subsequently, A wet,j (%) represents the percent of the domain R that is inundated at time interval j and is equal to the cell area summed over all inundated cells in domain R divided by the sum of the cell area in all cells in domain R (Equation 4-5). The Dirac delta function d ? (from Equation (3-15)) is used to select only cells with a positive water depth d i,j . The portion of the domain that is not inundated is dry, as represented in Equation (4-6). () 100% , ? ? = ? ? ? ? Ri i d Ri i jwet a a A ? (4-5) () (%)100% ,, jwetjdry AA ?= (4-6) 117 The percent area in each depth class for a given depth range m and time interval j, A m (%), is calculated using Equation (4-7). This is calculated as the area in depth class m at time j divided by the total classified area. () 100% , , , ?= ? ?Mm mj mj mj A A A (4-7) Let T wet represent the time that domain R is wet or inundated (d i,j ?0). Subsequently, T wet (%) represents the percent of the time that domain R is inundated and is equal to the sum of time intervals within specified time period T* for which the water depth is positive, multiplied by the ratio of cell area to total domain area at time interval j (Equation (4-8)). The Dirac delta function d ? (from Equation (3-15)) is used to select only cells with a positive water depth. The time during which the domain is not inundated, it is dry, as represented in Equation (4-9). ?? ?? ?? = * , (%) TjRi Rj idj wet A at T ? (4-8) () (%)100% wetdry TT ?= (4-9) The percent time in each depth class D m and time period T* in domain R, T m (%), is calculated using Equation (4-10c). If considering a zone rather than the entire domain, the percent time in each depth class D m and time period T* can be calculated in polygon zone p using Equation (4-10a) and in depth class zone g using Equation (4-10b). () 100 * % , , ?= T T T pm pm (4-10a) () 100 * % , , ?= T T T gm gm (4-10b) () 100 * % ?= T T T m m (4-10c) 118 The percent area for a specified depth class m and specified duration class n, A m,n (%), is calculated using Equation (4-11). The area of cells within depth class D m summed over duration T n is divided by the area of cells within depth class D m summed over the specified time period T*. () ? ? ? ? ? ? = * ,, ,, , % Tj imji Tj imji nm a a A n ? ? (4-1) Consider inundation as it relates to time (Figure 4.19), then as it relates to magnitude (Figure 4.20), then as it relates to space (Figure 4.21), and finally as it relates to all three (Figure 4.22). First consider Figure 4.19 which describes the percent of the floodplain inundated (Equation (4-5)) during each day in June 2003. The graph was created from the Ponded Depth output generated in the Classify Depths model. The shape areas with depth classes greater than zero were summed for each day and divided by the day?s total shape area. The floodplain extent is greatest at 36% on June 24th and least at 28% on June 17th. This graph could be more meaningful (in identifying inundation trends) if constructed for each month in a year, then compared between a few years or seasons. However, because the batch scripts are not working in ArcGIS 9.0 Pre- release, the models must be executed by hand for each day analyzed. Inclusion of data for an entire year or even several months requires an inordinate amount of time and effort. Therefore, this thesis describes the conceptual framework to produce hydroperiod graphs and illustrates analysis output over short time periods. The graphs can be re- created for longer time periods when the batch scripts are made functional. Second consider Figure 4.20 which describes the percent of the floodplain in each depth class (Equation (4-7)). Nearly 70% of the floodplain remained dry during June 2003; the wet portion of the floodplain was covered in varying water depths. Such 119 information may be useful to ecologists or biologists studying plant and wildlife habitats and migration. This graph was also created from the Ponded Depth output generated in the Classify Depths model. The sum of the shape areas associated with each depth class was divided by the month?s total shape area to determine the percent of the floodplain in each depth class. Next, cell statistics of minimum, mean, and maximum were calculated over the month of June using the Temporal Statistics model in the Calculate Statistics toolset (Figure 4.21). The cell statistics were then classified into the depth intervals shown in the Water Depth legend. The portion of the floodplain that was most inundated in June of 2003 is the portion just south of the confluence of Oak Creek and Kissimmee River. With the exception of one canal leading from Lake Istokpoga, the streaks in the southern portion of the floodplain misrepresent the actual inundation conditions. There are no other canals in that region. The artificial streaks are caused by algorithms used to create the DEM. Rectifying DEM artifacts is out of the scope of this research. Similar spatial distribution statistics could be calculated between or across months, seasons, and years. 120 0 5 10 15 20 25 30 35 40 6/ 1/03 6/ 2/03 6/ 3/03 6/ 4/03 6/ 5/03 6/ 6/03 6/ 7/03 6/ 8/03 6/ 9/03 6/ 10/03 6/ 11/03 6/ 12/03 6/ 13/03 6/ 14/03 6/ 15/03 6/ 16/03 6/ 17/03 6/ 18/03 6/ 19/03 6/ 20/03 6/ 21/03 6/ 22/03 6/ 23/03 6/ 24/03 6/ 25/03 6/ 26/03 6/ 27/03 6/ 28/03 6/ 29/03 6/ 30/03 Day in June P e r c e n t of Fl ood p l a i n W e t 36 28 Figure 4.19: Percent of floodplain inundated during June 2003 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Dry 0.001- 0.25 0.25- 0.50 0.50- 0.75 0.75- 1.00 1.00- 1.25 1.25- 1.50 1.50- 1.75 1.75- 2.00 2.00- 2.25 2.25- 2.50 > 2.50 Water Depth Interval, feet P e r c e n t Fl oodpl a i n Figure 4.20: Percent of floodplain in each water depth interval 121 (a) Minimum (b) Mean (c) Maximum Figure 4.21: Spatial distribution of minimum, mean, and maximum water depths Presentation of hydroperiod analysis culminates in Figure 4.22, which portrays water depth as it changes through space and time. Again, the graph was created from the Ponded Depth output generated in the Classify Depths model. The Ponded Depth feature class has date, depth class, and area in its attribute table. The percent area in each depth class was calculated and classified for a second time into day classes (i.e. 1-5 days, 6-10 days, and so on). Durations are calculated by summing the number of days each cell had depths within the specified depth range. This provided the necessary three parameters?percent area, day class, and depth class?to produce the graph. Though complex, this graph presents a comprehensive summary of hydroperiod. Each bar is located over a depth range, and may consist of one or more blocks. The length of the blocks within the bar represents the percent of floodplain inundated at that depth range. The color of the blocks within the bar represents different time spans. 122 0% 5% 10% 15% 20% 25% 30% 0.001-0.25 0.25-0.5 0.5-0.75 0.75-1.0 1.0-1.25 1.5-1.75 1.75-2.0 > 2.0 Depth Intervals, feet P e r c e n t Floo d p la in In un da t e d 26-30 days 21-25 days 16-20 days 11-15 days 6-10 days 1-5 days Figure 4.22: Duration and percent of floodplain inundated at different depth intervals Consider the first bar in Figure 4.22, located in the 0.001-0.25 foot depth range. The bottom block is blue which corresponds to a time span of 1-5 days, and extends from 0%-9% floodplain inundation. The bottom blue block is translated as 9% of the floodplain is inundated at a depth between 0.001-0.25 feet between 1-5 days out of the month. The next block is coral which corresponds to a time span of 26-30 days, and extends from 9%-17% floodplain inundation. This means that 8% of the floodplain is in the 0.001-0.25 foot depth range 26-30 days a month. No meaning should be derived from the total bar height (the fact that the sum of the blocks puts the top of the bar at 17% inundation is of no significance). Figure 4.22 represents data from the month of June 2003. When data is analyzed over longer time spans, greater variation will be observed in the number of days the 123 floodplain is inundated in each depth class. For example, June is part of the wet season in South Florida, so more of the floodplain is typically inundated during this month than in a month during the dry season. Also, data may be compared between months or between years to derive monthly, seasonal, and annual trends. For example, El Nino weather conditions in 1997 and 1998 resulted in 15% of the floodplain having water depths ranging from 1.0-1.5 feet for 1-30 days. This magnitude of inundation over such a large extent and time span was immediately recognized as abnormal when compared with previous years? data. Volume grids were created for each day in June of 2003 using the CalculateVolume model. Zonal statistics were then calculated for each volume grid using the ZonalStatistics model. The zone input file consisted of three zones: the river, the floodplain, and the combined river/floodplain system. The statistics output table was then exported to Excel and used to graph the daily mean volume in each 60 ft by 60 ft cell (Figure 4.23) and the daily total volume in each zone (Figure 4.24). As evident in these figures, the mean cell water volume in the river is 2000-3000 cubic feet more than the mean cell water volume in the floodplain. However, because the floodplain covers a much greater area than the river, the total water volume in the floodplain is about 100 times larger than the total water volume in the river. When these water volumes are used in conjunction with flow measurements, residence times and nutrient assimilation in the river, floodplain, and combined river/floodplain system can be calculated. 124 0 1000 2000 3000 4000 5000 6000 7000 8000 6 / 1/ 200 3 6 / 2/ 200 3 6 / 3/ 200 3 6 / 4/ 200 3 6 / 5/ 200 3 6 / 6/ 200 3 6 / 7/ 200 3 6 / 8/ 200 3 6 / 9/ 200 3 6/ 10/ 200 3 6/ 11/ 200 3 6/ 12/ 200 3 6/ 13/ 200 3 6/ 14/ 200 3 6/ 15/ 200 3 6/ 16/ 200 3 6/ 17/ 200 3 6/ 18/ 200 3 6/ 19/ 200 3 6/ 20/ 200 3 6/ 21/ 200 3 6/ 22/ 200 3 6/ 23/ 200 3 6/ 24/ 200 3 6/ 25/ 200 3 6/ 26/ 200 3 6/ 27/ 200 3 6/ 28/ 200 3 6/ 29/ 200 3 6/ 30/ 200 3 Day in June M e a n C e l l W a t e r V o lu m e , cu b i c f e e t Floodplain System River Figure 4.23: Daily mean water volume in each 60ft x 60ft cell 0 50 100 150 200 250 300 350 6/1/ 2 003 6/2/ 2 003 6/3/ 2 003 6/4/ 2 003 6/5/ 2 003 6/6/ 2 003 6/7/ 2 003 6/8/ 2 003 6/9/ 2 003 6/ 1 0 / 2 003 6/ 1 1 / 2 003 6/ 1 2 / 2 003 6/ 1 3 / 2 003 6/ 1 4 / 2 003 6/ 1 5 / 2 003 6/ 1 6 / 2 003 6/ 1 7 / 2 003 6/ 1 8 / 2 003 6/ 1 9 / 2 003 6/ 2 0 / 2 003 6/ 2 1 / 2 003 6/ 2 2 / 2 003 6/ 2 3 / 2 003 6/ 2 4 / 2 003 6/ 2 5 / 2 003 6/ 2 6 / 2 003 6/ 2 7 / 2 003 6/ 2 8 / 2 003 6/ 2 9 / 2 003 6/ 3 0 / 2 003 Day in June T o t a l F l o o d p lain an d S yst e m W a t e r V o lu m e , m i ll io n s o f c u b i c f e et 0 1 2 3 4 5 T o t a l R i ver W a t e r V o lu m e , m i ll io n s o f c u b i c f e et Floodplain System River 125 Figure 4.24: Daily total water volume in each zone Finally, TSPlotter was developed by Jonathon Goodall at the CRWR in order to graph temporal data within ArcGIS. By selecting features of interest, an attribute for one or more features is displayed over the selected time period (Figure 4.25). TSPlotter was programmed in Visual Basic using ArcObjects and Microsoft chart tools, saved as a DLL, and is accessible through the ArcGIS toolbar. After clicking on the TSPlotter button (Figure 4.25(a)), the TimeSeries Plotter window (Figure 4.25(b)) allows the user to select the layer and time series type to be graphed. The Start Date and End Date are automatically updated to reflect the full range of dates available for the layer and type combination; a date can be changed by clicking on the drop down arrow of the date box and selecting the desired date from a calendar. The data is graphed by clicking on the Plot button. The graph may be displayed in line (Figure 4.25(c)) or point format (Figure 4.25(d)), and in linear or log scale. A different line color or point type is used to represent different HydroIDs for the selected features. TSPlotter capabilities are currently confined to Arc Hydro TimeSeries and TSType table schemas. Figure 4.25 was created using TSPlotter and shows stage at five points along the Kissimmee River throughout the month of June 2003. Stage at the top of Pool C is higher than at the bottom of Pool C. This is expected since the land surface elevation slopes downward along the river. Also, points near the top of Pool C have more variable stage over time, while points at the bottom of Pool C have more static water levels over time; this is attributable to the spreading of water across the floodplain before reaching the bottom of the pool. TSPlotter can also be used to plot depth and volume over time, but the tool is currently unable to produce other graphs shown in Section 4.3. Technical changes required to improve tool capabilities should be investigated. 126 (b)(a) (d) (c) Figure 4.25: Stage in Kissimmee River graphed using TSPlotter 127 4.4 APPLICATION OF THE ENHANCED ARC HYDRO TIME SERIES DATA MODEL An enhanced Arc Hydro Time Series Framework was developed through this hydroperiod analysis. As outlined in Goodall et al. (2004), the enhanced framework consists of four types of temporal data: time series, attribute series, raster series, and feature series. Incorporation of this suite of temporal data into a geographic information system enables visualization of complex water resources phenomena that occur through space and time. Since all four time series types are utilized in the hydroperiod tool, this analysis demonstrates the applicability of the framework and possible means of moving between time series types within the framework (Figure 4.26). 4.4.1 Time Series The Time Series component of the enhanced Arc Hydro time series model (Figure 4.26(a)) is represented in this hydroperiod project by DBHydro. DBHYDRO is an Oracle database maintained by the South Florida Water Management District which stores historic and current hydrologic, meteorologic, hydrogeologic, and water quality data for the 16 counties included in the SFWMD. Daily stage values for the 21 monitoring stations in Pool C are accessible through the DBHYDRO browser (http://www.sfwmd.gov/org/ema/DBHYDRO/index.html), which can be displayed, summarized, and extracted based on user-entered search criteria (i.e. station names, start and end dates, etc). The DBHYDRO database is a catalog of time and value pairs associated with an object identifier, and functions as the Time Series component in the enhanced Arc Hydro Time Series Framework. For hydroperiod analysis, the DBIngest model is used to extract temporal data from DBHYDRO and load it into Attribute Series format (Figure 4.27). When temporal data is not accessible through a URL, a database 128 connection and data bridge can used to extract the time series data from a time series repository and load it into a geodatabase. (c)(b) (d)(a) Figure 4.26: Enhanced Arc Hydro Time Series Framework Courtesy: Mike Zeiler, ESRI, 20 Jan 2004 129 Figure 4.27: Sample Time Series data query from DBHYDRO browser and associated Attribute Series table The Danish Hydraulic Institute (DHI) has developed a MIKE Object TimeSeries package to manage time series data in ArcGIS. From ArcMap, a user can load time series into a personal geodatabase, build associations between features and time series data, query features and/or time series data, calculate simple statistics, and plot a graph of time series data (DHI, 2004). DHI TimeSeries tools may be utilized to produce graphical output desired from the hydroperiod tool. Figure 4.28 shows the daily depth of inundation in a selected zone through the month of June. Such a graph is generated simply by creating an association between a feature class and a time series table, then by right clicking on the feature of interest and selecting Plot. 130 Figure 4.28: Sample plot generated from DHI TimeSeries tools 4.4.2 Attribute Series 131 The Attribute Series component (Figure 4.26(b)) represents the existing Arc Hydro Time Series model, which stores information indexed by feature, type, and time. This component does not retain the source tabular structure; rather it provides a repository for time series data derived from measurements or models, which is inherently related to a feature class. As in the original Arc Hydro Time Series framework, the Attribute Series is meant to help query or select: (1) a collection of time series data for a given feature, (2) a collection of features at a given time, or (3) a collection of time series for many features; it helps organize and group time series selection. By adding Feature ID to Time Series (from DBHYDRO), the data can be stored as an Arc Hydro Attribute Series. The Attribute Series is described by feature ID, value, time, and type. The Arc Hydro Attribute Series is then joined with the hydroperiod point feature class (which represents the stations where stage is measured), and is used to interpolate a water surface (Figure 4.29). Attribute Series Hydroperiod Points Figure 4.29: Attribute series joined with point feature class Several different tables are utilized to organize different attributes, rather than trying to store all information in a single table. The features can all be stored in a single table but there are several reasons why it makes sense to store different attributes in different tables. First, each set of features can be stored in a table named according to the type of features stored in that table, making the table easily identifiable and accessible. Second, when an attribute series serves as input to a model, a smaller table can be searched more quickly for queried records. The Attribute Series and TSType tables exist in conjunction with two other Attribute Series tables. One table stores a collection of water depth measurements recorded at irregular time intervals throughout the Pool C floodplain and is used to evaluate the accuracy of various interpolation methods. Other tables store statistical attributes. The ponded depth grid (described in the Raster Series section) is overlaid with zones specified by the user (i.e. habitat zones or land categories) and ArcGIS Spatial Analyst zonal statistics are calculated for each zone. The date is added to the statistics and that table is then appended to a master zonal statistics table used for hydrologic analyses (Figure 4.30). 132 Ponded Depth Inundation Grid Zones (Land Categories or Habitats) Zonal Statistics Attribute Series Figure 4.30: Calculation of zonal statistics 4.4.3 Raster Series 133 The Raster Series component (Figure 4.26(c)) stores rasters indexed by time. In the case of the hydroperiod analysis, a single land surface elevation raster exists, and time-indexed water surface elevation and ponded depth (inundation) rasters are generated from data stored in Attribute Series. Non-null values are selected for a single day from the Attribute Series and are spatially interpolated based on the interpolation method selected from ArcGIS (i.e. Kriging, IDW, Spline, etc.). The interpolation generates a water surface elevation grid, from which the land surface elevation grid is subtracted to produce a ponded depth grid (Figure 4.31). This process is repeated through the period of analysis defined by the user. The water surface elevation grids are stored only temporarily during execution of the tool, but the ponded depth grids are stored in a folder (raster catalog in the future) for later reference. Each ponded depth raster, water surface elevation raster, volume raster and statistics raster occupies 800 KB; the reclassification rasters occupy 200 KB. Space required to store ponded depth, water surface, and volume rasters is approximately 30 MB for data spanning one month, 350 MB for one year, and 1 GB for three years. Ponded Depth Inundation Grid Interpolated Water Surface Elevation Grid Land Surface Elevation Grid Figure 4.31: Spatial interpolation of water surface elevation and calculation of ponded depth grid For biological analysis, a reclassify tool (described in Section 3.2.4) is used to create a new ponded depth grid that is classified according to user-defined intervals (Figure 4.32). To maximize flexibility of the tool, the user has total freedom to define the depth classes in any way desired, at any regular or irregular interval. This reclassified depth grid is stored only temporarily because it is converted into dissolved polygons (described further in Section 4.4.4) to minimize storage. For water quality analysis, the ponded depth value in each cell is multiplied by the area of each cell to calculate the volume of water in each cell, then in the river, over the floodplain, and in the river/floodplain combined system. 134 Reclassified Ponded Depth Grid Ponded Depth Inundation Grid Depth Class Intervals Figure 4.32: Reclassification of the ponded depth grid 4.4.4 Feature Series The Feature Series component (Figure 4.26(d)) stores map attributes indexed by geographic location. A feature series is described by shape, value, and time, all of which can change. Using the geographic location in conjunction with time indexed data from one of the other components, time indexed shapes and map animation may be produced, as supported by ArcGIS Tracking Analyst. When the reclassified ponded depth grid is converted to polygons, the geographic area is covered by many polygons, each polygon representing a single depth class. However, because the same depth class may occur in different, unconnected locations throughout the floodplain, a single depth class may by represented by many polygons. Polygons sharing a depth class are then dissolved into a single polygon feature (this feature can consist of unconnected polygons, but if one of the polygons is selected, all polygons will be highlighted since it is now considered a single feature). The date is then appended to the dissolved polygons so that on any one day, if there are five depth classes, there will be five features, each with the same date stamp. This data is then loaded into a master ponded depth feature class (Figure 4.33). 135 Figure 4.33: Conversion of classified ponded depth grid to a dissolved polygon feature class The master ponded depth feature class is used as input for ArcGIS Tracking Analyst to view the extent and classification of inundation animated over time, which has both biologic and hydrologic value. ArcGIS Tracking Analyst is an ESRI extension for mapping objects that move or change status through time (ESRI, 1998). Data can be played backward or forward through time, and at any speed. The Playback Manager shows the dates included in the feature class, with blue spikes at each time step and a red arrow indicating the time currently displayed. The playback rate can be adjusted to view temporal and spatial changes at different time steps (i.e. one day per second versus one minute per second, depending on the type of data analyzed). In Figure 4.34, each shade of blue corresponds to a different depth class. For example, the lightest shade of blue corresponds to a depth class of zero, meaning that the area is dry; the next slightly darker shade of blue corresponds to a depth class of one, meaning the area is inundated between 0.001-0.5 feet. The depth classes, changing polygon shapes, and associated times all come from the master ponded depth feature class. 136 Figure 4.34: ArcGIS Tracking Analyst view of depth classified polygons changing through time 4.5 APPLICATION OF TEMPORAL GEOPROCESSING Temporal geoprocessing for hydroperiod analysis of the Kissimmee River provides a practical illustration of integration of space (GIS) and time (hydrologic data); it exemplifies storage and visualization of a complex temporal-spatial event. By identifying different types of temporal data (Time Series, Attribute Series, Raster Series, and Feature Series) and describing movement between types using geoprocessing tools available in GIS, the hydrologic and geographic worlds are merged. The hydroperiod conceptual framework was developed to meet the requirements not only for Kissimmee River Restoration evaluation, but was also general enough to apply to other hydrologic analyses. In fact, the models developed for hydroperiod analysis will be used as a launching point for groundwater studies underway at the University of Texas. A similar concept applies when calculating the thickness of an aquifer?the bottom water level is subtracted from the top water level to produce the 137 thickness of groundwater in the aquifer, just as the land surface is subtracted from the water surface to calculate the ponded depth of surface water. Principles of this research may also be applied to other engineering problems including evaluation of wetland/ecosystem restorative success and determination of magnitude, duration, and location of flood inundation. Though hoping to identify an interpolation method best suited for hydroperiod analysis, the determination that interpolation has very little effect on hydroperiod estimation accuracy is useful in itself. It allows emphasis to be removed from interpolation and placed on more influential factors, such as topographic data or monitoring station positioning. The enhanced Arc Hydro Time Series framework can be used in a GIS for temporal and spatial synthesis of hydrologic parameters such as rainfall, stream flow, nutrient loading, stage, and so on. ModelBuilder can be applied similarly to any problem requiring repetitive geoprocessing. ESRI suggests using ModelBuilder to build land use suitability models, environmental sensitivity models, hazardous risk models, and social impact models (Spalding, 2000). A working model can be constructed to repeat the same process or an easily altered version of the process, using the same or different parameters, to be used by a single person or by multiple people. Overall, ModelBuilder is designed to automate spatial processes, but with incorporation of the enhanced time series model, it is used in this research to automate spatial and temporal processes. As with any explorative study, several areas for further analysis have been uncovered. ModelBuilder successfully links existing and scripted tools together in a model; however, two primary shortcomings were identified. First, ModelBuilder is not equipped to loop through time, and scripts forcing a model to be executed multiple times for each time step in a selected period of analysis are difficult to troubleshoot. Second, 138 ModelBuilder is not yet able to select or store files in a Raster Catalog. More sophisticated automated graphing and plotting of ModelBuilder output would be extremely useful for hydroperiod evaluators. Other areas for further study include spatial and temporal autocorrelation, regression analysis, and normal distribution for data produced from hydroperiod analysis. Preliminary graphing and correlation examination reveal that more monitoring stations may be needed to improve water surface interpolation, thereby producing more accurate water depths throughout the floodplain. 139 Chapter 5: Conclusions A hydroperiod analysis method was developed in ArcGIS 9.0 using ModelBuilder to evaluate depth and duration of inundation over a restored section of the Kissimmee River. Results from hydroperiod analysis provide information necessary to evaluate biological, hydrologic, and water quality response of the Kissimmee River ecosystem to restoration. The method used to complete the analysis, findings from the analysis, significance of the analysis, and possible enhancements to the analysis are summarized in this chapter. 5.1 SYNOPSIS OF HYDROPERIOD ANALYSIS Hydroperiod analysis consists of many modular components, which can be strung together in any fashion desired by a user. The components are summarized as follows. Temporal data is downloaded from an online repository and loaded into Arc Hydro Attribute Series format. This attribute series contains stage measurements from the Pool C area of the Kissimmee River and is joined with a point feature class comprised of associated monitoring stations. A water surface is interpolated using the interpolation method of choice. (A river-weighted approach may be used to give the river more influence in the interpolation of floodplain water levels.) The land surface is then subtracted from the water surface to produce a grid representing depth of inundation over the study area. When repeated over time, this process yields depth and duration information. From here, one of three things may be done. First, the inundation grid may be classified into user defined depth intervals; this initially produces a classified grid followed by dissolved classified polygons. Second, temporal, spatial, summary, or any combination of these statistics may be calculated on either the inundation grid or the depth classified polygons. Third, a volume grid may be calculated by multiplying the 140 positive portion of the inundation grid by cell area. To calculate the volume in the river, floodplain, or combined river/floodplain system, zonal statistics must be calculated using the river and the floodplain as zones. Collectively, this analysis produces temporal geoprocessing of a specified geographic area over a specified period of analysis. Temporal and spatial information is effectively integrated for evaluation of ecological restorative success of the Kissimmee River. Interpolated water depths produced from hydroperiod analysis were compared to field measurements in the restored portion of the river. Mean error and root mean square error were calculated between interpolated and measured values for a variety of interpolation methods, yielding information regarding the validity of the analysis as well as the effect of interpolation method and strong influence of topography on calculated water depths. Graphical and spatial depictions were created in Excel and ArcGIS to demonstrate the usefulness of this analysis method in determining inundation trends over time. Variability in depictions of hydroperiod information illustrate this tools? usefulness in understanding and predicting inundation depths effecting bird, fish, vegetative, and other ecological behavior. 5.2 FINDINGS Conclusions drawn from the hydroperiod analysis method created and executed for this research include the following: 1. A mathematical framework was defined for calculating hydroperiod, which is the depth and duration of inundation over time (Appendix D). 2. Variability of mean error and RMSE values between post-construction grids suggests that depth prediction depends more on topographic quality than interpolation method utilized; accurate land surface elevation values are critical to 141 predicting valid water depths. This conclusion was reached by comparing measured and interpolated water depths at 136 points across the floodplain, sampled on six days. The interpolation was performed using seven different interpolation methods and two different land surface elevation grids. Then mean error and RMSE were calculated between measured and interpolated water depths. Mean error varies between interpolation methods by only 0.1403 feet, but between land surface elevation grids by 1.131 feet. Likewise, the RMSE values vary between interpolation methods by only 0.1553 feet (8.2%), while RMSE values vary between land surface elevation grids by 2.2629 feet (60.6%). These results support the contention that topographic accuracy is more influential than the interpolation method used to predict water depth. 3. Since most water depth points with large prediction error (RMSE ? 2.0 feet) are located between transects and along the floodplain boundaries (Figure 4.7), more monitoring stations may be needed in those locations. The existence of more monitoring stations will increase the number of stage values used to interpolate a water surface, thereby improving the accuracy of the water surface elevation grid and subsequently increasing the accuracy of water depth prediction. 4. Although slight, Natural Neighbors and Kriging produce less water depth prediction error than IDW and Spline interpolation methods. 5. ModelBuilder is well-equipped to link existing ArcGIS tools together using visual programming; however, ModelBuilder is an emerging technology with limitations and does not yet reliably support looping through time, thus restricting current implementation of a total solution for hydroperiod analysis. 6. Modular design of the hydroperiod analysis tools maximizes flexibility and functionality according to user preferences. 142 7. The enhanced Arc Hydro Time Series Framework was visualized in the temporal geoprocessing completed for hydroperiod analysis of the Kissimmee River restoration area. 8. The generalized conceptual framework for hydroperiod analysis applies to other engineering evaluations of inundation, ecosystems, surface/groundwater and more. 5.3 SIGNIFICANCE OF RESEARCH No mathematical definition of hydroperiod formerly existed. The development of a set of equations describing inundation over space and time is a new and significant contribution, which documents and describes what is accomplished in hydroperiod analysis. This mathematical translation will be preserved and useful far after the current version of ModelBuilder becomes obsolete. That said, this research does demonstrate the ability to use ModelBuilder to complete repetitive temporal geoprocessing functions. The hydroperiod methodology implemented for this research was completed in a general way to enable application to other inundation evaluations. This research suggests that water depths have greater dependency on quality topographic data than on interpolation methods used to calculate water depths. RMSE variation between grids (2.2629 feet) is more than an order of magnitude larger than variation between interpolation methods (0.1553 feet). Such a conclusion may prompt future evaluators of hydroperiod to assess and optimize topographic data before proceeding with further analysis. This research contributes to the integration of temporal information into a geographic information system. Data storage has evolved from relational databases to geospatial geodatabases and now to temporal geodatabases. This hydroperiod analysis showcases the application of an enhanced temporal data model in ArcGIS Arc Hydro. 143 5.4 FUTURE RESEARCH Considerable value may be added to the hydroperiod analysis method by making the following changes or enhancements: 1. Incorporate looping into ModelBuilder functionality to enable a model to easily be executed multiple times over a user specified period of analysis. 2. Improve hydroperiod estimation by creating a two-dimensional hydraulic model to be calibrated using previously observed values. 3. Automate more sophisticated graphical output of spatial and temporal information within ArcMap. 4. Include additional variables known to influence water surface elevations and distributions (i.e. erosion, evaporation, etc.) in hydroperiod analysis. 5. Incorporate stage-discharge relationships and stage recession rates into hydroperiod analysis to more fully characterize floodplain inundation. 6. Expand the network of monitoring stations to more comprehensively describe the river/floodplain system under low flow conditions. 7. Generate multiple land surface elevation grids using different methods to convert contour lines to raster; trial and error assessment in conjunction with familiarity of ground truth is needed to produce the best grid for its intended purpose (since Florida?s terrain is extraordinarily flat, topographic accuracy is of great importance). 8. Integrate output rasters into a Raster Catalog in the working geodatabase. 9. Complete spatial and temporal autocorrelation, regression analysis, and normal distribution for data produced from hydroperiod analysis. 10. Represent surface water volume as a volume object in ArcGIS. 144 Appendix A: ModelBuilder Tutorial *** Disclaimer: Models described in this tutorial were constructed in ArcGIS 9.0 Beta II version and have since been upgraded and modified for ArcGIS 9.0 Pre-release. Using ModelBuilder for Hydroperiod Analysis By Jennifer Sorenson, Jon Goodall, David Maidment Center for Research in Water Resources University of Texas at Austin 19 December 2003 ModelBuilder was developed by ESRI as a user-friendly way to build spatial models. The model is represented by a process flow diagram, which makes the models easy to construct, modify, and present to others. Smaller models can be combined to create a larger model, meaning a model can be called from within a model. Models can have user-identified parameters, which change with every run. ESRI notes the following key features: ? Represent models as process flow diagrams, ? Use predefined functions for building a model, ? Use data from ArcGIS as input into a function, ? Construct models using diagramming tools, ? Layout models automatically or manually, ? Change data and/or properties and rerun the model, ? Export models into other models, and ? Share models (as a single XML file). The predefined functions used in Model Builder are stored as tools in ArcToolbox. We will click-and-drag these tools into our model. Therefore, you will need to verify the tools are available in ArcToolbox. If not available, go to Tools-Customize-Commands, click on the ArcToolbox category and the ArcToolbox command and add these tools from their source folder. Under Tools-Extensions, make sure the Spatial Analyst extension is checked. 145 ? The toolbox as shown to the left, is a container for tools and toolsets. ArcGIS 9.0 currently contains eight toolboxes (3D Analyst Tools, Conversion Tools, Spatial Analyst Tools, etc). ? Each toolbox contains many toolsets, such as Interpolation, Map Algebra, etc. Each toolset contains many tools. ? Tools are single geoprocessing operations (i.e. dialog, model, script, custom built tools). Toolbox Toolset Tool Organize the Information It is good practice to create a new toolbox, where you can store multiple toolsets, each with models and/or scripts. Then you can write a script to combine models and scripts as appropriate. Use of toolsets helps organize the different phases in the overall model. Consider the following Hydroperiod Toolbox: Project Toolbox #4 #3 #2 #1 Model (one of many) Toolset (one of many) Script (one of many) Model (single overall) 146 The red circled Overall Model is a single model created with all components for the Hydroperiod Tool. Because all functionality is stored in one model, it is difficult to follow the flow diagram and understand what is going on. All other toolsets shown comprise the alternate overall model. Each toolset name is representative of the function performed in the enclosed model. Each model is shown with a batch script which loops through the associated model over time. The toolsets are numbered to show the possible order the toolsets could be organized in a master script. The General Utilities toolset contains scripts, which are called by the other models. Build the Hydroperiod Tool Model The purpose of the Hydroperiod Tool is to define the depth and duration of flood inundation as a function of location in the Pool C area of the Kissimmee River Basin. We will construct several models that can be used in conjunction to achieve this purpose. Let?s get started. 1. In ArcCatalog, navigate to the folder where you will store your model. Right click on the folder, and select New, then Toolbox. Name your toolbox: Hydroperiod Toolbox. 2. Let?s set up the outline of the overall model: 147 ? We know we want to use our stage data to interpolate the water surface and find the ponded depth over the floodplain (we?ll call this the Generate Rasters toolset). ? We want to calculate mean using one of three approaches (Calculate Mean toolset). ? We want to classify ponded depth values into user-defined classes (Classify Depths toolset). ? We want to calculate zonal statistics of the ponded depth raster using an input coverage, such as Landcats (Zonal Statistics toolset). ? Other functionality such as graphing output analysis can be added in the future. Right click on Hydroperiod Toolbox. Select New, then Toolset. Name the toolset Generate Rasters. Repeat this process for the other toolsets. 3. Within the Generate Rasters toolset, create a new model. Right click on Generate Rasters, and select New, then Model. When the new model window opens, just exit out of it so we can finish our set up; we?ll come back to it. Right click on the model name, select rename, and name it: Generate Rasters Model. Later, you can add a script to automate looping of the model to generate rasters over multiple days. Repeat this process for the other toolsets (except General Utilities since that toolset contains only scripts). The Calculate Mean toolset will contain three models (Approach1, Approach2, and Approach3). 148 4. Now you are ready to start building a model! Let?s start with the Generate Rasters Model. To open the model you created, right click on the model name, and select Edit. This will open the following window: 5. If ArcToolbox is not yet open, click on the Toolbox icon at the top of the screen. To build the model, we will simply click-and-drag tools from the toolbox into the model window. 6. The purpose of the Generate Rasters Model is to interpolate a water surface elevation raster from stage values extracted from DBHydro, and calculate a ponded depth raster from the water surface elevation and land surface elevation rasters. To that end, three components are needed: A. Starting with an Arc Hydro time series file and a Hydroperiod point feature class, the model joins the TimeSeries data for a single day with each Hydroperiod point. 149 B. The daily stage values (now associated with the hydroperiod points) are used to interpolate a water surface covering the Pool C floodplain. C. The land surface elevation is then subtracted from the interpolated water surface elevation to determine the daily ponded depth grid. Start with Component A. Load the selected TimeSeries data from DBHydro into Arc Hydro TimeSeries format. Presumably, the TimeSeries data will span multiple days. We are first going to build our model to generate rasters for one day at a time. As such, we need to be able to associate the TimeSeries data from a single day with 150 the monitoring points. We must make a view of the TimeSeries table to be able to select a single day?s data. You?ll notice that ArcToolbox has three tabs: Favorites, Index, and Search. Play around with each tab to determine your favorite way of finding the tools you need. I think the Search tab is particularly helpful since you are able to type a keyword and return all tools applicable to that keyword. Try typing in ?table?. We want to make a table view, so find the tool called ?Make Table View? and click-and-drag the words into the model window. You will see the words convert to the following: The box represents the process and the oval represents the output table. You will notice both are colored white. When all the required input information is supplied, these boxes will change color. Double click on the ?Make Table View? box. A properties box will pop up. The green dot next to the Input Table indicates that an input parameter is needed. There are three ways to supply the necessary input table. One way is to type in the path of the input table source in the properties box. When you do this, a new blue oval (color assigned to input parameters) will appear in front of the ?Make Table View? box with a connecting arrow. The ?Make Table View? box will turn yellow (color assigned to processes/tools) and the ?TimeSeries Table? oval will turn green (color assigned to output). When all the blocks are colored, you can be confident you have supplied a source for all required inputs. The model is now ?run-able? though it will not produce anything of value to us yet. We need to add some more functionality. 151 A second way to supply the input parameter is to locate the input table in ArcCatalog and click-and-drag the table into the model window. The input table will automatically appear in a blue oval, but it will not be connected to anything else. You will need to make the connection yourself. Click on the connector icon , then click on the input table oval, then click on the ?Make Table View? box. The connecting arrow will form and all the blocks will be colored. Again, this is a sign that you are ready to continue building other parts of your model. 152 A third way to supply the input parameter is to right click on the ?Make Table View? box and select Make Variable, then From Parameter, then Input Table. This will result in a white colored oval being added to the model with the appropriate connector. You must double click on the ?Input Table? oval to enter the source of the input table. When you do so, the entire model will become colored, indicating that all required inputs have been supplied. Once you have the blue input oval, you may choose to make the oval an input parameter, by right clicking on the oval and selecting Model Parameter. A ?P? will appear to the upper right of the blue oval, indicating that it is a model parameter. Every blue oval that is marked with a ?P? will require the user to specify its input source. This is a great way of keeping the model flexible. 153 If your model is looking at all messy, use the automatic layout icon to organize and align your model blocks. Also, use the full model view icon to view your whole model at a glance (this icon may become more valuable as the model grows). Now that you have a table view, you can perform the table select. Find the required tool in the toolbox as you did before. I like to search for the keyword ?table? in the Search tab, then click-and-drag ?Table Select? into the model window (put it anywhere; you can organize the model later using the automatic layout icon). Connect the TimeSeries Table View green oval with the new ?Table Select? box using the connector icon. The blocks are all colored now, so we could proceed, but we want to specify the date to select so we need to add a parameter, this time in the form of an expression. Right click on the ?Table Select? icon, click on Make Variable, then From Parameter, then Expression. Enter an expression such as the sample provided below. Then right click on the blue oval to make it a Model Parameter. This way, the user can enter the date about which they are interested. Now you need to perform the join between the selected day of TimeSeries data and the hydroperiod point feature class. Search for a tool to join. You should find a tool called ?Add Join?. Click-and-drag ?Add Join? into the model window. Before you 154 can make the join, the hydroperiod point feature class must be converted to a layer. If you didn?t know this, you could find this out by double clicking on the ?Add Join? process box. As observed below, the join requires an input layer. Search for a tool to convert a feature class into a layer. Click-and-drag ?Make Layer? into the model window. Right click on the ?Make Layer? process, select Make Variable, From Parameter, Input Features. (You can also elect to do this one of the other methods described earlier). Double click on the Input Features oval and provide the input source. Then make this blue oval a Model Parameter. 155 You can provide the required inputs into the ?Add Join? process by connecting the output hydroperiod point layer to the ?Add Join? block and the output single day of TimeSeries selection to the ?Add Join? block. All blocks in your model should now be colored, and you are finished with Component A. You are able to rename the ovals by right clicking on the oval and selecting ?rename?. You are actually able to rename the yellow blocks, but for sake of consistency and ease of recognition, I would recommend not altering the process/tool names. So far, your model should look something like this: Each block can be described as follows: ? Arc Hydro TimeSeries ? Input Arc Hydro TimeSeries table, which stores daily stage values for monitoring points in the Pool C floodplain (see note*). ? Make Table View ? Make a view of the TimeSeries table which is necessary to perform a select on the table. ? TimeSeries Table View ? Output Arc Hydro TimeSeries table view. ? TSDateTimeQuery ? Date by which to query the TimeSeries table. Data will be selected for only one day at a time. The user will enter a date range in the input GUI, and the batch program will cycle through one day at a time accordingly. ? Table Select ? Select time series data for one day (as specified by the TSDateTimeQuery parameter) from the Arc Hydro TimeSeries table and write the selected data to a new table. ? Day of Time Series ? New table which stores the selected day?s TimeSeries data. This is a temporary table which will be created for each day included in analysis. ? Hydroperiod Point FC ? Input hydroperiod point feature class, which consists of the 21 monitoring points across the Pool C floodplain. ? Make Layer ? Convert the hydroperiod point feature class to a layer, which is necessary to join TimeSeries data to the feature. ? Hydroperiod Point Layer ? Output hydroperiod point layer. 156 ? Add Join ? Join a single day of TimeSeries data to the hydroperiod point layer. ? Hydroperiod Points with TimeSeries ? Output hydroperiod points with TimeSeries data. Now we need to add on Component B functionality. Since many interpolation processes will fail if null values are included, we need to select only non-null values from the selected TimeSeries table. We can do this by adding the ?Select Layer by Attribute? tool with a parameter expression which selects only non-null values. (We won?t make this blue oval a Model Parameter because we don?t want the user to have to enter this information; every time we run this model, we want it to do the same thing.) The ?Select Layer by Attribute? tool will then write the non-null values to a new feature class. Now we are ready to add the interpolation tool! One great benefit from using ModelBuilder is the ease of substituting other interpolation tools if we want to use or compare different interpolation methods. For now, let?s just assume we want to use Inverse Distance Weighting (IDW) interpolation from the Spatial Analyst toolbox. After selecting and dragging ?IDW? into your model window, specify two input parameters, the output cell size and the Z value field. Select 60 for the output cell size since we are using a 60x60 DEM (do not make this a Model Parameter). Select TSValue from the TimeSeries table for the Z value field, and make this a Model Parameter. The output from the interpolation will be the Water Surface Elevation raster. 157 You are now finished with Component B. This portion of your model should look something like this: Each block can be described as follows: ? Hydroperiod Points with TimeSeries ? Output hydroperiod points with TimeSeries data (from Component 1). ? TSValue Exists? ? To eliminate interpolation errors caused by null values, let the input parameter specify only those rows with an existing TSValue. ? Select Layer By Attribute ? Select hydroperiod point records with non-null TSValues. ? Hydroperiod Points with TSValue ? Output layer containing hydroperiod points with non-null daily TSValues. ? Output cell size ? Specifies an output cell size (i.e. 60m x 60 m cells). ? TSValue ? Stage value in the TSValue field for each hydroperiod point, which is used to interpolate the surface. 158 ? IDW ? Generate the Water Surface Elevation grid/raster using the Inverse Distance Weighting (IDW) interpolation method. (Other tools may be substituted here to perform surface interpolation using other methods.) ? WSE Grid ? Resulting Water Surface Elevation (WSE) grid, which is the output of the interpolation. Now we need to add on Component C functionality. We want to subtract the land surface elevation grid from the interpolated water surface elevation grid, so we use the ?Minus? tool to produce the ponded depth grid. This portion of the model is shown below. You should be able to assemble this without any problems. The P to the upper left of the green output oval indicates Model Parameter, as previously. Here, a user is able to direct the (ponded depth grid) output to a specific user- identified location (path). Each block can be described as follows: ? Water Surface Elevation Grid ? Water Surface Elevation (WSE) grid output (from Component 2). ? Land Surface Elevation Grid ? Input Land Surface Elevation grid. ? Cell size ? Specifies an output cell size (i.e. 60 m x 60 m cells). ? Minus ? Subtracts the Land Surface Elevation grid from the Water Surface Elevation grid to calculate a Ponded Depth (PD) Grid. ? Ponded Depth Grid ? Resulting Ponded Depth grid When components A, B, and C are completed, the Generate Rasters Model will be complete. Now a Generate Rasters Batch script can be written to run the model over a user specified period of time. The user will be required to enter the start and end dates as well as the source of all input parameters. Woola! We have a model that is really starting to come together. We will need to add more functionality, which is easy to do using ModelBuilder. Using the same methodology we used to build the Generate Rasters Model, build other models as desired. 159 Appendix B: ModelBuilder Scripts B.1 DBIngest Part 1: InputXML 'Get the number Wscript arguments ArgCount = wscript.arguments.count 'Dimension an array to store the parameters and associated XML tag names dim inputarray(100) 'Assume there will never actually be more than 98 arguments 'Open the Parser XML Set oParserXML = WScript.CreateObject("MSXML2.DOMDocument") oParserXML.load wscript.arguments.item(0) 'Get the input nodes sNodeName = "inputs" 'We only want the urlparts nodes from XML file Set pNodeList = oParserXML.getElementsByTagName(sNodeName) 'Get the first node. There should only be one node for inputs. set pInputsNode = pnodelist.nextnode 'Read parameters from script tool 'The parameters should be in the same order as they appear in the Parser XML 'The first parameter (0) should be the Parser XML. The last parameter (argcount-1) should be the output filename 'Therefore, only arguments (1 to argcount-2) are read into the input array for i = 1 to argcount-2 'Get the node at the current position (you have to process the inputs in the same order as they appear in the Parser XML) Set pNode = pInputsNode.selectSingleNode("input[@order='" & i & "']") 'Get the urlkey from the Parser XML Set pAtNode = pNode.Attributes.getNamedItem("urlkey") urlkey = patnode.text 'Get the type from the Parser XML Set pAtNode = pNode.Attributes.getNamedItem("type") inputtype = patnode.text 'Get the value from wscript value = wscript.arguments.item(i) 160 'Create an array for the current parameter param=array(urlkey,inputtype,value) 'Add the parameter array to the final input array inputarray(i) = param next 'Get the output filename OutFilename = wscript.arguments.item(argcount-1) 'Create a new XML file to store the user inputs Set oInputXML = WScript.CreateObject("MSXML2.DOMDocument") 'XML version processing instruction Set objPI = oInputXML.createProcessingInstruction("xml", "version=""1.0""") oInputXML.appendChild objPI 'Create the root node Set pRoot = oInputXML.createElement("userinputs") Set oInputXML.documentElement = pRoot 'updating docElement property For i = 1 to (argcount-2) 'Get the values from the array sKey = InputArray(i)(0) sType = InputArray(i)(1) sVal = InputArray(i)(2) 'Create a new XML element Set pElement = oInputXML.createElement("input") 'Write the inputs to the Element pElement.setAttribute "urlkey", sKey pElement.setAttribute "type", sType pElement.setAttribute "value", sVal 'Add the input element to the userinput element pRoot.appendChild pElement Next 'Save the XML file oInputXML.save OutFilename 161 B.2 DBIngest Part 2: Web2TSXML 'Create GeoProcessing object Set gp = WScript.CreateObject("esrigeoprocessing.GPDispatch.1") 'Read parameters from script tool UserInputXML = WScript.arguments.Item(0) SiteFormatXML = WScript.arguments.Item(1) 'Instantiate the class from the DLL 'set pDLL = WScript.CreateObject("DLL_name.Class_name") set pDLL = WScript.CreateObject("TSWebReader.clsRefineInputs") 'Call the function from the class RefineXML = pDLL.RefineRawXML(cstr(UserInputXML)) set pDLL = WScript.CreateObject("TSWebReader.clsTSWebFetch") OutputXML = pDLL.WebToXML(cstr(RefineXML), cstr(SiteFormatXML)) gp.SetParameterAsText 2, OutputXML B.3 DBIngest Part 3: XML2GDB 'Create GeoProcessing object Set gp = WScript.CreateObject("esrigeoprocessing.GPDispatch.1") 'Read parameters from script tool TSXML = WScript.arguments.Item(0) OutputGDB = WScript.arguments.Item(1) 'Instantiate the class from the DLL 'set pDLL = WScript.CreateObject("DLL_name.Class_name") set pDLL = WScript.CreateObject("XML2GDB.clsXML2GDB") 'Call the function from the class 'bSuccess = Class_variable.Function_Name(argument1,argument2...) bSuccess = pDLL.AccessDLL(TSXML, OutputGDB, ValTable) gp.SetParameterAsText 2, ValTable 162 B.4 River Interpolation: CreateNewPoints 'Create dll object Set gp = WScript.CreateObject("esrigeoprocessing.GPDispatch.1") set pDLL = WScript.CreateObject("NewPoints.clsIntPoints") 'Get input data sPathName1 = Wscript.arguments.item(0) sPathName2 = WScript.arguments.item(1) sPathName3 = WScript.arguments.item(2) 'Create new points in the river and add to floodplain points pDLL.CreateNewHydroPoints cstr(sPathName1), cstr(sPathName2), cstr(sPathName3) Set pDLL = nothing gp.SetParameterAsText 3, sPathName3 msgbox "Done" B.5 Generate Rasters: GenerateRastersBatch ' --------------------------------------------------------------------------- ' HydroPeriod Model Batch (HPMB) ' Purpose: To generate daily ponded depth features for multiple days ' Note: This model references the HydroPeriod Model (HPM) ' Written by: J Goodall ' Last Edited: 10/23/03 ' --------------------------------------------------------------------------- On Error Resume Next 'Hard coded for now... WorkingTempDirectory = "C:\Sorenson\ModelBuilder" 'HydroPeriodPoints = "C:\Sorenson\ModelBuilder\Model.mdb\Features\hydroperiod_point" 'TimeSeries = "C:\Sorenson\ModelBuilder\Model.mdb\AttributeSeries" 'LSEGrid = "C:\Sorenson\ModelBuilder\elev" 'CurrentDate = "6/1/2003" 'EndDate = "6/2/2003" 'GridPath = "C:\Sorenson\ModelBuilder\DailyGridFiles" ' Create the GP and dll objects 163 set gp = WScript.CreateObject("esriGeoprocessing.GPDispatch.1") 'Create dll object set pDLL = WScript.CreateObject("FlordiaOps.clsGeneralTools") ' Load required toolboxes... gp.AddToolbox WorkingTempDirectory & "\HydroPeriod Toolbox.tbx" gp.CheckOutExtension("Spatial") gp.CheckOutExtension("3D") 'input variables ... HydroPeriodPoints = wscript.arguments.item(0) TimeSeries = wscript.arguments.item(1) LSEGrid = wscript.arguments.item(2) CurrentDate = wscript.arguments.item(3) EndDate = wscript.arguments.item(4) GridPath = WScript.arguments.item(5) 'set current and finish dates Current = DateValue(CurrentDate) Finish = DateValue(EndDate) ' Process: GenerateRaster... Do Until Current > Finish 'set daily grid files if month(Current) < 10 then CurrentMonth = "0" & month(Current) Else CurrentMonth = month(Current) End if If day(Current) < 10 then CurrentDay = "0" & day(Current) Else CurrentDay = day(Current) End if CurrentYear = year(Current) 'prepare output path for PD Grid PDGrid = Cstr(GridPath) & "\PD" & CurrentMonth & CurrentDay & CurrentYear 'set query TSDateTimeQuery = "[TSDateTime] = #" & CStr(Current) & "#" 'set output date 164 TSDateTime = "#" & Cstr(Current) & "#" msgbox TSDateTime 'Set zvalue for IDW ZValue = "TSSelect.TSValue" 'delete TSSelect table (if it exists) pDLL.DeleteTable Cstr(WorkingTempDirectory & "\Model.mdb\TSSelect") gp.RefreshCatalog WorkingTempDirectory & "\Model.mdb" 'call model 'msgbox "Calling Model for " & Cstr(Current) gp.GenerateRastersPart1 TimeSeries, TSDateTimeQuery, HydroPeriodPoints gp.RefreshCatalog WorkingTempDirectory & "\Model.mdb" gp.GenerateRastersPart2_IDW PDGrid, LSEGrid gp.RefreshCatalog WorkingTempDirectory & "\Model.mdb" 'check for errors with model run If gp.getmessages(2) <> "" then msgbox gp.getmessages(2) Else msgbox "Complete!" End If 'next day Current = Current + 1 Loop ' if an error occured above print the error message If gp.getmessages(2) <> "" then msgbox gp.getmessages(2) Else msgbox "Complete!" End If 'delete zonal stats table (if it exists) pDLL.DeleteTable Cstr(WorkingTempDirectory & "ZonalStatsTEMP") 165 B.6 Classify Depths: ClassifyDepthsBatch ' --------------------------------------------------------------------------- ' HydroPeriod Model Batch (HPMB) ' Purpose: To generate classified ponded depth feature polygons for multiple days ' Note: This model references the HydroPeriod Model (HPM) ' Written by: J Goodall, J Sorenson ' Last Edited: 10/23/03 ' --------------------------------------------------------------------------- On Error Resume Next WorkingTempDirectory = "C:/Sorenson/ModelBuilder" ' Create the GP and dll objects set gp = WScript.CreateObject("esriGeoprocessing.GPDispatch.1") ' Load required toolboxes... gp.AddToolbox WorkingTempDirectory & "/HydroPeriod Toolbox.tbx" gp.AddToolbox "C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx" gp.CheckOutExtension("Spatial") gp.CheckOutExtension("3D") 'input variables ... PDFC_Out = wscript.arguments.item(0) Reclass = wscript.arguments.item(1) CurrentDate = wscript.arguments.item(2) EndDate = WScript.arguments.item(3) GridPath = WScript.arguments.item(4) 'set current and finish dates Current = DateValue(CurrentDate) Finish = DateValue(EndDate) ' Process: Reclassify PD Grid into classified PD polygons... Do Until Current > Finish 'set daily grid files if month(Current) < 10 then CurrentMonth = "0" & month(Current) Else CurrentMonth = month(Current) End if 166 If day(Current) < 10 then CurrentDay = "0" & day(Current) Else CurrentDay = day(Current) End if CurrentYear = year(Current) 'prepare output path for PD Grid PDGrid_In = Cstr(GridPath) & "\PD" & CurrentMonth & CurrentDay & CurrentYear 'set query TSDateTimeQuery = "[TSDateTime] = #" & CStr(Current) & "#" 'set output date TSDateTime = "#" & Cstr(Current) & "#" 'call model msgbox "Model Called for day " & Cstr(Current) gp.ClassifyDepths TSDateTimeQuery, PDFC_Out, Reclass, PDGrid_In msgbox "Model Finished for day " & Cstr(Current) 'next day Current = Current + 1 Loop ' if an error occured above print the error message If Err.Number <> 0 Then If gp.getmessages(2) <> "" then msgbox gp.getmessages(2) Else msgbox "Complete!" End If Else msgbox "Complete!" End if 167 B.7 Calculate Statistics: ZonalStatisticsBatch ' --------------------------------------------------------------------------- ' Zonal Statistics Batch - Part of the HydroPeriod Toolset ' Purpose: To generate daily ponded depth features for multiple days ' Note: This model references the HydroPeriod Model (HPM) ' Written by: J Goodall ' Last Edited: 10/23/03 ' --------------------------------------------------------------------------- On Error Resume Next WorkingTempDirectory = "C:\Sorenson\ModelBuilder" ' Create the GP and dll objects set gp = WScript.CreateObject("esriGeoprocessing.GPDispatch.1") 'Create dll object set pDLL = WScript.CreateObject("FlordiaOps.clsGeneralTools") ' Load required toolboxes... gp.AddToolbox WorkingTempDirectory & "\HydroPeriod Toolbox.tbx" gp.CheckOutExtension("Spatial") gp.CheckOutExtension("3D") 'input variables ... ZonalPolygons = wscript.arguments.item(0) MasterTable = wscript.arguments.item(1) CurrentDate = wscript.arguments.item(2) EndDate = wscript.arguments.item(3) GridPath = wscript.arguments.item(4) 'set current and finish dates Current = DateValue(CurrentDate) Finish = DateValue(EndDate) ' Process: GenerateRaster... Do Until Current > Finish 'set daily grid files If month(Current) < 10 then CurrentMonth = "0" & month(Current) Else 168 CurrentMonth = month(Current) End if If day(Current) < 10 then CurrentDay = "0" & day(Current) Else CurrentDay = day(Current) End if CurrentYear = year(Current) 'set output date TSDateTime = "#" & Cstr(Current) & "#" 'set ponded depth grid for this day PondedDepthGrid = GridPath & "\pd_" & CurrentMonth & CurrentDay & CurrentYear 'delete zonal stats table (if it exists) pDLL.DeleteTable Cstr(WorkingTempDirectory & "\Model.mdb\ZonalStatsTEMP") 'call model msgbox "Model Called for day " & Cstr(Current) gp.ZonalStatistics_HydroPeriod TSDateTime, ZonalPolygons, PondedDepthGrid, MasterTable 'check for errors with model run If gp.getmessages(2) <> "" then msgbox gp.getmessages(2) Else msgbox "Complete!" End If 'next day Current = Current + 1 Loop ' if an error occured above print the error message If gp.getmessages(2) <> "" then msgbox gp.getmessages(2) Else msgbox "Complete!" End If 'delete zonal stats table (if it exists) pDLL.DeleteTable Cstr(WorkingTempDirectory & "ZonalStatsTEMP") 169 B.8 Calculate Volume: CalculateVolumeBatch ' --------------------------------------------------------------------------- ' Zonal Statistics Batch - Part of the HydroPeriod Toolset ' Purpose: To generate daily ponded depth features for multiple days ' Note: This model references the HydroPeriod Model (HPM) ' Written by: J Goodall ' Last Edited: 10/23/03 ' --------------------------------------------------------------------------- On Error Resume Next ' Create the GP and dll objects set gp = WScript.CreateObject("esriGeoprocessing.GPDispatch.1") ' Load required toolboxes... gp.AddToolbox "C:\Sorenson\ModelBuilder\HydroPeriod Toolbox.tbx" gp.CheckOutExtension("Spatial") gp.CheckOutExtension("3D") 'input variables ... DailyPD = wscript.arguments.item(0) DailyVol = wscript.arguments.item(1) CurrentDate = wscript.arguments.item(2) EndDate = wscript.arguments.item(3) 'set current and finish dates Current = DateValue(CurrentDate) Finish = DateValue(EndDate) ' Process: GenerateRaster... Do Until Current > Finish 'set daily grid files If month(Current) < 10 then CurrentMonth = "0" & month(Current) Else CurrentMonth = month(Current) End if If day(Current) < 10 then CurrentDay = "0" & day(Current) Else CurrentDay = day(Current) 170 End if CurrentYear = year(Current) 'set output date TSDateTime = "#" & Cstr(Current) & "#" 'set ponded grid for this day PondedDepthGrid = DailyPD & "\pd_" & CurrentMonth & CurrentDay & CurrentYear 'set Volume for this day VolumeGrid = DailyVol & "\VOL_" & CurrentMonth & CurrentDay & CurrentYear 'Check if PDgrid exists if gp.exists(VolumeGrid) then msgbox "It's there" Else 'call model msgbox "Model Called for day " & Cstr(Current) gp.CalculateVolume PondedDepthGrid, VolumeGrid msgbox "done" End If If Err.Number <> 0 Then If gp.getmessages(2) <> "" then msgbox gp.getmessages(2) Else msgbox "Complete!" End If Else msgbox "Complete!" End if 'next day Current = Current + 1 Loop 171 B.9 General Utilities: AppendTable 'Create dll object set pDLL = WScript.CreateObject("FlordiaOps.clsGeneralTools") 'Get input data sPathName1 = Wscript.arguments.item(0) sPathName2 = WScript.arguments.item(1) 'Append Table pDLL.AppendTable Cstr(sPathName1), Cstr(sPathName2) B.10 General Utilities: DeleteTable 'Create dll object set pDLL = WScript.CreateObject("FlordiaOps.clsGeneralTools") 'Get input data sPathName = Wscript.arguments.item(0) 'Delete TSSelect Table pDLL.DeleteTable Cstr(sPathName) 172 Appendix C: GetZValues Visual Basic Macro Public Sub GetZVlues() Dim pMx As IMxDocument Set pMx = ThisDocument Dim pLyr As IFeatureLayer Set pLyr = pMx.FocusMap.Layer(0) Dim pFC As IFeatureCursor Set pFC = pLyr.Search(Nothing, False) Dim pFeat As IFeature Set pFeat = pFC.NextFeature Dim z(6) As Double Dim id As Long Dim pRLyr1 As IRasterLayer Dim pRLyr2 As IRasterLayer Dim pRLyr3 As IRasterLayer Dim pRLyr4 As IRasterLayer Dim pRLyr5 As IRasterLayer Dim pRLyr6 As IRasterLayer Set pRLyr1 = pMx.FocusMap.Layer(1) Set pRLyr2 = pMx.FocusMap.Layer(2) Set pRLyr3 = pMx.FocusMap.Layer(3) Set pRLyr4 = pMx.FocusMap.Layer(4) Set pRLyr5 = pMx.FocusMap.Layer(5) Set pRLyr6 = pMx.FocusMap.Layer(6) Dim pSurf1 As ISurface Dim pSurf2 As ISurface Dim pSurf3 As ISurface Dim pSurf4 As ISurface Dim pSurf5 As ISurface Dim pSurf6 As ISurface Set pSurf1 = GetSurfaceFromLayer(pRLyr1) Set pSurf2 = GetSurfaceFromLayer(pRLyr2) Set pSurf3 = GetSurfaceFromLayer(pRLyr3) Set pSurf4 = GetSurfaceFromLayer(pRLyr4) Set pSurf5 = GetSurfaceFromLayer(pRLyr5) Set pSurf6 = GetSurfaceFromLayer(pRLyr6) 173 Dim pT As IPoint Dim i As Integer Open "c:\temp\FloridaPoints.txt" For Output As #1 Print #1, "ID" & "," & "Observed" & "," & "IDW" & "," & "Natural Neighbours" &_ "," & "N Kriging" & "," & "Anisotropic kriging" & "," & "Regular Spline" &_ "," & "Tension Spline" Do While Not pFeat Is Nothing Set pT = New Point Set pT = pFeat.Shape id = pFeat.OID z(0) = pFeat.Value(pLyr.FeatureClass.FindField("WSE")) z(1) = pSurf1.GetElevation(pT) z(2) = pSurf2.GetElevation(pT) z(3) = pSurf3.GetElevation(pT) z(4) = pSurf4.GetElevation(pT) z(5) = pSurf5.GetElevation(pT) z(6) = pSurf6.GetElevation(pT) Print #1, id & "," & z(0) & "," & z(1) & "," & z(2) & _ "," & z(3) & "," & z(4) & "," & z(5) & "," & z(6) Set pFeat = pFC.NextFeature Loop Close #1 MsgBox "done" End Sub Public Function GetSurfaceFromLayer(pLayer As IRasterLayer) As ISurface Dim pSurf As IRasterSurface Dim pBands As IRasterBandCollection Dim sName As String If TypeOf pLayer Is IRasterLayer Then Dim p3DProp As I3DProperties Dim pLE As ILayerExtensions Set pLE = pLayer Dim i As Integer 174 ' look for 3D properties of layer: For i = 0 To pLE.ExtensionCount - 1 If TypeOf pLE.Extension(i) Is I3DProperties Then Set p3DProp = pLE.Extension(i) Exit For End If Next ' look first for base surface of layer: If Not p3DProp Is Nothing Then Set pSurf = p3DProp.BaseSurface End If ' if not found, try first band of raster: If pSurf Is Nothing Then If Not pLayer.Raster Is Nothing Then Set pSurf = New RasterSurface Set pBands = pLayer.Raster pSurf.RasterBand = pBands.Item(0) End If End If Set GetSurfaceFromLayer = pSurf End If Exit Function GetSurfaceFromLayer_ERR: Debug.Print "GetSurfaceFromLayer_ERR: " & vbCrLf & Err.Description Debug.Assert 0 End Function 175 Appendix D: Summary of Mathematical Framework Defined for Calculating Hydroperiod ***Note: Equation and figure numbers used in this appendix match those used in the main text, which can be referenced for example application. Hydroperiod analysis occurs spatially over polygon zones and depth class grid zones. Let R be the region described by the domain, or study area. Let R p be a polygon subdomain of R, where p represents habitat polygon zones, landscape polygon zones, river polygon zones and so on (p = 1,2,?,P). Let R g be a grid subdomain of R, where g represents depth class zones (g = 1,2,?,G); depth class zones consist of a set of cells. Polygon zone p has area A p . Likewise, depth class zone g has area A g. Let grid g be comprised of i cells with area a, such that a i is the area of cell i (i = 1,2,?,I). Equation (2-1a) states that a i is an element of A p , and Equation (2-1b) states that a i is also an element of A g . Equation (2-2a) states that a i (p) is the set of cells within A p , and Equation (2-2b) states that a i (g) is the set of cells within A g . { } pii Aaa ?: (2-1a) { } gii Aaa ?: (2-1b) ? ? = pi Aa ip paA )( (2-2a) ? ? = gi Aa ig gaA )( (2-2b) When a polygon zone is specified as the subdomain of study and the polygon boundary divides or crosses topographic cells, cells must be selected based on an inclusion rule. Three cell inclusion rules are: ? Rule 1: Use only those topographic cells that fall wholly within polygons (Figure 2.8(a)). ? Rule 2: Use all cells within and those cells that touch polygon edges. This means one cell may be used to calculate statistics for more than one polygon (Figure 2.8(b)). ? Rule 3: Use cells where greater than 50% of the cell area is included in the polygon (Figure 2.8(c)). 176 (a) Rule 1 (b) Rule 2 (c) Rule 3 Figure 2.8: Cell inclusion rules for polygon zones Hydroperiod analysis occurs temporally over a specified time period, T*. The time period is divided into J time intervals (Equation (2-3)) where the time interval is represented by j (j = 1,2,?,J). Times within the specified time period are denoted with t, where t j is the time at time interval j (Figure 2.9). In accordance with Equation (2-4), time t j = ?t, 2?t, 3?t,?,J?t. t T J ? = * (2-3) tjt j ??= (2-4) T* ?t j = 1 2 3 ? ? J Figure 2.9: Temporal components in mathematical expressions Given a i and t j , let h i,j be the water surface elevation in cell i at time interval j, let L i be the land surface elevation in cell i, and let d i,j be the ponded depth in cell i at time interval j. The ponded depth is equal to the water surface elevation minus the land surface elevation (Equation (2-5)). (2-5) ijiji Lhd ?= ,, 177 After ponded depth is calculated, it can be classified into depth classes. Depth class D m occurs when water depth is between c m-1 and c m (Figure 3.31, Equation (3-1)). The annotation [ represents a closed interval including all values greater than or equal to c ] ] mm cc , 1? m-1 and less than c m (i.e. c m-1 ? d i,j < c m ). Depth class boundaries c 0 c 1 c 2 c 3 ? c M-1 c M Depth classes D 1 D 2 D 3 D M Figure 3.31: Depth classes and their boundaries (3-1) [ mmm ccD , 1? = Next, the ponded depth grid is classified into depth class zones (of zone type g and subdomain R g ). For a given time interval j, polygon zone p, and depth range m, the area of inundation A j,p,m is calculated using Equation (3-2a), which is the sum of the area of all cells in polygon zone p with water depth in D m depth class. Similarly, for a given time interval j, depth class zone g, and depth range m, the area of inundation A j,g,m is calculated using Equation (3-2b), which is the sum of the area of all cells in depth class zone g with water depth in D m depth class. In domain R, the area in each depth class for a given depth range m and time interval j, A j,m , is calculated using Equation (3-2c). This is calculated as the sum of the cell areas in domain R for which water depth is in depth class D m . (3-2a) ? ? ?= p Ai mjiimpj aA ,,,, ? ? ? ?= g Ai mjiimgj aA ,,,, ? (3-2b) ? ? ?= Ri mjiimj aA ,,, ? (3-2c) The Dirac delta function mji ,, ? is equal to one when the water depth d i,j is within D m depth class or is equal to zero otherwise, as defined in Equation (3-3). ? ? ? ? = otherwise Dd mji mji 0 1 , ,, ? (3-) 178 The next equations (Table 3.4) correspond to the statistical cell average, daily average, and all data approaches for calculating mean water depth, as outlined in Table 3.2 and for calculating minimum water depth, as outlined in Table 3.3. Each equation is stated, described, and associated with the ModelBuilder model used to accomplish it. Table 3.4: Summary of Statistical Equations Equation Description Model Statistical Mean Calculations (3-4a) ? ? = p Ai ji p pj d A d ,, 1 (3-4b) ? ? = g Ai ji g gj d A ,, 1 d Daily mean water depth across the cells in (a) polygon zone p or (b) depth class zone g Zonal Statistics (3-5a) ? ? = * ,, * 1 Tj pjpj d T d (3-5b) ? ? = * ,, * 1 Tj gjgj d T d Overall mean water depth: averaged first across the cells in (a) polygon zone p or (b) depth class zone g, then averaged through time Summary Statistics (3-8) ? ? = * , * 1 Tj jii d T d Mean water depth in each cell, drilled through time Temporal Statistics (3-9a) ? ? = p Ai i p pi d A d 1 , (3-9b) ? ? = g Ai i g gi d A 1 , d Overall mean water depth: averaged first by drilling through time for each cell, then by averaging spatially across cells in (a) polygon zone p or (b) depth class zone g Spatial Statistics (3-12a) ?? ?? ? = p AiTj ji p pji d AT d * ,,, * 1 (3-12b) ?? ?? ? = g AiTj ji g gji d AT d * ,,, * 1 Overall mean water depth: average of all values over space and time where space is comprised of (a) polygon zone p or (b) depth class zone g Temporal Statistics, followed by Summary Statistics Statistical Minimum Calculations (3-6a) ji Ai pj dd p ,(min), min ? = (3-6b) d ji Ai gj d g ,(min), min ? = Daily minimum water depth across the cells in (a) polygon zone p or (b) depth class zone g Zonal Statistics (3-7a) ? ? = * (min),(min), * 1 Tj pjpj d T d Overall minimum water depth: minimum across the cells in (a) polygon zone p Summary Statistics 179 (3-7b) ? ? = * (min),(min), * 1 Tj gjgj d T d or (b) depth class zone g, then averaged through time (3-10) d ji Tj i d , * (min) min ? = Minimum water depth in each cell, drilled through time Temporal Statistics (3-11a) ? ? = p Ai i p pi d A d (min)(min), 1 (3-11b) ? ? = g Ai i g gi d A (min)(min), 1 d Overall minimum water depth: minimum by drilling through time for each cell, then by averaging spatially across cells in (a) polygon zone p or (b) depth class zone g Spatial Statistics (3-13a) ji TjAi pji dd p , * (min),, minmin ?? = (3-13b) d ji TjAi gji d g , * (min),, minmin ?? = Overall minimum water depth: minimum of all values over space and time where space is comprised of (a) polygon zone p or (b) depth class zone g Temporal Statistics, followed by Summary Statistics Let V i,j be the volume of water in cell i at time interval j. Cell water volume is calculated by multiplying positive ponded depth by cell area (Equation (3-14)). The Dirac delta function d ? is used in the volume equations to include only cells with positive ponded depth (Equation (3-15)). djiiji daV ???= ,, (3-14) ? ? ? ? ? < ? = 00 01 , , ji ji d d d ? (3-15) The volume of water in a zone is calculated by summing the cell volume of all cells included in the zone; V j (p) and V j (g) represent the volume of water in polygon zone p and depth class zone g at time interval j (Equation (3-16a) and (3-16b), respectively). ? ? = p Ai jij VpV , )( (3-16a) ? ? = g Ai jij VgV , )( (3-16b) 180 For a given depth class D m and polygon zone p, the duration of inundation T m,p is calculated using Equation (4-3a). Likewise, for a given depth class D m and depth class zone g, the duration of inundation T m,g is calculated using Equation (4-3b). The duration of inundation for a given depth class D m in domain R is calculated using Equation (4-3c). In all three equations, duration is calculated as the sum of time intervals within specified time period T* for which the water depth is in depth class D m , multiplied by the ratio of cell area to total zonal area in depth class D m at time interval j. ?? ?? ?? = * ,, ,, , TjAi mpj imjij pm p A at T ? (4-3a) ?? ?? ?? = * ,, ,, , TjAi mgj imjij gm g A at T ? (4-3b) ?? ?? ?? = * , ,, TjRi mj imjij m A at T ? (4-3c) After duration of inundation T m is calculated, it can be classified into duration classes. Duration class T n occurs when time duration is between C n-1 and C n (Figure 4.18, Equation (4-4)). The annotation [ ] nn CC , 1? represents a closed interval including all values greater than or equal to c n-1 and less than c n (i.e. C n-1 ? d i,j < C n ). Time class boundaries C 0 C 1 C 2 C 3 ? C N-1 C N Duration classes T 1 T 2 T 3 T N Figure 4.18: Duration classes and their boundaries [ nnn CCT , 1? = ] (4-4) For graphing purposes, statistics of interest include percent area inundated, percent area in each depth class, percent time inundated, percent time in each depth class, and percent area in a specified depth class and duration class. Let A wet represent the area in domain R that is wet or inundated (d i,j ? 0). Subsequently, A wet,j (%) represents the percent of the domain R that is inundated at time interval j and is equal to the cell area summed over all inundated cells in domain R divided by the sum of the cell area in all cells in domain R (Equation 4-5). The Dirac delta function d ? (from Equation (3-15)) is used to select only cells with a positive water depth d i,j . The portion of the domain that is not inundated is dry, as represented in Equation (4-6). 181 () 100% , ? ? = ? ? ? ? Ri i d Ri i jwet a a A ? (4-5) () (%)100% ,, jwetjdry AA ?= (4-6) The percent area in each depth class for a given depth range m and time interval j, A m (%), is calculated using Equation (4-7). This is calculated as the area in depth class m at time j divided by the total classified area. () 100% , , , ?= ? ?Mm mj mj mj A A A (4-7) Let T wet represent the time that domain R is wet or inundated (d i,j ?0). Subsequently, T wet (%) represents the percent of the time that domain R is inundated and is equal to the sum of time intervals within specified time period T* for which the water depth is positive, multiplied by the ratio of cell area to total domain area at time interval j (Equation (4-8)). The Dirac delta function d ? (from Equation (3-15)) is used to select only cells with a positive water depth. The time during which the domain is not inundated, it is dry, as represented in Equation (4-9). ?? ?? ?? = * , (%) TjRi Rj idj wet A at T ? (4-8) () (%)100% wetdry TT ?= (4-9) The percent time in each depth class D m and time period T* in domain R, T m (%), is calculated using Equation (4-10c). If considering a zone rather than the entire domain, the percent time in each depth class D m and time period T* can be calculated in polygon zone p using Equation (4-10a) and in depth class zone g using Equation (4-10b). () 100 * % , , ?= T T T pm pm (4-10a) () 100 * % , , ?= T T T gm gm (4-10b) () 100 * % ?= T T T m m (4-10c) 182 The percent area for a specified depth class m and specified duration class n, A m,n (%), is calculated using Equation (4-11). The area of cells within depth class D m summed over duration T n is divided by the area of cells within depth class D m summed over the specified time period T*. () ? ? ? ? ? ? = * ,, ,, , % Tj imji Tj imji nm a a A n ? ? (4-1) 183 Table D.1: Glossary of Hydroperiod Variables Variable Name Meaning a i cell area The area of a single cell i A p area in polygon zone The area occupied by a set of cells within a specified polygon zone p A g area in depth class zone The area occupied by a set of cells within a specified depth class zone g A j,p,m depth classified area in polygon zone The area occupied by a set of cells with ponded depth values in depth class D m at time interval j within polygon zone p A j,g,m depth classified area in depth class zone The area occupied by a set of cells with ponded depth values in depth class D m at time interval j within depth class zone g A j,m depth classified area The area occupied by a set of cells with ponded depth values in depth class D m at time interval j in domain R A m,n depth and duration classified area The area occupied by a set of cells with ponded depth values in depth class D m for time duration T n A wet,j area inundated The area occupied by a set of cells with positive ponded depth at time interval j A dry,j area dry The area occupied by a set of cells with zero or negative ponded depth at time interval j d i,j ponded depth Ponded water depth in cell i at time period j d i temporally averaged ponded depth Ponded water depth averaged through time in cell i d j,p spatially averaged ponded depth over polygon zone Ponded water depth averaged across cells in polygon zone p at time interval j d j,g spatially averaged ponded depth over depth class zone Ponded water depth averaged across cells in depth class zone g at time interval j d i,j,p overall average ponded depth over polygon zone Ponded water depth averaged across cells and through time in polygon zone p d i,j,g overall average ponded depth over depth class zone Ponded water depth averaged across cells and through time in depth class zone g D m depth class The range of ponded depth values between c m-1 and c m h i,j water surface elevation Water surface elevation in cell i at time period j L i land surface elevation Land surface elevation in cell i 184 R domain The region described by the domain or study area R p polygon subdomain A polygon subdomain which may consist of habitat polygon zones, river polygon zones, etc. R g depth class grid subdomain A subdomain consisting of the set of grid cells in a specified depth class zone t j time interval A time interval in the specified time period of analysis T* T* time period Range of dates included in the specified time period of analysis T m depth classified duration Duration of ponded depth in depth class D m in domain R T m,p depth classified duration in polygon zone Duration of ponded depth in depth class D m within polygon zone p T m,g depth classified duration in depth class zone Duration of ponded depth in depth class D m within depth class zone g T n duration class The range of time duration values between C n-1 and C n T wet duration inundated The duration of time that cells in domain R have positive ponded depth T dry duration dry The duration of time that cells in domain R have zero or negative ponded depth V i,j water volume Water volume in cell i at time interval j V j (p) water volume in polygon zone The sum of the water volume in the set of cells within polygon zone p V j (g) water volume in depth class zone The sum of the water volume in the set of cells within depth class zone g d ? ponded depth Dirac delta function Dirac delta function equal to one when the ponded water depth is equal to zero or positive and is equal to zero when ponded depth is negative mji ,, ? depth classified Dirac delta function Dirac delta function equal to one when the ponded water depth is within depth class D m and is equal to zero otherwise Index (Range) i (i=1,2,?,I): cell index j (j=1,2,?,J): time interval index m (m=1,2,?,M): depth class index n (n=1,2,?,N): duration class index p (p=1,2,?,P): polygon zone index g (g=1,2,?,G): depth class zone index c: depth class boundary index C: duration class boundary index 185 References Caruso, C. and F. Quarta. Interpolation Methods Comparison. Computers Mathematical Applications, V. 35, No. 12, pp. 109-126. 1998. Collins, Fred C. and Paul V. Bolstad. A Comparison of Spatial Interpolation Techniques in Temperature Estimation. IBM Government Systems ? Resource Management and Distributed Systems. 2003. Danish Hydraulic Institute. Mike Objects Time Series Manager, http://www.dhisoftware .com/mikeobjects/TS_Manager/desc.htm. 2004. Dragicevic, Suzana and Danielle J. Marceau. An application of fuzzy logic reasoning for GIS temporal modeling of dynamic processes. Fuzzy Sets and Systems, V. 113, pp. 69-80. 2000. Environmental Systems Research Institute, Inc. ArcView Tracking Analyst ? Real-time Data Display, Interactive Playback and Analysis, pp. 1-4. ESRI Press, Redlands, CA. 1998. Environmental Systems Research Institute, Inc. Using the ArcGIS 9.0 Modeling Environment. ESRI Press, Redlands, CA. 2002. Erxleben, Jennifer, Kelly Elder, and Robert Davis. Comparison of spatial interpolation methods for estimating snow distribution in the Colorado Rocky Mountains. Hydrological Processes, V. 16, pp. 3627-3649. 2002. Goodall, J., D. Maidment, and J. Sorenson. Representation of Spatial and Temporal Data in ArcGIS. Specialty Conference Proceedings, Geographic Information Systems (GIS) and Water Resources III. Nashville, TN. 2004. Gunderson, Lance H. (ed.), C. S. Holling (ed.), and Stephen S. Light (au.). The Everglades: Evolution of Management in a Turbulent Ecosystem. Barriers & Bridges to the Renewal of Ecosystems and Institutions, pp. 101-168. 1995. Lin, Steve. South Florida Water Management District. Personal correspondence. 05 February 2004. Maidment, David R. Arc Hydro and Time Series presentation, http://www.ce.utexas.edu /prof/maidment/slide.html. ESRI, Redlands, CA. 15 January 2004. 186 Maidment, David R. (ed.) Arc Hydro: GIS for Water Resources. ESRI Press, Redlands, CA. 2002. Maidment, David R. (au.) and Goodchild, Michael F. (ed.) Environmental Modeling within GIS. GIS and Environmental Modeling: Progress and Research Issues, pp. 315-322. Fort Collins, CO. 1996. Rothfeder, Jeffrey. The Scramble to Restore. Every Drop for Sale: Our desperate battle over water in a world about to run out, pp.139-152. 2001. Ryan, Chris. CatchmentSIM: A New GIS Tool for Topographic Geo-Computation and Hydrologic Modelling. 28 th International Hydrology and Water Resources Symposium, Wollongong, NSW. The Institute of Engineers, Australia. November 2003. Samet, Hanan. Triangulations. http://www.cs.umd.edu/class/fall2003/cmsc420-0101 /slides/tg.pdf. College Park, Maryland. 1997. Simon, Paul. Florida and Other States. Tapped out: The coming world crisis in water and what we can do about it, pp.33-45. 1998. South Florida Water Management District. A Closer Look at Kissimmee River Research. Closer Look. West Palm Beach, FL. 2003d. South Florida Water Management District. Baseline Hydrology V. 8. West Palm Beach, FL. 2002. South Florida Water Management District. Kissimmee River Restoration at the South Florida Water Management District. Reflections. West Palm Beach, FL. 2003c. South Florida Water Management District. Managing Water in South Florida, The Facts and Figures. West Palm Beach, FL. March 2003b. South Florida Water Management District. Past/Present of Kissimmee River Restoration. http://www.sfwmd.gov/org/erd/krr/pastpres/3_krrpp.html. 2004. South Florida Water Management District. Restoring the Everglades at the South Florida Water Management District. Reflections. West Palm Beach, FL. 2003a. Spalding, Valerie. Automating Spatial Processes. ArcUser ? The Magazine for ESRI Software Users. July?September 2000. 187 188 Vita Jennifer Kay Sorenson was born in Minot, North Dakota on July 28, 1978 to Richard and Barbara Sorenson. She hazed two amazing sisters into the family, Katie and Lisa. The family has joyously followed Colonel Sorenson around the world with the Air Force and continues to adore traveling. Next stop: Hawaii! Jennifer received her B.S. in Civil Engineering from The Great University of North Dakota in Grand Forks, North Dakota and worked in business consulting at Accenture in Minneapolis, Minnesota for two years before finding her way down to Austin, Texas. She is currently working at Camp Dresser & McKee (CDM) and is graduating in May 2004 with a M.S. in Environmental and Water Resources Engineering from The University of Texas. Upon graduation, she will begin work at URS in Austin, Texas. She is looking forward to an exciting career in water resources and whatever other passion that may catch her eye. Permanent address: 1326 Barton Creek, San Antonio, Texas 78258 This dissertation was typed by the author.