Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Weather::NOAA::GFS
Perl module for forecast weather maps from NOAA GFS site data

Weather::NOAA::GFS - Perl module for forecast weather maps from NOAA GFS site data


NAME

Weather::NOAA::GFS - Perl module for forecast weather maps from NOAA GFS site data


SYNOPSIS


  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);




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.


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


AUTHORS

Alfonso Crisci, <crisci@ibimet.cnr.it> Valerio Capecchi, <capecchi@ibimet.cnr.it> Lorenzo Becchi, <lorenzo@ominiverdi.com>


COPYRIGHT AND LICENSE

Copyright (C) 2004 by Lorenzo Becchi

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.5 or, at your option, any later version of Perl 5 you may have available.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy