weatherOz for BOM

Using {weatherOz} With BOM Data

Several functions are provided by {weatherOz} to retrieve Australian Bureau of Meteorology (BOM) data. A family of functions retrieve data files from BOM or parse local files from BOM and return data frames;

  • get_precis_forecast() and parse_precis_forecast(), which return the précis (short) forecast;
  • get_ag_bulletin() and parse_ag_bulletin(), which return the agriculture bulletin;
  • get_coastal_forecast() and parse_coastal_forecast(), which return coastal waters forecasts for each state.

Using get_precis_forecast()

This function only takes one argument, state. The state parameter allows the user to select the forecast for just one state or a national forecast. States or territories are specified using the official postal codes or full name with fuzzy matching performed via agrep().

  • ACT - Australian Capital Territory

  • NSW - New South Wales

  • NT - Northern Territory

  • QLD - Queensland

  • SA - South Australia

  • TAS - Tasmania

  • VIC - Victoria

  • WA - Western Australia

  • AUS - Australia, returns national forecast including all states, NT and ACT.

Results

The function, get_precis_forecast(), will return a data frame of the weather forecast for the daily forecast for selected towns. See Appendix 1 for a full description of the fields and values.

Example 1: Getting a Forecast

Following is an example fetching the forecast for Queensland.

library(weatherOz)
(QLD_forecast <- get_precis_forecast(state = "QLD"))
#>   -----------  Australian Bureau of Meteorology (BOM) Precis Forecast. -
#>   The HTML version of Short Form (Precis) Forecast for 
#>   QLD can be found at:
#>   <http://www.bom.gov.au/qld/forecasts/state.shtml>
#>   Please note information at the page 
#>   <http://www.bom.gov.au/catalogue/data-feeds.shtml#precis>.
#>   --------------------------------------------------------------------------------  
#>       index product_id  state         town       aac       lat      lon  elev    start_time_local end_time_local
#>      <fctr>     <char> <char>       <char>    <char>     <num>    <num> <num>              <POSc>         <POSc>
#>   1:      0   IDQ11295    QLD     Brisbane QLD_PT001 -27.48080 153.0389   8.1 2024-10-21 09:22:36     2024-10-22
#>   2:      1   IDQ11295    QLD     Brisbane QLD_PT001 -27.48080 153.0389   8.1 2024-10-22 00:00:00     2024-10-23
#>   3:      2   IDQ11295    QLD     Brisbane QLD_PT001 -27.48080 153.0389   8.1 2024-10-23 00:00:00     2024-10-24
#>   4:      3   IDQ11295    QLD     Brisbane QLD_PT001 -27.48080 153.0389   8.1 2024-10-24 00:00:00     2024-10-25
#>   5:      4   IDQ11295    QLD     Brisbane QLD_PT001 -27.48080 153.0389   8.1 2024-10-25 00:00:00     2024-10-26
#>  ---                                                                                                            
#> 787:      2   IDQ11295    QLD Port Douglas QLD_PT254 -16.48681 145.4635  70.4 2024-10-23 00:00:00     2024-10-24
#> 788:      3   IDQ11295    QLD Port Douglas QLD_PT254 -16.48681 145.4635  70.4 2024-10-24 00:00:00     2024-10-25
#> 789:      4   IDQ11295    QLD Port Douglas QLD_PT254 -16.48681 145.4635  70.4 2024-10-25 00:00:00     2024-10-26
#> 790:      5   IDQ11295    QLD Port Douglas QLD_PT254 -16.48681 145.4635  70.4 2024-10-26 00:00:00     2024-10-27
#> 791:      6   IDQ11295    QLD Port Douglas QLD_PT254 -16.48681 145.4635  70.4 2024-10-27 00:00:00     2024-10-28
#>      utc_offset      start_time_utc        end_time_utc minimum_temperature maximum_temperature
#>          <fctr>              <POSc>              <POSc>               <num>               <num>
#>   1:      10:00 2024-10-20 23:22:36 2024-10-21 14:00:00                  NA                  28
#>   2:      10:00 2024-10-21 14:00:00 2024-10-22 14:00:00                  17                  28
#>   3:      10:00 2024-10-22 14:00:00 2024-10-23 14:00:00                  17                  28
#>   4:      10:00 2024-10-23 14:00:00 2024-10-24 14:00:00                  19                  32
#>   5:      10:00 2024-10-24 14:00:00 2024-10-25 14:00:00                  20                  29
#>  ---                                                                                           
#> 787:      10:00 2024-10-22 14:00:00 2024-10-23 14:00:00                  23                  32
#> 788:      10:00 2024-10-23 14:00:00 2024-10-24 14:00:00                  22                  33
#> 789:      10:00 2024-10-24 14:00:00 2024-10-25 14:00:00                  22                  34
#> 790:      10:00 2024-10-25 14:00:00 2024-10-26 14:00:00                  23                  32
#> 791:      10:00 2024-10-26 14:00:00 2024-10-27 14:00:00                  23                  31
#>      lower_precipitation_limit upper_precipitation_limit           precis probability_of_precipitation
#>                          <num>                     <num>           <char>                        <num>
#>   1:                        NA                        NA   Partly cloudy.                           20
#>   2:                        NA                        NA   Partly cloudy.                           20
#>   3:                        NA                        NA   Partly cloudy.                           20
#>   4:                        NA                        NA   Partly cloudy.                           20
#>   5:                         0                         1    Mostly sunny.                           30
#>  ---                                                                                                  
#> 787:                         0                         1   Partly cloudy.                           30
#> 788:                        NA                        NA    Mostly sunny.                            5
#> 789:                        NA                        NA           Sunny.                           10
#> 790:                         0                         1 Possible shower.                           40
#> 791:                         0                         5   Shower or two.                           50

Using get_ag_bulletin()

get_ag_bulletin() only takes one argument, state. The state parameter allows the user to select the bulletin for just one state or a national forecast. States or territories are specified using the official postal codes or full name with fuzzy matching performed via agrep().

  • NSW - New South Wales

  • NT - Northern Territory

  • QLD - Queensland

  • SA - South Australia

  • TAS - Tasmania

  • VIC - Victoria

  • WA - Western Australia

  • AUS - Australia, returns bulletin for all states and NT.

Results

The function, get_ag_bulletin(), will return a data frame of the agriculture bulletin for selected stations. See Appendix 3 for a full list and description of the fields and values.

Example 2: Getting an Ag Bulletin

Following is an example fetching the ag bulletin for Western Australia.

library(weatherOz)
(WA_bulletin <- get_ag_bulletin(state = "WA"))
#>   -----------  Australian Bureau of Meteorology (BOM) Ag Bulletin. -----------
#>   Please note information at the foot of
#>   <http://www.bom.gov.au/cgi-bin/wrap_fwo.pl?IDW65176.html>,
#>   the HTML version of Agricultural Observations Bulletin for 
#>   WA.  Also see 
#>   <http://www.bom.gov.au/catalogue/observations/about-agricultural.shtml>.
#>   ----------------------------------------------------------------------------  
#>     product_id  state         station   site      obs_time_local        obs_time_utc time_zone     r    tn    tx
#>         <fctr> <char>          <char> <fctr>              <POSc>              <POSc>    <char> <num> <num> <num>
#>  1:   IDW65176     WA        Beverley  10515 2024-10-21 09:00:00 2024-10-21 01:00:00       WST   0.0   5.2  26.8
#>  2:   IDW65176     WA        Brookton  10524 2024-10-21 09:00:00 2024-10-21 01:00:00       WST   0.0   4.0  25.4
#>  3:   IDW65176     WA          Broome  03003 2024-10-21 09:00:00 2024-10-21 01:00:00       WST   0.0  25.8  32.2
#>  4:   IDW65176     WA       Carnarvon  06011 2024-10-21 09:00:00 2024-10-21 01:00:00       WST   0.0  17.7  25.1
#>  5:   IDW65176     WA        Corrigin  10536 2024-10-21 09:00:00 2024-10-21 01:00:00       WST    NA   5.0  29.0
#> ---                                                                                                             
#> 30:   IDW65176     WA  Salmon Gums RS  12071 2024-10-21 09:00:00 2024-10-21 01:00:00       WST   0.0  10.9  37.9
#> 31:   IDW65176     WA           Wagin  10647 2024-10-21 09:00:00 2024-10-21 01:00:00       WST   2.2   5.1  24.0
#> 32:   IDW65176     WA       Wandering  10917 2024-10-21 09:00:00 2024-10-21 01:00:00       WST   2.0   4.4  23.1
#> 33:   IDW65176     WA Wongan Hills RS  08137 2024-10-21 09:00:00 2024-10-21 01:00:00       WST   0.8  10.0  26.5
#> 34:   IDW65176     WA            York  10311 2024-10-21 09:00:00 2024-10-21 01:00:00       WST   0.0   4.8  26.0
#>       twd    ev    tg    sn  solr    t5   t10   t20   t50   t1m    wr
#>     <num> <num> <num> <num> <num> <num> <num> <num> <num> <num> <num>
#>  1:   3.4    NA    NA    NA  15.7    NA    NA    NA    NA    NA    NA
#>  2:   4.8    NA    NA    NA  15.7    NA    NA    NA    NA    NA    NA
#>  3:   4.4    NA    NA    NA  27.8    NA    NA    NA    NA    NA    NA
#>  4:   5.3    NA    NA    NA  23.4    NA    NA    NA    NA    NA    NA
#>  5:   2.0    NA    NA    NA  16.9    NA    NA    NA    NA    NA    NA
#> ---                                                                  
#> 30:    NA    NA    NA    NA  21.6    NA    NA    NA    NA    NA    NA
#> 31:   4.2    NA   4.6    NA  14.4    NA    NA    NA    NA    NA    NA
#> 32:    NA    NA    NA    NA  14.3    NA    NA    NA    NA    NA    NA
#> 33:   2.7    NA   8.6    NA  20.2    NA    NA    NA    NA    NA    NA
#> 34:   4.0    NA    NA    NA  15.2    NA    NA    NA    NA    NA    NA

