Geoinformatics 2007 Conference (17–18 May 2007)

Paper No. 4
Presentation Time: 9:00 AM

HYDROLOGIC INFORMATION SYSTEM SERVER: THE SOFTWARE STACK AND THE INITIAL DEPLOYMENT EXPERIENCE


WHITENACK, Thomas1, VALENTINE, David1, ZASLAVSKY, Ilya1 and DJOKIC, Dean2, (1)San Diego Supercomputer Center, Univ of California, San Diego, 9500 Gilman Drive, La Jolla, CA 92093-0505, (2)ESRI, 380 New York St, Redlands, CA 92373, twhitenack@sdsc.edu

Description of the software stack

One of the main outcomes of the CUAHSI Hydrologic Information System project is development of a Windows-based software stack to support importing, registering and serving hydrologic observation data. The Hydrologic Information System Server (HIS Server) organizes observation databases, geographic data layers, data importing and management tools, and online user interfaces, into a flexible multi-tier application for serving both national-level and locally-maintained observation data. The main components of the distributable software stack (Figure 1), in a typical deployment scenario, are a mix of commercial off the shelf technologies (COTS), and a custom developed code for web services, data bases, and sophisticated online data access. The COTS stack includes Windows 2003 Server operation system with IIS, SQL Server 2005 for storing observation databases, ArcGIS 9.2 and ArcGIS Server for managing and serving observation site maps and other spatial data, and Visual Studio 2005 for impersonating and recompiling the map application when required. The components developed by the HIS Team, include:

  • WaterOneFlow web services: services providing uniform query access to remote repositories of observation data and data catalogs (USGS NWIS, EPA STORET, NCDC ASOS, etc.) and to local ODM-compliant (Observation Data Model) databases. In addition, the software stack includes an online application for testing local web services.
  • Observation data loader: software for importing observation data and catalogs into ODM instances
  • ODM tools: software for exploring and editing data imported into ODM
  • Data Access System for Hydrology (DASH): an ASP.NET application developed over ArcGIS Server 9.2 that represents a mapping, querying and data retrieval interface over observation and GIS databases, and web services.

Figure 1 near here

In addition, the deployed HIS server contains tutorials and instructions for several workflows supported by the system, specifically related to importing, curating and serving observation data on the internet.

Importing and registering observation datasets

The critical capability that the HIS software stack supports is importing and registering user-collected hydrologic observation data. The steps in adding a new observation network are as follows (see Figure 2):

  1. Using the ODM DataLoader, the user (information manager in a WATERS test bed) loads a hydrologic observation dataset from an Excel or text file, into a blank ODM instance in a local SQL Server 2005. As a result, a set of ODM-compliant tables will be created and populated with observation data and metadata, including, including the Sites, Variables and SeriesCatalog tables that the DASH application relies on. In addition, the user may explore and edit the newly created ODM instance using the ODM Tools desktop application.
  2. The user creates a copy of the WaterOneFlow Web Services template, and edits its web.config file to point to the newly created ODM instance (specifying the name of the instance and the connection string). Once the new ODM web service is deployed, the user can test it with a web service testing application, to ensure that the new service works as expected.
  3. The user creates a point layer of observation stations, as either a feature class in a geodatabase, or a shapefile, importing point coordinates from the new ODM's Sites table directly, or via GetSites web service call.
  4. To configure the DASH application with the added observation network, the DASH must be stopped.
  5. Using ArcGIS 9.2, the user adds the new point layer to the map configuration file (MXD document) used by DASH. At this step, the layer's symbology, scale-dependent rendering, labeling, and other components of the map display, can by modified.
  6. The user edits web configuration file of the DASH, adding information about the newly created observation network database. For each new network, this information includes: NetworkID, NetworkCode, NetworkName, NetowkrConnectionString, NetworkServicesWSDL, NetworkServicesURL, NetworkServicesGetValuesURL, CreatedDate, LastUpdateDate, ResponsibleParty, as well as Disabled and DisabledDate flags. In other words, this block of information contains network metadata, and pointers to the associated ODM instance and web services. The NetworkServicesGetValuesURL parameter is included to distinguish between situations where only site catalog is imported into ODM while observation values are retrieved from remote repository (e.g. national repositories such as USGS NWIS, EPA STORET, or regional repositories such as TCEQ - Texas Commission on Environmental Quality, or TCOON – Texas Coastal Ocean Observation Network), versus observation data being imported into ODM instance as well.
  7. The user restart the DASH web application with the updated MXD and web.config files, and tests it.

Figure 2 near here

Current Status

The user interface of the DASH web application, in its current version, allows online users to query observation networks by location and attributes, selecting stations in a user-specified area where a particular variable was measured during a given time interval. Once one or more stations and variables are selected, the user can retrieve and download the observation data for further off-line analysis.

At the time of writing, the first version of the software stack is being finalized, and the SDSC team is configuring servers to be shipped to WATERS test bed projects. At the conference, the initial deployment experience will be reported.

Figure 1. Components of the HIS software stack.

Figure 2. The HIS Server architecture, and steps for adding observation networks.