#!/usr/local/bin/perl #-- -*-perl-*- use CGI; use CGI::Carp; use Date::Manip; use Time::JulianDay; use File::Basename; $|=1; # we want piping hot pipes! @smon=(' ','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'); #init these lists to the months, they'll be replaced along the way. # this is retarded @size=(0,0,0,0,0,0,0,0,0,0,0,0,0); @sfile=@smon; @efile=@smon; $paths = "/Net/data/qscat/data/glob_L2B_1d/"; #print "Content-type: text/html\n\n"; #read the coaps title open(COAPS,"/Net/coaps/httpd/docs/lib/nav/navbar_test.html") or die $!; @coaps=; close(COAPS); opendir DIR, $paths || die "can't open directory: $paths"; %files = (); @years = sort grep(/^[0-9]{4}$/, readdir(DIR)); foreach $year (@years) { opendir YEAR, $paths.$year."/mon"||die "can't open year $year in $paths\n"; push @filesnc, sort grep(/\.nc$/, readdir(YEAR)); $files{$year} = join " ", @filesnc if @filesnc; } closedir(DIR); print qq( QuikSCAT Cross Validated Global Pseudo-Stresses @coaps

COAPS QuikSCAT Global Monthly Pseudo-Stress Vectors


Monthly fields of pseudo-stress are produced using a variational approach (direct minimization) with tuning parameters determined using Generalized Cross-Validation (GCV). These products are on a 1x1° grid. The scatterometer winds, and these gridded winds, are calibrated to a height of 10 m. This approach utilizes the only QuikSCAT observations filtered by the NOF rain flag and should be considered as a research quality data set.

The technique used to make these fields is based on the method of Pegion, P. J., M. A. Bourassa, D. M. Legler, and J. J. O\'Brien, 2000: Objectively-derived daily "winds" from satellite scatterometer data. Mon. Wea. Rev., 128, 3150-3168.


From this interface, you can download individual files, files grouped by year, or the entire collection of gridded QuikSCAT data produced here at COAPS.

These files are in NetCDF format, which can be obtained from UNIDATA.

Routines to read the NetCDF formatted files can be found here.

\n); # We need to sum the files in month-long bits; there are/will be # several years, so we count those, too... $sum = 0; foreach $year (sort @years) { foreach $mon (sort (split ' ',$files{$year})) { $this_mon = -s $paths . $year . "/mon/" . $mon; if ($this_mon) { $size{"$year"} += $this_mon; } # we keep a running total, too: $sum += $this_mon; } } $sum=sprintf "%6.2f mb",$sum/(1024*1024); print qq (

Select to download either a set of files, or a single file.

); print qq( "; ##### print ""; print ""; print "
Set of files Single file
); print qq(

Download entire dataset, or just selected years as a convenient tar file:

Entire Dataset ($sum)
); $check = "checked"; foreach $year (sort keys %size) { #print "----------- $year ------------\n"; print "\t"; print qq( $year ); print "(" . (sprintf "%6.2f kb", $size{$year}/1024) . ")
\n"; $check=''; } print "
\n"; print qq(

Please select one of the following options (compression is highly recommended):

tar\'d file
gzip\'d tar file
compress\'d tar file

); print "

"; print ""; print ""; print "Download an individual uncompressed file: (Only available for mons listed left.)\n"; print ""; print ""; print "


"; print "Year: "; print "\n"; print "Month: "; print "\n"; print "

\n"; ##### print "
"; print qq(
); # open V, "/Net/coaps/httpd/docs/scatterometry/scat_nav_bar.html"; # @v = ; # close V; # print "
\n@v
\n"; print < http://www.coaps.fsu.edu/scatterometry/index.shtml http://www.coaps.fsu.edu/lib/biblio/scatterometry/ http://www.coaps.fsu.edu/ NSCAT Background QuickSCAT Background http://www.coaps.fsu.edu/scatterometry/Nscat/animations.shtml
http://www.coaps.fsu.edu/qscat/anim/
http://www.coaps.fsu.edu/scatterometry/Nscat/still_images.shtml science applications links http://www.coaps.fsu.edu/scatterometry/Nscat/sci_appl.shtml http://www.coaps.fsu.edu/scatterometry/Nscat/swaths.shtml http://www.coaps.fsu.edu/~bourassa/QSCAT_CV/swaths.shtml http://www.coaps.fsu.edu/scatterometry/Nscat/gridded.shtml http://www.coaps.fsu.edu/~bourassa/QSCAT_CV/gridded.shtml http://www.coaps.fsu.edu/~bourassa/scat_html/NSCAT_CV/data_sets.shtml qscat cal/val
NEXT print qq(Last modified 17 July 2000
Feedback - Dr. Mark Bourassa \n);