Weather-NOAA-GFS
view release on metacpan or search on metacpan
lib/Weather/NOAA/GFS.pm view on Meta::CPAN
use Weather::NOAA::GFS;
# define parameters
my %params = (
'minlon' => -5,# mandatory
'maxlon' => 45,# mandatory
'minlat' => 30,# mandatory
'maxlat' => 50,# mandatory
'mail_anonymous' => 'my@mail.org',# mandatory to log NOAA ftp server
'gradsc_path' => 'gradsc',# mandatory, needed to create maps
'wgrib_path' => 'wgrib',# mandatory, needed to process NOAA GRIB files
'timeout'=> '30',#mandatory timeout in minute
'debug' => 1, # 0 no output - 1 output
'logfile' => 'weather-noaa-gfs.log',# optional
'cbarn_path' => 'cbarn.gs', #optional, needed to print image legend
'r_path' => 'R',# optional, needed to downscale
'server_list' => 'nomad3.ncep.noaa.gov,nomad5.ncep.noaa.gov',#optional, server list to choose from
);
# instantiate a new NOAA::GFS object
my $weather_gfs = Weather::NOAA::GFS->new(%params);
#download Grib files for your area
if($weather_gfs->downloadGribFiles()){
print "downloadGribFiles done!!!";
} else {
print "Error: downloadGribFiles had problems!!!";
die;
}
#transform Grib files to Ascii files (needs GrADS's wgrib)
if($weather_gfs->grib2ascii()){
print "grib2ascii succeded!!!";
} else {
print "Error: grib2ascii had problems!!!";
die;
}
#transform Ascii files to IDRISI files
if($weather_gfs->ascii2idrisi()){
print "ascii2idrisi succeded!!!";
} else {
print "Error: ascii2idrisi had problems!!!";
die;
}
#Downscale to 0.1 degrees the IDRISI files (needs R)
#Execution time has a sensible increase (x3 ca.)
if($weather_gfs->idrisiDownscale()){
print "idrisiDownscale succeded!!!";
} else {
print "idrisiDownscale had problems!!!";
die;
}
#itransform Idrisi files to Png images (needs GrADS's gradsc)
if($weather_gfs->idrisi2png()){
print "idrisi2png succeded!!!";
} else {
print "Error: idrisi2png had problems!!!";
die;
}
#Delete files you don't need
my @typesToDelete = (
"grib",
"temp",
#"png",
"idrisi",
);
$weather_gfs->cleanUp(@typesToDelete);
=head1 DESCRIPTION
This module produces regional forecast weather maps from NOAA GFS site (http://nomad2.ncep.noaa.gov/ncep_data/). It
downloads rough data, transforms it into IDRISI (binary GIS format) and then
in PNG maps. Output maps are for temperature, relative humidity,
zonal wind, pressure and rainfall precipitation. The module requires
some extra software installed: GrADS (mandatory)
(http://grads.iges.org/grads/grads.html) to create PNG output and R
(optional) (http://www.r-project.org/) to downscale the 1 degree
resolution to 0.1 degree.
IDRISI and PNG outputs for:
daily rainfalls for seven days;
7 days rainfalls agregated;
pressure agregated average for 7 at surface level;
relative umidity agregated average for 7 days at 1000mb, 925mb, 850mb levels;
temperature agregated average for 7 days at 1000mb, 925mb, 850mb and surface levels;
wind agregated average for 7 days at 1000mb, 925mb, 850mb levels.
=head1 SEE ALSO
Software needed:
GrADS - http://grads.iges.org/grads/grads.html
used: wgrib, gradsc. Need cbarn.gs
R - http://www.r-project.org/
add module GStat
=head1 AUTHORS
Alfonso Crisci, E<lt>crisci@ibimet.cnr.itE<gt>
Valerio Capecchi, E<lt>capecchi@ibimet.cnr.itE<gt>
Lorenzo Becchi, E<lt>lorenzo@ominiverdi.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2004 by Lorenzo Becchi
( run in 1.834 second using v1.01-cache-2.11-cpan-39bf76dae61 )