![]() |
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
![]() |
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
|
Background
At Dauphin Island Sea Lab (DISL), environmental monitoring data is housed on a SQL 2005 server. A web server (Cold Fusion) resides on a Linux box (Centos 5.2 Final) . This web server accesses the SQL 2005 server to send environmental monitoring data in xml format to Nation Data Buoy Center, and to allow users to download data from the DISL website. This web server is where the implementation of the SOS cookbook took place. Planning I read the documentation on the OOSTethys website (http://www.oostethys.org/downloads/s...perl-cookbook/). I contacted Eric Bridger about how to start. He said that most Linux server had Perl by default, but before downloading anything, I should find out if the Perl module had be installed on the web server. I found on the internet that one could install Perl modules on Windows machines too. To find out if Perl was on the Linux server, I uploaded a simple script “test.pl” that Eric sent to me. I ran the script at command prompt: [root]perl test.pl I got an error message saying that “Can't locate XML/LibXML.pm in @INC.” Eric suggested to install the “XML::LibXML” perl module from CPAN. I contacted the system administrator and the “XML::LibXML” perl module was installed. After that I was able to run the “test.pl” script . The next step was to download the SOS Server CGI Cookbook (ASCII) from the OOSTethys website. I had problem upzipping the package. It turned out that it was an Internet Explorer issue. When downloading the zip file using Firefox, I was able to upzip it. Implementation A url was created: http://gcoos.disl.org. A cgi-bin directory (http://gcoos.disl.org/cgi_bin) was created to store all the perl scripts and the xml files. I first tested the “GetCapabilities” page at http://gcoos.disl.org/cgi-bin/oostet...etCapabilities . The page displayed the default information in the sosGetCapabilities.xml. Next was to pick a parameter as the first observation to be tested by the SOS server. I chose salinity from Dauphin Island Station. First step was to update the sos_config.xml file with the parameter info. Then I wrote a program in Cold Fusion (a script language that creates dynamic web pages) to create a salinity data file “disl_salinity.txt” using the format listed on the OOSTethys website. This file was updated every 30 minutes. I opened up the page http://gcoos.disl.org/cgi-bin/oostet...water_salinity It displayed the observation correctly. I had to try the observedProperty using different words because the example on the OOSTethys website, “salinity” was not the correct parameter name. The correct name should be “sea_water_salinity.” I emailed Eric to tell him that parameter salinity was ready. He added Dauphin Island station and salinity to his system. An hour later, Dauphin Island Station showed up on the OpenIOOS website, with real time salinity data displayed. I later added sea water temperature, dissolved oxygen, air temperature, wind speed, and wind from direction from Dauphin Island Station to sos_config.xml, and built the program to create data files for each of the above parameters. Emailed Eric again. He added the parameters to the OpenIOOS system. Now when clicking on the green dot representing Dauphin Island Station on the OpenIOOS website, all parameters were available. Meaher Park and Middle Bay Light stations were added following the same steps. Real time observation from all three stations operated by Dauphin Island Sea Lab is available at: http://www.openioos.org/real_time_data/gm_sos.html Conclusion The implementation process is not difficult. However if one is not a Perl programmer, getting error messages when testing the Perl module could be confusing and frustrating. Fortunately, Eric was very helpful all the time. When testing the sosDecribeSensor page, I got several bugs, which Eric corrected quickly. The major programming on the node participant’s side would be to write a program that can create the text data files for each observation parameter. All text files need to updated every 30 or 60 minutes. I was able to complete the implementation of three stations in the month of November, while working on other tasks required at the sea lab. Lei Hu |
|
#2
|
|||
|
|||
|
Lei,
We have also implemented the ASCII version of Eric Bridger's perl SOS script at CenGOOS (USM). We're running Ubuntu 8.04 LTS server as our web/mysql server. (We migrated from a much older version of Fedora Core.) I believe the only additional package I had to install was libxml-libxml-perl which is a perl module in the Ubuntu repositories. The install was simple and Eric did a great job helping with the one minor issue we had. We're serving one parameter and intend to add the rest before the end of the year. -- Jamie |
|
#3
|
|||
|
|||
|
Hi Jamie,
Yes the installation is pretty simple. I think I got a little bit confused at first because I was a Perl illiterate. Eric was great in guilding me through. Once you got the first parameter working, the rest was easy. Lei |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|