Using get_coastal_forecast()

This function only takes one argument, state. The state parameter allows the user to select the forecast for just one state or a national forecast. States or territories are specified using the official postal codes or full name with fuzzy matching performed via agrep()

  • ACT - Australian Capital Territory

  • NSW - New South Wales

  • NT - Northern Territory

  • QLD - Queensland

  • SA - South Australia

  • TAS - Tasmania

  • VIC - Victoria

  • WA - Western Australia

  • AUS - Australia, returns national forecast including all states, NT and ACT.

Results

The function, get_coastal_forecast(), will return a data frame of the coastal waters forecast for marine zones in each state. See Appendix 6 for a full description of the fields and values.

Example 3: Getting a Coastal Forecast

Following is an example fetching the forecast for Queensland.

library(weatherOz)
(QLD_coastal_forecast <- get_coastal_forecast(state = "QLD"))
#>   -------  Australian Bureau of Meteorology (BOM) Coastal Waters Forecast. -------
#>   Please note information at the foot of
#>   <http://www.bom.gov.au/cgi-bin/wrap_fwo.pl?IDQ11290.html>,
#>   the HTML version of Coastal Waters Forecast for 
#>   QLD.
#>   Also see 
#>   <http://www.bom.gov.au/catalogue/observations/about-coastal-observations.shtml>.
#>   --------------------------------------------------------------------------------  
#>      index product_id   type state_code                                                      dist_name pt_1_name
#>     <fctr>     <char> <char>     <char>                                                         <char>    <char>
#>  1:   <NA>   IDQ11290   <NA>        QLD                                                     Queensland      <NA>
#>  2:   <NA>   IDQ11290   <NA>        QLD                                 Queensland Gulf of Carpentaria      <NA>
#>  3:   <NA>   IDQ11290   <NA>        QLD                                               North Queensland      <NA>
#>  4:   <NA>   IDQ11290   <NA>        QLD                                               South Queensland      <NA>
#>  5:      0   IDQ11290   <NA>        QLD South East Gulf of Carpentaria: QLD-NT Border to Cape Keerweer      <NA>
#> ---                                                                                                             
#> 45:      1   IDQ11290   <NA>        QLD                Gold Coast Waters: Cape Moreton to Point Danger      <NA>
#> 46:      2   IDQ11290   <NA>        QLD                Gold Coast Waters: Cape Moreton to Point Danger      <NA>
#> 47:      0   IDQ11290   <NA>        QLD                             Great Barrier Reef Offshore Waters      <NA>
#> 48:      1   IDQ11290   <NA>        QLD                             Great Barrier Reef Offshore Waters      <NA>
#> 49:      2   IDQ11290   <NA>        QLD                             Great Barrier Reef Offshore Waters      <NA>
#>     pt_2_name       aac    start_time_local      end_time_local utc_offset      start_time_utc
#>        <char>    <char>              <POSc>              <POSc>     <fctr>              <POSc>
#>  1:      <NA> QLD_FA001 2024-10-21 10:30:10 2024-10-21 10:30:10      10:00 2024-10-21 10:30:10
#>  2:      <NA> QLD_FA002 2024-10-21 05:00:00 2024-10-21 05:00:00      10:00 2024-10-21 05:00:00
#>  3:      <NA> QLD_FA003 2024-10-21 05:00:00 2024-10-21 05:00:00      10:00 2024-10-21 05:00:00
#>  4:      <NA> QLD_FA004 2024-10-21 05:00:00 2024-10-21 05:00:00      10:00 2024-10-21 05:00:00
#>  5:      <NA> QLD_MW001 2024-10-21 09:22:24 2024-10-21 09:22:24      10:00 2024-10-21 09:22:24
#> ---                                                                                           
#> 45:      <NA> QLD_MW014 2024-10-22 00:00:00 2024-10-22 00:00:00      10:00 2024-10-22 00:00:00
#> 46:      <NA> QLD_MW014 2024-10-23 00:00:00 2024-10-23 00:00:00      10:00 2024-10-23 00:00:00
#> 47:      <NA> QLD_MW015 2024-10-21 05:00:00 2024-10-21 05:00:00      10:00 2024-10-21 05:00:00
#> 48:      <NA> QLD_MW015 2024-10-22 00:00:00 2024-10-22 00:00:00      10:00 2024-10-22 00:00:00
#> 49:      <NA> QLD_MW015 2024-10-23 00:00:00 2024-10-23 00:00:00      10:00 2024-10-23 00:00:00
#>            end_time_utc                                                                          forecast_seas
#>                  <POSc>                                                                                 <char>
#>  1: 2024-10-21 10:30:10                                                                                   <NA>
#>  2: 2024-10-21 05:00:00                                                                                   <NA>
#>  3: 2024-10-21 05:00:00                                                                                   <NA>
#>  4: 2024-10-21 05:00:00                                                                                   <NA>
#>  5: 2024-10-21 09:22:24 Around 1 metre, increasing to 1 to 1.5 metres south of Kowanyama during the afternoon.
#> ---                                                                                                           
#> 45: 2024-10-22 00:00:00                            1 to 2 metres, decreasing to 1 to 1.5 metres around midday.
#> 46: 2024-10-23 00:00:00                                                                         Below 1 metre.
#> 47: 2024-10-21 05:00:00                                                                         Below 1 metre.
#> 48: 2024-10-22 00:00:00                                                                         Below 1 metre.
#> 49: 2024-10-23 00:00:00                                                                         Below 1 metre.
#>                                                             forecast_weather
#>                                                                       <char>
#>  1:                                                                     <NA>
#>  2:                                                                     <NA>
#>  3:                                                                     <NA>
#>  4:                                                                     <NA>
#>  5: Mostly sunny. The chance of a thunderstorm in the morning and afternoon.
#> ---                                                                         
#> 45:                                                            Mostly sunny.
#> 46:                                                            Mostly sunny.
#> 47:                                                            Mostly sunny.
#> 48:                                                            Mostly sunny.
#> 49:                                                                   Sunny.
#>                                                                                                                                                          forecast_winds
#>                                                                                                                                                                  <char>
#>  1:                                                                                                                                                                <NA>
#>  2:                                                                                                                                                                <NA>
#>  3:                                                                                                                                                                <NA>
#>  4:                                                                                                                                                                <NA>
#>  5:                                                                     Northwest to northeasterly 15 to 20 knots becoming variable about 10 knots in the late evening.
#> ---                                                                                                                                                                    
#> 45:                                                               Southerly 15 to 20 knots, reaching up to 25 knots offshore south of Point Lookout during the morning.
#> 46: South to southwesterly 10 to 15 knots becoming variable about 10 knots during the morning then becoming north to northeasterly 10 to 15 knots during the afternoon.
#> 47:                                                                                                       Southeasterly 10 to 15 knots turning easterly in the evening.
#> 48:                                                                                                       Easterly 10 to 15 knots turning northeasterly in the evening.
#> 49:                                                                                                                              North to northeasterly 10 to 15 knots.
#>                                                                              forecast_swell1
#>                                                                                       <char>
#>  1:                                                                                     <NA>
#>  2:                                                                                     <NA>
#>  3:                                                                                     <NA>
#>  4:                                                                                     <NA>
#>  5:                                                                        Below 0.5 metres.
#> ---                                                                                         
#> 45:                 Southerly 2 to 3 metres, decreasing to 1.5 to 2 metres by early evening.
#> 46:              Southerly 1 to 2 metres, decreasing to around 1 metre during the afternoon.
#> 47:                                                                 Easterly around 1 metre.
#> 48: Southeasterly below 1 metre, increasing to around 1 metre through the Capricorn Channel.
#> 49:                                                             Southeasterly below 1 metre.
#>              forecast_swell2 forecast_caution marine_forecast tropical_system_location forecast_waves
#>                       <char>           <char>          <char>                   <lgcl>         <lgcl>
#>  1:                     <NA>             <NA>            <NA>                       NA             NA
#>  2:                     <NA>             <NA>            <NA>                       NA             NA
#>  3:                     <NA>             <NA>            <NA>                       NA             NA
#>  4:                     <NA>             <NA>            <NA>                       NA             NA
#>  5:                     <NA>             <NA>            <NA>                       NA             NA
#> ---                                                                                                  
#> 45: Easterly around 1 metre.             <NA>            <NA>                       NA             NA
#> 46: Easterly around 1 metre.             <NA>            <NA>                       NA             NA
#> 47:                     <NA>             <NA>            <NA>                       NA             NA
#> 48: Easterly around 1 metre.             <NA>            <NA>                       NA             NA
#> 49:                     <NA>             <NA>            <NA>                       NA             NA

