Fisheries and Oceans Canada | Pêches et Océans Canada - Government of Canada | Gouvernement du Canada
 
Français Contact Us Help Search Canada Site
 
Fisheries and Oceans Canada
   
SUBJECTS


SCIENCE INFO BY:

A-Z Index Activity Audience Organization
 

OAX Demonstration and Test Case

Last Updated December 4, 2003

OAX analysis package was developed at the Bedford Institute of Oceanography by I. He, R. Hendry and G. Boudreau. It uses optimal linear interpolation (objective analysis) to estimate data values at grid points based on data at a finite number of nearest neighbours.

The two key features of OAX5 are 1) the underlying data structure that allows for efficient searching for nearest neighbours and thus makes it possible to process large data sets and 2) allowance for spatially variable correlation scales.

The original code (oax5.c) was released in September 1995. Since then there have been substantial changes in compiler technology, c language standards, and computer architecture. The revision oax51.c attempted to bring the code up to modern standards and fix a bug to stop segfaults and array out of bounds errors with some compilers. We now have reports that on some machine/compiler combinations oax51 crashes or gives strange results. This is not entirely unexpected as getting OAX to run on new machine/compiler combinations has always been a bit of an adventure. It usually requires experimenting with the compiler flags.

We will work on this as time and resources allow. In the meantime we have decided to post both versions of the code. We would appreciate feedback on your experiences and any bug fixes. At the bottom of the page we categorize some of the code changes.

Feedback and questions can be directed to "ChaffeyJ" at "mar.dfo-mpo.gc.ca".

The OAX demonstration and test case provides the OAX source code, some documentation, and a worked example based on estimating seasonal temperature, salinity and density (sigma-t) fields for Georges Bank in the Gulf of Maine.
The source code here is oax5.c, the original version.
Oax51.c is available below.

Demonstration case:
oax.demo.tgz Download the compressed file (1.7 MB) (2002-11-04)


Documentation only:

techrep.ps Hendry, R. and I. He. Technical Report on Objective Analysis (OA) Project. In preparation for Can. Tech. Rep. Hydrog. Ocean Sci. This is a draft document. (postscript)

oax_algorithm.ps Description of the algorithm. R. Hendry and I. He (postscript)

demodocs.ps OAX Demonstration and Test Case. C. Hannah, M.J. Graca and J. Loder (postscript)


Source Code only:
oax5.c oax5.c: the original code which was released on 1995-09-06

oax51.c oax51.c: modified code (oax51.c) which was last changed on 2002-11-04


Broad categories of code changes between oax5.c and oax51.c:

  • The format of most of the function declarations have been changed.
  • In several places arrays are explicitly set to zero.
  • In several places the way floating point comparisons are done is changed.
  • If (a< b) is changed to if (a-b < FLT_EPSILON).



For further information: Contact Jason Chaffey (ChaffeyJ) at mar.dfo-mpo.gc.ca. To be kept informed about updates to this program, please enter your name and email address in the form below.
NAME: EMAIL:
   
 
  Last Updated : 2007-02-07 Important Notices