Foreman Oceanographic Model Data Handler


This project required processing and handling of modelled environmental data to allow use within generic GIS platforms by persons with no prior knowledge of the data source or their original formats. The data to be stored in the database represents several different oceanographic variables that have been modeled to locations across the North Eastern Pacific ocean at varying depths, from surface to sea floor. Variables include water temperature, salinity, RMS tidal velocity, and density to name a few. I was instrumental in the completion of this project as I designed the database structure, created the import and export routines, and the user control forms. I was also involved in the creation of the user manual which I supplied written sections for the technical portions of the manual and I provided all of database and product images.

A custom database consisting of related data tables, user import forms, user export forms, and hidden queries and modules was designed to standardize the handling of these custom data files. Essentialy those connected with the creation and distribution of the data are to use the import forms to import the uniquely structured model output data into the database in a consistent and standardized format. People who require use of the data can then use the export forms to select specific data variables and depths of interest and then have the data exported in a GIS friendly format.

To the right are two examples of the ASCII source data files. As you can see the file are not stored in generic comma delimited or equal interval formats. One file contains the definitions of the nodes (the locations of the nodes, or modeled data points, and the depths of these nodes). The second table is an example of a variable data file, in this case summer salinity. This file contains the depths of all of the modeled levels and the data values at each depth for each node location.

In both cases the source files have custom data structures and custom header information which means that a custom process is required to process these data.

Below are examples of the data import forms used to import the raw modeled data in to the database. Technically there is only one import form however there are 3 different tabs for the varying types of input files. Each tab contains user controls and calls upon custom modules to process the selected data file based on the user entered parameters. The import nodes tab is used to import the location of the nodes. Each node has a latitude/longitude location and an associated type. RMS tidal speed is seperate from the other variables because unlike the other modeled data, RMS tidal speed is not represented by multiple level structure. As is the case it has custom data files and requires it's own import procedure. The third tab is used to import all of the other modeled variables.



The database is composed of many different tables and modules, however the end user need not concern themselves with any of these. Most of the tables are set to be hidden from view anyways. All the end user needs to use is the data export form while administrators will use both import and export forms. Data tables, level definitions, and variable lists are related to each other by NodeID's, Level_ID's to level values, and by Varaible Names. Here are some examples of the table structures and their relationships.




Like the import form, the export form also contains multiple tabs, in this case only two tabs. The first tab is for exporting a single modeled level (or depth) of data, the second tab is used for exporting a selection of multiple depths. On each tab the user is able to select a destination file to save the data to using a save file dialog. There is a drop down box to select which variable they would like to export and then either a drop down or a selection box to select the depth/s to export. On the single export tab there is also a check box giving the option to export the bottom depth values for each node, so rather than exporting data across a constant depth, the deepest value at each node is selected.



When the export button is pushed an output file with the requested data is produced. The format of the output data is an ASCII file with comma delimited values.

The single level export file conforms to a standard GIS XYZ file format. This can be used with programs like ESRI's ArcGIS and Clark Labs' IDRISI GIS and Image Processing GIS platforms. Additionally users could easily re-imported these file into their own databases should they prefer.

The option of single and multi level export options was offered because some GIS platforms do not allow for multiple Z values when importing an XYZ file. While ArcGIS has no isuess importing multiple fields, IDRISI only allows basic XYZ files.

In both cases the data are stored in order of node ID.

Below are some examples of images produced using these output files within ArcGIS. The point data can be easily interpolated to create continuous raster datasets as shown by the layouts produced.


RMS Tidal Velocity exported points.



RMS Tidal Velocity interpolated to 500m raster.



Summer Bottom Temperature exported points.

Summer Bottom Temperature interpolated to 500m raster.


This website is maintained by rcoatta@telus.net