Working with BOM Image Files

A second family of functions retrieve information pertaining to satellite and radar imagery.

  • get_available_imagery(), which returns available satellite imagery;
  • get_satelllite_imagery() which returns a [terra::SpatRaster] or [stars] object as requested;
  • get_available_radar(), which returns available radar images; and
  • get_radar_imagery() which returns radar images as a [magick] object.

Using {weatherOz} to retrieve BOM satellite imagery

{weatherOz} provides functionality to retrieve high-definition GeoTIFF satellite imagery provided by BOM through public FTP with the following types of imagery being available: i.) Infrared images, ii.) Visible images and iii.) Clouds/surface composite.

Working with Satellite Imagery

Valid BOM satellite Product IDs for GeoTIFF files include:

Product ID Description Type Delete time
IDE00420 AHI cloud cover only 2km FD GEOS Satellite 24
IDE00421 AHI IR (Ch13) greyscale 2km FD GEOS Satellite 24
IDE00422 AHI VIS (Ch3) greyscale 2km FD GEOS Satellite 24
IDE00423 AHI IR (Ch13) Zehr 2km FD GEOS Satellite 24
IDE00425 AHI VIS (true colour) / IR (Ch13 greyscale) composite 1km FD GEOS Satellite 24
IDE00426 AHI VIS (true colour) / IR (Ch13 greyscale) composite 2km FD GEOS Satellite 24
IDE00427 AHI WV (Ch8) 2km FD GEOS Satellite 24
IDE00430 AHI cloud cover only 2km AUS equirect. Satellite 24
IDE00431 AHI IR (Ch13) greyscale 2km AUS equirect. Satellite 24
IDE00432 AHI VIS (Ch3) greyscale 2km AUS equirect. Satellite 24
IDE00433 AHI IR (Ch13) Zehr 2km AUS equirect. Satellite 24
IDE00435 AHI VIS (true colour) / IR (Ch13 greyscale) composite 1km AUS equirect. Satellite 24
IDE00436 AHI VIS (true colour) / IR (Ch13 greyscale) composite 2km AUS equirect. Satellite 24
IDE00437 AHI WV (Ch8) 2km AUS equirect. Satellite 24
IDE00439 AHI VIS (Ch3) greyscale 0.5km AUS equirect. Satellite 24
Information gathered from Australian Bureau of Meteorology (BOM)

