The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Geo::METAR::Deduced - deduce aviation information from parsed METAR data

VERSION

This document describes Geo::METAR::Deduced v1.0.1.

SYNOPSIS

    use Geo::METAR::Deduced;
    $m = new Geo::METAR::Deduced;
    $m->metar("KFDY 251450Z 21012G21KT 8SM OVC065 04/M01 A3010 RMK 57014");
    $m->alt();
    $m->pressure();
    $m->date();
    $m->dew();
    $m->ice_crystals();
    $m->mode();
    $m->temp();
    $m->time();
    $m->ceiling();
    $m->flight_rule();
    $m->wind_dir();
    $m->wind_speed();
    $m->wind_gust();
    $m->wind_var();
    $m->wind_high();
    $m->wind_low();
    $m->snow();
    $m->dust();
    $m->rain();
    $m->ice_pellets();
    $m->drizzle();
    $m->funnel_cloud();
    $m->hail();
    $m->squalls();
    $m->partial();
    $m->patches();
    $m->dust_storm();
    $m->small_hail_snow_pellets();
    $m->volcanic_ash();
    $m->freezing();
    $m->fog();
    $m->spray();
    $m->mist();
    $m->fog_banks();
    $m->shallow();
    $m->sand();
    $m->sand_storm();
    $m->smoke();
    $m->haze();
    $m->shower();
    $m->dust_sand_whirls();
    $m->thunderstorm();
    $m->snow_grains();
    $m->blowing();
    $m->unknown_precip();
    $m->visibility();

DESCRIPTION

Get information from METAR that isn't explicitly in the METAR.

SUBROUTINES/METHODS

Methods that return a measurement return that as a Class::Measure::Scientific::FX_992vb object so the value can be converted to other units, like from feet to meters or from miles to kilometers.

Geo::METAR::Deduced->new()

Constructs a new Geo::METAR::Deduced object.

$m->metar()

Gets or sets the METAR string.

$m->mode()

Returns the METAR mode.

$m->date()

Returns the day of the month of the METAR. It doesn't return a date object because we don't want to make the implied month and year explicit.

$m->time()

Returns the time of the METAR as string. It doesn't return a date object because we don't want to make the implied month and year explicit.

$m->ceiling()

Returns the ceiling based on cloud level or vertical visibility data as measurement.

$m->visibility()

Returns the visibility as measurement.

$m->flight_rule()

Returns the flight rule based on ceiling and visibility as 0 for low IFR, 1 for IFR, 2 for marginal VFR and 3 for VFR.

$m->alt()

Returns the altimeter setting as pressure measurement.

$m->pressure()

Returns the pressure as measurement.

$m->dew()

Returns the dew temperature as measurement.

$m->temp()

Returns the temperature as measurement.

$m->wind_dir()

Returns the wind direction as angle measurement.

$m->wind_dir_eng()

Returns the wind direction in English, like Northwest.

$m->wind_dir_abb()

Returns the wind direction abbreviation in English, like NW.

$m->wind_speed()

Returns the wind speed as speed measurement.

$m->wind_gust()

Returns the wind gust speed as speed measurement.

$m->wind_var()

Returns if the wind is varying.

$m->wind_high()

Returns the highest direction of the varying wind as angle measurement.

$m->wind_low()

Returns the lowest direction of the varying wind as angle measurement.

Weather types

The following weather types return 0 when they are not observed, 1 when in a light condition, 2 for a normal condition and 3 for heavy:

$m->snow()
$m->dust()
$m->rain()
$m->ice_crystals()
$m->ice_pellets()
$m->drizzle()
$m->funnel_cloud()
$m->hail()
$m->squalls()
$m->partial()
$m->patches()
$m->dust_storm()
$m->small_hail_snow_pellets()
$m->volcanic_ash()
$m->freezing()
$m->fog()
$m->spray()
$m->mist()
$m->fog_banks()
$m->shallow()
$m->sand()
$m->sand_storm()
$m->smoke()
$m->haze()
$m->shower()
$m->dust_sand_whirls()
$m->thunderstorm()
$m->snow_grains()
$m->blowing()
$m->unknown_precip()

CONFIGURATION AND ENVIRONMENT

None.

DEPENDENCIES

INCOMPATIBILITIES

This module has the same limitations as Geo::METAR. We suspect there is also an incompatibility with a threaded version of perl 5.22.1.

DIAGNOSTICS

This module uses Log::Log4perl for logging.

BUGS AND LIMITATIONS

There is still plenty to deduce from the format that METAR has to offer in it's fullest form.

Please report any bugs or feature requests at Bitbucket .

AUTHOR

Roland van Ipenburg, <roland@rolandvanipenburg.com>

LICENSE AND COPYRIGHT

Copyright 2020-2021 by Roland van Ipenburg This program is free software; you can redistribute it and/or modify it under the GNU General Public License v3.0.

DISCLAIMER OF WARRANTY

BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENSE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.