Monday, June 18, 2012

Solo - ARGOS & Iridium Listings

Solo ARGOS and Iridium listings are being added to the Argo Database. The Solo Listing pages are available here. Read more below for details on the ARGOS and Iridium listing pages...

Thursday, June 7, 2012

Solo-II Pages

The Solo-II pages are intended to facilitate management of and communication with the new Solo-II Argo Floats. The following provides some description of the Solo-II pages and planned development.

Features &Functionality

The following features are currently implemented in the Solo-II pages:
  • Summary and overview pages for all known Solo-II floats
  • Solo-II Listings
    • browsable section for each float
    • automated calculation of next anticipated surfacing based on previous surfacing time and previous cycle length
    • original/source listings files available for download
  • Reported Mission Parameters
    • browsable section for each set of reported parameters
    • simple web form for modifying and uploading reported mission parameters
    • automated parsing of parameter files (.param) to get reported mission parameters
    • original/source parameter files available for download
  • Upload/Queue Mission Parameters
    • browsable history of all uploaded & queued mission parameters
    • simple web form for generating and uploading mission parameters
    • automated SBD file creation, as a result of web form submission
    • automated uploading of SBD file via email to Iridium
    • automated user confirmation email generation
The following features are currently under development, or are scheduled for development in the near future:
  • Upload/Queue Mission Parameters
    • user scheduling (specific date/time) of mission parameters upload
    • automated scheduling of mission parameters upload, such that the upload occurs in a 5-day window before the floats next anticipated surfacing
    • saving of sets of mission parameters to facilitate repeat uploads of the parameters to multiple floats
    • batch uploading of mission parameters
  • Browsable section for other relevant files/information
    • mail messages
    • .phy files

Page Descriptions 

  • Home
    • summary table of all known Solo-II floats
  • Listings
    • all processed Solo-II Iridium listings
    • listing files (.lis) are available for download here
  • Queued Mission Parameters
    • mission parameters that have been queued for upload or have been uploaded
  • Reported Mission Parameters
    • all reported Solo-II mission parameters
    • parameter files (.param) corresponding to reported mission parameters are available for download here
    • web form modification & re-submission of reported mission parameters
  • Saved Mission Parameters (under construction)
    • saved Solo-II mission parameters 
    • can be used to upload the same commands to multiple floats
  • Upload Mission Parameters 
    • web form for mission parameter generation & uploading

Friday, April 27, 2012

A New Home

The Argo Database web application is getting a new home at! This post documents the changes made to Argoweb.

Changes to Argoweb

Installation of MySQL Database and Apache Tomcat was accomplished using a custom bash shell script to download, unzip, compile the applications from source. The following changes were made to argoweb:
  • added groups 'argoweb', 'mysql', and 'tomcat'
  • added users 'argoweb', 'mysql', and 'tomcat'
  • removed:
    • apache2 (replaced by Tomcat)
  • installed:
    • vim 
    • openjdk 6
    • g++ 4.4
    • MySQL 5.1
    • Apache Tomcat 6 Apache Tomcat 7 
      • Note: Tomcat 6 does not support the latest version of Java. Tomcat 7, however, is not natively supported by Debian so it must be installed from source.
  • used iptables to route incoming traffic on port 80 to the Tomcat server:

root@argoweb:/etc/tomcat6# iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
root@argoweb:/etc/tomcat6# iptables-save
# Generated by iptables-save v1.4.8 on Thu May 3 05:31:30 2012
-A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
# Completed on Thu May 3 05:31:30 2012

  • performed dump of previous database :
mysqldump -u root -p --databases floats > argoweb_dump.sql
  • used sql file to populate Argoweb database
  • deployed the Argo Database application on the Tomcat server
  • created a script to mirror some directories from Ursa to ArgoWeb (/usr/local/bin/ursa-volume-sync):
    • ursa:/Volumes/U1/argo -> argoweb:/data/Volumes/U1/argo
    • ursa:/Volumes/U2 -> argoweb:/data/Volumes/U2
    • cron'd to run twice daily. After the initial transfer, this script has completed in under 10 minutes, without any major changes to files on Ursa. After an update to the GDAC, it may take significantly longer.

Thursday, March 8, 2012

Solo II - Mission Parameters

In an effort to facilitate uploading of mission parameters to Solo II floats via Iridium satellite communication, an interactive web module will be integrated into the existing WHOI Argo Database. The primary goal of this module is to offer secure, remote web access to a graphical user interface (GUI) layer for the existing command-line oriented Iridium message uploading process. In addition, reported mission parameters will be browsable from from the web application.

Mission Parameter Data Flow
Iridium messages are processed upon receipt to produce readable flat text files. Theses files are parsed by a Java application to generate several Java objects corresponding to Solo II mission parameters. The Java object are mapped and saved to relational database tables.
Figure 1: Solo II - Mission Parameter Data Flow
An Apache Tomcat server is used as a Java Servlet container. Each Java Servlet is mapped to a particular URL path and is responsible for handling all HTTP POST and GET requests to that path. Upon receipt of a HTTP request, a Java Servlet will perform some work (e.g. processing request parameters, perform database queries), and generate an HTML document in response.