Using get_available_imagery()

get_available_imagery() only takes one argument, product_id, a BOM identifier for the imagery that you wish to check for available imagery. Using this function will fetch a listing of BOM GeoTIFF satellite imagery from ftp://ftp.bom.gov.au/anon/gen/gms/ to display which files are currently available for download. These files are available at ten minute update frequency with a 24 hour delete time. This function can be used see the most recent files available and then specify in the _imagery() function. If no valid Product ID is supplied, defaults to all GeoTIFF images currently available.

Example 4: Checking Available Imagery

library(weatherOz)

(avail <- get_available_imagery(product_id = "IDE00425"))
#>   [1] "IDE00425.202410200210.tif" "IDE00425.202410200220.tif" "IDE00425.202410200230.tif"
#>   [4] "IDE00425.202410200250.tif" "IDE00425.202410200300.tif" "IDE00425.202410200310.tif"
#>   [7] "IDE00425.202410200320.tif" "IDE00425.202410200330.tif" "IDE00425.202410200340.tif"
#>  [10] "IDE00425.202410200350.tif" "IDE00425.202410200400.tif" "IDE00425.202410200410.tif"
#>  [13] "IDE00425.202410200420.tif" "IDE00425.202410200430.tif" "IDE00425.202410200440.tif"
#>  [16] "IDE00425.202410200450.tif" "IDE00425.202410200500.tif" "IDE00425.202410200510.tif"
#>  [19] "IDE00425.202410200520.tif" "IDE00425.202410200530.tif" "IDE00425.202410200540.tif"
#>  [22] "IDE00425.202410200550.tif" "IDE00425.202410200600.tif" "IDE00425.202410200610.tif"
#>  [25] "IDE00425.202410200620.tif" "IDE00425.202410200630.tif" "IDE00425.202410200640.tif"
#>  [28] "IDE00425.202410200650.tif" "IDE00425.202410200700.tif" "IDE00425.202410200710.tif"
#>  [31] "IDE00425.202410200720.tif" "IDE00425.202410200730.tif" "IDE00425.202410200740.tif"
#>  [34] "IDE00425.202410200750.tif" "IDE00425.202410200800.tif" "IDE00425.202410200810.tif"
#>  [37] "IDE00425.202410200820.tif" "IDE00425.202410200830.tif" "IDE00425.202410200840.tif"
#>  [40] "IDE00425.202410200850.tif" "IDE00425.202410200900.tif" "IDE00425.202410200910.tif"
#>  [43] "IDE00425.202410200920.tif" "IDE00425.202410200930.tif" "IDE00425.202410200940.tif"
#>  [46] "IDE00425.202410200950.tif" "IDE00425.202410201000.tif" "IDE00425.202410201010.tif"
#>  [49] "IDE00425.202410201020.tif" "IDE00425.202410201030.tif" "IDE00425.202410201040.tif"
#>  [52] "IDE00425.202410201050.tif" "IDE00425.202410201100.tif" "IDE00425.202410201110.tif"
#>  [55] "IDE00425.202410201120.tif" "IDE00425.202410201130.tif" "IDE00425.202410201140.tif"
#>  [58] "IDE00425.202410201150.tif" "IDE00425.202410201200.tif" "IDE00425.202410201210.tif"
#>  [61] "IDE00425.202410201220.tif" "IDE00425.202410201230.tif" "IDE00425.202410201240.tif"
#>  [64] "IDE00425.202410201250.tif" "IDE00425.202410201300.tif" "IDE00425.202410201310.tif"
#>  [67] "IDE00425.202410201320.tif" "IDE00425.202410201330.tif" "IDE00425.202410201340.tif"
#>  [70] "IDE00425.202410201350.tif" "IDE00425.202410201400.tif" "IDE00425.202410201410.tif"
#>  [73] "IDE00425.202410201420.tif" "IDE00425.202410201430.tif" "IDE00425.202410201450.tif"
#>  [76] "IDE00425.202410201500.tif" "IDE00425.202410201510.tif" "IDE00425.202410201520.tif"
#>  [79] "IDE00425.202410201530.tif" "IDE00425.202410201540.tif" "IDE00425.202410201550.tif"
#>  [82] "IDE00425.202410201600.tif" "IDE00425.202410201610.tif" "IDE00425.202410201620.tif"
#>  [85] "IDE00425.202410201630.tif" "IDE00425.202410201640.tif" "IDE00425.202410201650.tif"
#>  [88] "IDE00425.202410201700.tif" "IDE00425.202410201710.tif" "IDE00425.202410201720.tif"
#>  [91] "IDE00425.202410201730.tif" "IDE00425.202410201740.tif" "IDE00425.202410201750.tif"
#>  [94] "IDE00425.202410201800.tif" "IDE00425.202410201810.tif" "IDE00425.202410201820.tif"
#>  [97] "IDE00425.202410201830.tif" "IDE00425.202410201840.tif" "IDE00425.202410201850.tif"
#> [100] "IDE00425.202410201900.tif" "IDE00425.202410201910.tif" "IDE00425.202410201920.tif"
#> [103] "IDE00425.202410201930.tif" "IDE00425.202410201940.tif" "IDE00425.202410201950.tif"
#> [106] "IDE00425.202410202000.tif" "IDE00425.202410202010.tif" "IDE00425.202410202020.tif"
#> [109] "IDE00425.202410202030.tif" "IDE00425.202410202040.tif" "IDE00425.202410202050.tif"
#> [112] "IDE00425.202410202100.tif" "IDE00425.202410202110.tif" "IDE00425.202410202120.tif"
#> [115] "IDE00425.202410202130.tif" "IDE00425.202410202140.tif" "IDE00425.202410202150.tif"
#> [118] "IDE00425.202410202200.tif" "IDE00425.202410202210.tif" "IDE00425.202410202220.tif"
#> [121] "IDE00425.202410202230.tif" "IDE00425.202410202240.tif" "IDE00425.202410202250.tif"
#> [124] "IDE00425.202410202300.tif" "IDE00425.202410202310.tif" "IDE00425.202410202320.tif"
#> [127] "IDE00425.202410202330.tif" "IDE00425.202410202340.tif" "IDE00425.202410202350.tif"
#> [130] "IDE00425.202410210000.tif" "IDE00425.202410210010.tif" "IDE00425.202410210020.tif"
#> [133] "IDE00425.202410210030.tif" "IDE00425.202410210040.tif" "IDE00425.202410210050.tif"
#> [136] "IDE00425.202410210100.tif" "IDE00425.202410210110.tif" "IDE00425.202410210120.tif"
#> [139] "IDE00425.202410210130.tif" "IDE00425.202410210140.tif" "IDE00425.202410210150.tif"
#> [142] "IDE00425.202410210200.tif" "IDE00425.202410210210.tif" "IDE00425.202410210220.tif"
#> [145] "IDE00425.202410210230.tif"

