110 likes | 122 Views
Argo FloatLab Database. Donald Denbo PMEL Developers Forum on Databases April 25, 2005. Background.
E N D
Argo FloatLab Database Donald Denbo PMEL Developers Forum on Databases April 25, 2005
Background • Argo is a global array of 3,000 free-drifting profiling floats that will measure the temperature and salinity of the upper 2000 m of the ocean. This will allow, for the first time, continuous monitoring of the temperature, salinity, and velocity of the upper ocean, with all data being relayed and made publicly available within hours after collection. It will improve our understanding of the ocean's role in climate. • Argo deployments began in 2000 and today the array is over 59% complete. • PMELs role includes deploying 80-100 floats per year and providing delayed-mode salinity calibrations. PMEL Developers Forum on Databases
Float Application • The Problem • Manage metadata for Argo data centers. • Keep accurate records of laboratory tests. • Automate communication with floats during testing. • Retrieve ARGOS data transmitted during dock test. • Previous practice • Hand enter float commands using a terminal emulator and hand record results on paper records. PMEL Developers Forum on Databases
The Solution • Communicate directly with floats using the SerialIO library. • Keep a complete record of all communications in a separate log file for each float. • Retain all important measurements returned from the float during testing. • Use a database to simplify and automate storage and retrieval of important data. • Provide an application that manages the entire life cycle of the instrument from when it arrives at PMEL until it stops functioning. PMEL Developers Forum on Databases
Dock Test ARGOS PostgreSQL http: Floats db telnet jdbc Lab Tests log SerialI/O jdbc Salinity Test Floatlab db socket Matlab MySQL PMEL Developers Forum on Databases
Database Selection • MySQL 4.1.x chosen • InnoDB storage engine • Transaction safe • Fully ACID compliant (Atomicity, Consistency, Isolation, and Durability) • Crash recovery • Row level locking • Foreign Key constraints supported PMEL Developers Forum on Databases
Tables • Dictionaries • People, ships, morbidity, parameter ranges • Implemented as Java HashMap • Metadata • Equipment, launch time/location, etc. • Java objects containing related data referenced to float. • Test Data • Weight, Air Bladder, Short Workout, Dock, Dock Results, Salinity, Final Checks • One Java object per Test referenced to float. PMEL Developers Forum on Databases