#!/usr/bin/perl
###################################################
## ##
## by Michael Fewings ##
## 8th May 1999 ##
## michael@_remove-this_strikeone.com.au ##
## ##
###################################################
## These files may be copied and modified if ##
## this header remains intact. You may not re- ##
## distribute this script unless you have ##
## written permission directly from me. ##
###################################################
$dte = localtime();
$thiscgi = "http://strikeone.com.au/fnmoc/fnmoc.cgi";
require "fnmoclib.pl";
&parse;
#this is my own routine for converting time form the unix clock into the form that i need it for
#updating once or twice a day at certain times
#get rid of spaces in the time variable and convert them to colons
$dte =~ s/( )/:/g;
$dte =~ s/( )/:/g;
#split up the string into the separate parts
($day_of_week,$month,$day_date,$hour,$minute,$second,$year) = split(/\:/,$dte);
#Change the alpha representation of months to numerical
$month =~ s/(Jan)/01/g;
$month =~ s/(Feb)/02/g;
$month =~ s/(Mar)/03/g;
$month =~ s/(Apr)/04/g;
$month =~ s/(May)/05/g;
$month =~ s/(Jun)/06/g;
$month =~ s/(Jul)/07/g;
$month =~ s/(Aug)/08/g;
$month =~ s/(Sep)/09/g;
$month =~ s/(Oct)/10/g;
$month =~ s/(Nov)/11/g;
$month =~ s/(Dec)/12/g;
#since the local time is ahead of UTC and the update time then me need to be able to go back a day or a
#month or a year if it is the first of the month or forst of the year or what ever
if($hour lt "14" && $day_date eq "1") {
if($month eq "01") { $month = "12"; $year = $year - 1; $day_date = "32"; }
elsif($month eq "02") { $month = "01"; $day_date = "32"; }
elsif($month eq "03") { $month = "02"; if($year eq "2000" || $year eq "2004") { $day_date = "30"; } else { $day_date = "29"; } }
elsif($month eq "04") { $month = "03"; $day_date = "32"; }
elsif($month eq "05") { $month = "04"; $day_date = "31"; }
elsif($month eq "06") { $month = "05"; $day_date = "32"; }
elsif($month eq "07") { $month = "06"; $day_date = "31"; }
elsif($month eq "08") { $month = "07"; $day_date = "32"; }
elsif($month eq "09") { $month = "08"; $day_date = "32"; }
elsif($month eq "10") { $month = "09"; $day_date = "31"; }
elsif($month eq "11") { $month = "10"; $day_date = "32"; }
elsif($month eq "12") { $month = "11"; $day_date = "32"; }
else { print "No Date"; }
}
$month_mrf = $month;
$year_mrf = $year;
$day_date_mrf = $day_date;
if($hour lt "02" && $day_date_mrf eq "2") {
if($month eq "01") { $month_mrf = "12"; $year_mrf = $year_mrf - 1; $day_date_mrf = "33"; }
elsif($month eq "02") { $month_mrf = "01"; $day_date_mrf = "33"; }
elsif($month eq "03") { $month_mrf = "02"; if($year_mrf eq "2000" || $year_mrf eq "2004") { $day_date_mrf = "31"; } else { $day_date_mrf = "30"; } }
elsif($month eq "04") { $month_mrf = "03"; $day_date_mrf = "33"; }
elsif($month eq "05") { $month_mrf = "04"; $day_date_mrf = "32"; }
elsif($month eq "06") { $month_mrf = "05"; $day_date_mrf = "33"; }
elsif($month eq "07") { $month_mrf = "06"; $day_date_mrf = "32"; }
elsif($month eq "08") { $month_mrf = "07"; $day_date_mrf = "33"; }
elsif($month eq "09") { $month_mrf = "08"; $day_date_mrf = "33"; }
elsif($month eq "10") { $month_mrf = "09"; $day_date_mrf = "32"; }
elsif($month eq "11") { $month_mrf = "10"; $day_date_mrf = "33"; }
elsif($month eq "12") { $month_mrf = "11"; $day_date_mrf = "33"; }
else { print "No Date"; }
}
#sets for how long the utc hour in the enevitable url stays on its number and when it updates
$mrf_utc_time = "00";
if($hour gt "01" && $hour lt "14") { $day_date = $day_date - 1; $utc_time = "12"; $day_date_mrf = $day_date_mrf - 1; }
if($hour lt "02") { $day_date = $day_date - 1; $utc_time = "00"; $day_date_mrf = $day_date_mrf - 2; }
if($hour gt "13") { $utc_time = "00"; $day_date_mrf = $day_date_mrf - 1; }
#puts a zero in front of the single numbers of date
if($day_date == 1) { $day_date = "01"; }
if($day_date == 2) { $day_date = "02"; }
if($day_date == 3) { $day_date = "03"; }
if($day_date == 4) { $day_date = "04"; }
if($day_date == 5) { $day_date = "05"; }
if($day_date == 6) { $day_date = "06"; }
if($day_date == 7) { $day_date = "07"; }
if($day_date == 8) { $day_date = "08"; }
if($day_date == 9) { $day_date = "09"; }
if($day_date_mrf == 1) { $day_date_mrf = "01"; }
if($day_date_mrf == 2) { $day_date_mrf = "02"; }
if($day_date_mrf == 3) { $day_date_mrf = "03"; }
if($day_date_mrf == 4) { $day_date_mrf = "04"; }
if($day_date_mrf == 5) { $day_date_mrf = "05"; }
if($day_date_mrf == 6) { $day_date_mrf = "06"; }
if($day_date_mrf == 7) { $day_date_mrf = "07"; }
if($day_date_mrf == 8) { $day_date_mrf = "08"; }
if($day_date_mrf == 9) { $day_date_mrf = "09"; }
#sets the scalar variable for the time in the part of the url its needed
$hour12 = qq[$year$month$day_date$utc_time];
$hour24 = qq[$year_mrf$month_mrf$day_date_mrf$mrf_utc_time];
$avn_urlb = qq[FNMOC--AVN MRF NGP
| 300 hPa | 500 hPa | 850 hPa | Surface/precip |
|
$avn_urlb$hour12/avn10.w30.000.$urle>00 Hours $avn_urlb$hour12/avn10.w30.012.$urle>12 Hours $avn_urlb$hour12/avn10.w30.024.$urle>24 hours $avn_urlb$hour12/avn10.w30.036.$urle>36 hours $avn_urlb$hour12/avn10.w30.048.$urle>48 hours $avn_urlb$hour12/avn10.w30.060.$urle>60 hours $avn_urlb$hour12/avn10.w30.072.$urle>72 hours All Times |
$avn_urlb$hour12/avn10.500.000.$urle>00 hours $avn_urlb$hour12/avn10.500.012.$urle>12 hours $avn_urlb$hour12/avn10.500.024.$urle>24 hours $avn_urlb$hour12/avn10.500.036.$urle>36 hours $avn_urlb$hour12/avn10.500.048.$urle>48 hours $avn_urlb$hour12/avn10.500.060.$urle>60 hours $avn_urlb$hour12/avn10.500.072.$urle>72 hours All Times |
$avn_urlb$hour12/avn10.850.000.$urle>00 hours $avn_urlb$hour12/avn10.850.012.$urle>12 hours $avn_urlb$hour12/avn10.850.024.$urle>24 hours $avn_urlb$hour12/avn10.850.036.$urle>36 hours $avn_urlb$hour12/avn10.850.048.$urle>48 hours $avn_urlb$hour12/avn10.850.060.$urle>60 hours $avn_urlb$hour12/avn10.850.072.$urle>72 hours All Times |
$avn_urlb$hour12/avn10.prp.000.$urle>00 hours $avn_urlb$hour12/avn10.prp.012.$urle>12 hours $avn_urlb$hour12/avn10.prp.024.$urle>24 hours $avn_urlb$hour12/avn10.prp.036.$urle>36 hours $avn_urlb$hour12/avn10.prp.048.$urle>48 hours $avn_urlb$hour12/avn10.prp.060.$urle>60 hours $avn_urlb$hour12/avn10.prp.072.$urle>72 hours All Times |
| 300 hPa | 500 hPa | 850 hPa | Surface/precip |
|
$mrf_urlb$hour24/mrf10.w30.000.$urle>00 hours $mrf_urlb$hour24/mrf10.w30.012.$urle>12 hours $mrf_urlb$hour24/mrf10.w30.024.$urle>24 hours $mrf_urlb$hour24/mrf10.w30.036.$urle>36 hours $mrf_urlb$hour24/mrf10.w30.048.$urle>48 hours $mrf_urlb$hour24/mrf10.w30.060.$urle>60 hours $mrf_urlb$hour24/mrf10.w30.072.$urle>72 hours $mrf_urlb$hour24/mrf10.w30.084.$urle>84 hours $mrf_urlb$hour24/mrf10.w30.096.$urle>96 hours $mrf_urlb$hour24/mrf10.w30.108.$urle>108 hours $mrf_urlb$hour24/mrf10.w30.120.$urle>120 hours $mrf_urlb$hour24/mrf10.w30.132.$urle>132 hours $mrf_urlb$hour24/mrf10.w30.144.$urle>144 hours All Times |
$mrf_urlb$hour24/mrf10.500.000.$urle>00 hours $mrf_urlb$hour24/mrf10.500.012.$urle>12 hours $mrf_urlb$hour24/mrf10.500.024.$urle>24 hours $mrf_urlb$hour24/mrf10.500.036.$urle>36 hours $mrf_urlb$hour24/mrf10.500.048.$urle>48 hours $mrf_urlb$hour24/mrf10.500.060.$urle>60 hours $mrf_urlb$hour24/mrf10.500.072.$urle>72 hours $mrf_urlb$hour24/mrf10.500.084.$urle>84 hours $mrf_urlb$hour24/mrf10.500.096.$urle>96 hours $mrf_urlb$hour24/mrf10.500.108.$urle>108 hours $mrf_urlb$hour24/mrf10.500.120.$urle>120 hours $mrf_urlb$hour24/mrf10.500.132.$urle>132 hours $mrf_urlb$hour24/mrf10.500.144.$urle>144 hours All Times |
$mrf_urlb$hour24/mrf10.850.000.$urle>00 hours $mrf_urlb$hour24/mrf10.850.012.$urle>12 hours $mrf_urlb$hour24/mrf10.850.024.$urle>24 hours $mrf_urlb$hour24/mrf10.850.036.$urle>36 hours $mrf_urlb$hour24/mrf10.850.048.$urle>48 hours $mrf_urlb$hour24/mrf10.850.060.$urle>60 hours $mrf_urlb$hour24/mrf10.850.072.$urle>72 hours $mrf_urlb$hour24/mrf10.850.084.$urle>84 hours $mrf_urlb$hour24/mrf10.850.096.$urle>96 hours $mrf_urlb$hour24/mrf10.850.108.$urle>108 hours $mrf_urlb$hour24/mrf10.850.120.$urle>120 hours $mrf_urlb$hour24/mrf10.850.132.$urle>132 hours $mrf_urlb$hour24/mrf10.850.144.$urle>144 hours All Times | $mrf_urlb$hour24/mrf10.prp.000.$urle>00 hours $mrf_urlb$hour24/mrf10.prp.012.$urle>12 hours $mrf_urlb$hour24/mrf10.prp.024.$urle>24 hours $mrf_urlb$hour24/mrf10.prp.036.$urle>36 hours $mrf_urlb$hour24/mrf10.prp.048.$urle>48 hours $mrf_urlb$hour24/mrf10.prp.060.$urle>60 hours $mrf_urlb$hour24/mrf10.prp.072.$urle>72 hours $mrf_urlb$hour24/mrf10.prp.084.$urle>84 hours $mrf_urlb$hour24/mrf10.prp.096.$urle>96 hours $mrf_urlb$hour24/mrf10.prp.108.$urle>108 hours $mrf_urlb$hour24/mrf10.prp.120.$urle>120 hours $mrf_urlb$hour24/mrf10.prp.132.$urle>132 hours $mrf_urlb$hour24/mrf10.prp.144.$urle>144 hours All Times |
| 300 hPa | 500 hPa | 850 hPa | Surface/precip |
|
$ngp_urlb$hour12/ngp10.w30.000.$urle>00 hours $ngp_urlb$hour12/ngp10.w30.012.$urle>12 hours $ngp_urlb$hour12/ngp10.w30.024.$urle>24 hours $ngp_urlb$hour12/ngp10.w30.036.$urle>36 hours $ngp_urlb$hour12/ngp10.w30.048.$urle>48 hours $ngp_urlb$hour12/ngp10.w30.060.$urle>60 hours $ngp_urlb$hour12/ngp10.w30.072.$urle>72 hours $ngp_urlb$hour12/ngp10.w30.084.$urle>84 hours $ngp_urlb$hour12/ngp10.w30.096.$urle>96 hours $ngp_urlb$hour12/ngp10.w30.108.$urle>108 hours $ngp_urlb$hour12/ngp10.w30.120.$urle>120 hours $ngp_urlb$hour12/ngp10.w30.132.$urle>132 hours $ngp_urlb$hour12/ngp10.w30.144.$urle>144 hours All Times |
$ngp_urlb$hour12/ngp10.500.000.$urle>00 hours $ngp_urlb$hour12/ngp10.500.012.$urle>12 hours $ngp_urlb$hour12/ngp10.500.024.$urle>24 hours $ngp_urlb$hour12/ngp10.500.036.$urle>36 hours $ngp_urlb$hour12/ngp10.500.048.$urle>48 hours $ngp_urlb$hour12/ngp10.500.060.$urle>60 hours $ngp_urlb$hour12/ngp10.500.072.$urle>72 hours $ngp_urlb$hour12/ngp10.500.084.$urle>84 hours $ngp_urlb$hour12/ngp10.500.096.$urle>96 hours $ngp_urlb$hour12/ngp10.500.108.$urle>108 hours $ngp_urlb$hour12/ngp10.500.120.$urle>120 hours $ngp_urlb$hour12/ngp10.500.132.$urle>132 hours $ngp_urlb$hour12/ngp10.500.144.$urle>144 hours All Times |
$ngp_urlb$hour12/ngp10.850.000.$urle>00 hours $ngp_urlb$hour12/ngp10.850.012.$urle>12 hours $ngp_urlb$hour12/ngp10.850.024.$urle>24 hours $ngp_urlb$hour12/ngp10.850.036.$urle>36 hours $ngp_urlb$hour12/ngp10.850.048.$urle>48 hours $ngp_urlb$hour12/ngp10.850.060.$urle>60 hours $ngp_urlb$hour12/ngp10.850.072.$urle>72 hours $ngp_urlb$hour12/ngp10.850.084.$urle>84 hours $ngp_urlb$hour12/ngp10.850.096.$urle>96 hours $ngp_urlb$hour12/ngp10.850.108.$urle>108 hours $ngp_urlb$hour12/ngp10.850.120.$urle>120 hours $ngp_urlb$hour12/ngp10.850.132.$urle>132 hours $ngp_urlb$hour12/ngp10.850.144.$urle>144 hours All Times |
$ngp_urlb$hour12/ngp10.prp.000.$urle>00 hours $ngp_urlb$hour12/ngp10.prp.012.$urle>12 hours $ngp_urlb$hour12/ngp10.prp.024.$urle>24 hours $ngp_urlb$hour12/ngp10.prp.036.$urle>36 hours $ngp_urlb$hour12/ngp10.prp.048.$urle>48 hours $ngp_urlb$hour12/ngp10.prp.060.$urle>60 hours $ngp_urlb$hour12/ngp10.prp.072.$urle>72 hours $ngp_urlb$hour12/ngp10.prp.084.$urle>84 hours $ngp_urlb$hour12/ngp10.prp.096.$urle>96 hours $ngp_urlb$hour12/ngp10.prp.108.$urle>108 hours $ngp_urlb$hour12/ngp10.prp.120.$urle>120 hours $ngp_urlb$hour12/ngp10.prp.132.$urle>132 hours $ngp_urlb$hour12/ngp10.prp.144.$urle>144 hours All Times |