Using get_satellite_imagery()

get_satellite_imagery() fetches BOM satellite GeoTIFF imagery, returning a SpatRaster object and takes two arguments. Files are available at ten minute update frequency with a 24 hour delete time. It is suggested to check file availability first by using get_available_imagery(). The arguments are:

  • product_id, a character value of the BOM product ID to download. Alternatively, a vector of values from get_available_imagery() may be used here. This argument is mandatory.

  • scans a numeric value for the number of scans to download, starting with the most recent and progressing backwards, e.g., 1 - the most recent single scan available , 6 - the most recent hour available, 12 - the most recent 2 hours available, etc. Negating will return the oldest files first. Defaults to 1. This argument is optional.

Example 6: Fetching Satellite Imagery and Viewing It

library(weatherOz)

# Specify product ID and scans
i <- get_satellite_imagery(product_id = "IDE00425", scans = 1)

terra::plot() has been re-exported to simplify visualising these files while using {weatherOz}.

plot(i)

Using {weatherOz} With BOM Radar Imagery

{weatherOz} provides functionality to retrieve the latest radar imagery provided by BOM through a public FTP server. These are the latest snapshots for each radar locations at various radar ranges e.g., 512km, 256km, 128km and 64km for some stations.

Using get_available_radar()

get_available_radar() fetches the available radar imagery from the BOM FTP and returns a data frame for reference. This data frame contains the product_id, which is required when using the get_radar_imagery() function. The files available are the latest .png files of BOM radar imagery which are typically updated each 6-10 minutes. Only the most recent image is retrieved for each radar location. There are usually several radar ranges available for each radar location, such as 512km, 256km, 128km and possibly 64km. The arguments are:

  • radar_id which is the BOM radar ID number; this defaults to ‘all’ which will return a data frame of all radar IDs in Australia.

Example 7: Getting Available Radar Imagery

library(weatherOz)
x <- get_available_radar()
head(x)
#>    product_id LocationID  range     Name Longitude Latitude Radar_id                Full_Name IDRnn0name
#>        <char>     <char> <char>   <fctr>     <num>    <num>    <int>                   <fctr>     <fctr>
#> 1:     IDR641         64  512km Adelaide  138.4689 -34.6169       64 Adelaide (Buckland Park)     BuckPk
#> 2:     IDR642         64  256km Adelaide  138.4689 -34.6169       64 Adelaide (Buckland Park)     BuckPk
#> 3:     IDR643         64  128km Adelaide  138.4689 -34.6169       64 Adelaide (Buckland Park)     BuckPk
#> 4:     IDR644         64   64km Adelaide  138.4689 -34.6169       64 Adelaide (Buckland Park)     BuckPk
#> 5:     IDR311         31  512km   Albany  117.8163 -34.9418       31                   Albany     Albany
#> 6:     IDR312         31  256km   Albany  117.8163 -34.9418       31                   Albany     Albany
#>    IDRnn1name  State    Type Group_ Status Archive  as.is
#>        <fctr> <fctr>  <fctr> <fctr> <fctr>  <fctr> <lgcl>
#> 1: BucklandPk     SA Doppler    Yes Public  BuckPk   TRUE
#> 2: BucklandPk     SA Doppler    Yes Public  BuckPk   TRUE
#> 3: BucklandPk     SA Doppler    Yes Public  BuckPk   TRUE
#> 4: BucklandPk     SA Doppler    Yes Public  BuckPk   TRUE
#> 5:     Albany     WA Doppler    Yes Public  Albany   TRUE
#> 6:     Albany     WA Doppler    Yes Public  Albany   TRUE

Using get_radar_imagery()

get_radar_imagery() fetches the latest BOM radar imagery for a given product ID. The files available are the latest .png files of BOM radar imagery, which are typically updated each 6-10 minutes. Only the most recent image is retrieved for each radar location. There are usually several radar ranges available for each radar location, such as 512km, 256km, 128km and possibly 64km. The only argument is:

  • product_id the BOM product_id associated with each radar imagery file. These can be obtained from the get_available_radar() function. This value must be specified and the function will accept only one at a time.

Example 8: Fetching Radar Imagery

library(weatherOz)

y <- get_radar_imagery(product_id = "IDR032")
plot(y)

Appendix 1 - Output From get_precis_forecast()

The functions, get_precis_forecast() or `parse_precis_forecast(), will return a data frame of the 7 day short forecast with the following fields:

index
Forecast index number, 0 = current day … 7 day
product_id
BOM Product ID from which the data are derived
state
State name (postal code abbreviation)
town
Town name for forecast location
aac
AMOC Area Code, e.g., WA_MW008, a unique identifier for each location
lat
Latitude of named location (decimal degrees)
lon
Longitude of named location (decimal degrees)
elev
Elevation of named location (metres)
start_time_local
Start of forecast date and time in local TZ
end_time_local
End of forecast date and time in local TZ
UTC_offset
Hours offset from difference in hours and minutes from Coordinated Universal Time (UTC) for start_time_local and end_time_local
start_time_utc
Start of forecast date and time in UTC
end_time_utc
End of forecast date and time in UTC
maximum_temperature
Maximum forecast temperature (degrees Celsius)
minimum_temperature
Minimum forecast temperature (degrees Celsius)
lower_precipitation_limit
Lower forecast precipitation limit (millimetres)
upper_precipitation_limit
Upper forecast precipitation limit (millimetres)
precis
Précis forecast (a short summary, less than 30 characters)
probability_of_precipitation
Probability of precipitation (percent)

Appendix 2 - Output From get_ag_bulletin()

The functions, get_ag_bulletin() or `parse_ag_bulletin(), will return a data frame of the agriculture bulletin with the following fields:

product_id
BOM Product ID from which the data are derived
state
State name (postal code abbreviation)
dist
BOM rainfall district
name
Full station name (some stations have been retired so “station” will be same, this is the full designation
wmo
World Meteorological Organization number (unique ID used worldwide)
site
Unique BOM identifier for each station
station
Station name
obs-time-local
Observation time
obs-time-utc
Observation time (time in UTC)
time-zone
Time zone for observation
lat
Latitude (decimal degrees)
lon
Longitude (decimal degrees)
elev_m
Station elevation (metres)
bar_ht
Bar height (metres)
station
BOM station name
start
Year data collection starts
end
Year data collection ends (will always be current)
r
Rain to 9am (millimetres). Trace will be reported as 0.01
tn
Minimum temperature (degrees Celsius)
tx
Maximum temperature (degrees Celsius)
twd
Wet bulb depression (degrees Celsius)
ev
Evaporation (millimetres)
tg
Terrestrial minimum temperature (degrees Celsius)
sn
Sunshine (hours)
solr
Solar Radiation MJ/sq m
t5
5cm soil temperature (degrees Celsius)
t10
10cm soil temperature (degrees Celsius)
t20
20cm soil temperature (degrees Celsius)
t50
50cm soil temperature (degrees Celsius)
t1m
1m soil temperature (degrees Celsius)
wr
Wind run (kilometres)

Appendix 3 - Output From get_coastal_forecast()

The output of get_coastal_forecast() or parse_coastal_forecast() will return a data frame with coastal waters forecast values of each area within the given state with the following fields:

index
Forecast index number. 0 = current day
product_id
BOM Product ID from which the data are derived
type
Forecast Region type e.g. Coastal
state_code
State name (postal code abbreviation)
dist_name
Name of forecast district
pt_1_name
Start of forecast district
pt_2_name
End of forecast district
aac
AMOC Area Code, e.g., WA_MW008, a unique identifier for each location
start_time_local
Start of forecast date and time in local TZ
end_time_local
End of forecast date and time in local TZ
UTC_offset
Hours offset from difference in hours and minutes from Coordinated Universal Time (UTC) for start_time_local and end_time_local
start_time_utc
Start of forecast date and time in UTC
end_time_utc
End of forecast date and time in UTC
forecast_seas
Forecast sea conditions
forecast_weather
Forecast weather summary
forecast_winds
Forecast winds summary
forecast_swell1
Forecast primary swell summary
forecast_swell2
Forecast seondary swell summary (not always provided)
forecast_caution
Forecast caution issued (not always provided)
marine_forecast
Additional marine forecast warning information (not always provided)