Skip to content

GPM IMERG Datasets

GPM IMERG Datasets are represented by the IMERGDataset AbstractType, which in itself is broken into the IMERGHalfHourly, IMERGDaily and IMERGMonthly Types. For half-hourly and daily datsets, NASA provides not just the output from the final processing run, but also early and late near real-time runs.

The Types that each dataset calls are listed below, along with their function calls.

TypeEarly NRTLate NRTFinal NRT
30 MinsIMERGHalfHourlyIMERGEarlyHH()IMERGLateHH()IMERGFinalHH()
DailyIMERGDailyIMERGEarlyDY()IMERGLateDY()IMERGFinalDY()
MonthlyIMERGMonthlyIMERGMonthly()

So, for example, if we wanted to get the the Early Near Real-Time IMERG Half-Hourly dataset, we would call the function IMERGEarlyHH, which would return a IMERGHalfHourly data structure (see example at the end of the page).

Setup

julia
using NASAPrecipitation

IMERGDataset Types / Objects

There are three different Types of IMERGDataset:

  • IMERGHalfHourly, which is used to contain information on half-hourly GPM IMERG datasets

  • IMERGDaily, which is used to contain information on daily GPM IMERG datasets

  • IMERGMonthly, which is used to contain information on monthly GPM IMERG datasets

Creating an IMERGHalfHourly dataset

The IMERGHalfHourly dataset structure is used to contain information regarding half-hourly IMERG datasets. There are three functions that create IMERGHalfHourly datasets

  • IMERGEarlyHH, which is used to retrieve Near Real-Time Early runs

  • IMERGLateHH, which is used to retrieve Near Real-Time Late runs

  • IMERGFinalHH, which is used to retrieve the Final post-processing runs

First, let's define an "Early" dataset:

julia
npd = IMERGEarlyHH(start=DateTime(2017,2,1,15,30,0),stop=Date(2017,2,4))
The NASA Precipitation Dataset {String,Date} has the following properties:
    Dataset ID            (ID) : imergearlyhh
    Logging Name        (name) : Early IMERG Half-Hourly
    DOI URL              (doi) : 10.5067/GPM/IMERG/3B-HH-E/06
    Data Directory  (datapath) : /home/runner/imergearlyhh
    Mask Directory  (maskpath) : /home/runner/imergmask
    Date Begin         (start) : 2017-02-01
    Date End            (stop) : 2017-02-04
    Timestep                   : 30 minutes
    Data Resolution            : 0.1º
    Data Server        (hroot) : https://gpm1.gesdisc.eosdis.nasa.gov/opendap/GPM_L3/GPM_3IMERGHHE.06
julia
typeof(npd)
NASAPrecipitation.IMERGHalfHourly{String, Date}

Now let's define a "Late" dataset:

julia
npd = IMERGLateHH(start=Date(2017,2,1),stop=Date(2017,2,3))
The NASA Precipitation Dataset {String,Date} has the following properties:
    Dataset ID            (ID) : imerglatehh
    Logging Name        (name) : Late IMERG Half-Hourly
    DOI URL              (doi) : 10.5067/GPM/IMERG/3B-HH-L/06
    Data Directory  (datapath) : /home/runner/imerglatehh
    Mask Directory  (maskpath) : /home/runner/imergmask
    Date Begin         (start) : 2017-02-01
    Date End            (stop) : 2017-02-03
    Timestep                   : 30 minutes
    Data Resolution            : 0.1º
    Data Server        (hroot) : https://gpm1.gesdisc.eosdis.nasa.gov/opendap/GPM_L3/GPM_3IMERGHHL.06
julia
typeof(npd)
NASAPrecipitation.IMERGHalfHourly{String, Date}

By comparing the two, we see as above that whether a dataset is "Early", "Late" or "Final" doesn't matter, it will return the same subtype of the NASAPrecipitationDataset. What changes will be the values in the fields, not the dataset structure or type itself.

Warning

IMERGHalfHourly datasets are designed to select data by entire days, and so here npd.start and npd.stop are defined by the entire days for which data is downloaded.

Creating an IMERGDaily dataset

The IMERGDaily dataset structure is used to contain information regarding daily IMERG datasets. There are three functions that create IMERGDaily datasets

  • IMERGEarlyDY, which is used to retrieve Near Real-Time Early runs

  • IMERGLateDY, which is used to retrieve Near Real-Time Late runs

  • IMERGFinalDY, which is used to retrieve the Final post-processing runs

julia
npd = IMERGFinalDY(start=Date(2017,2,5),stop=Date(2017,2,9))
The NASA Precipitation Dataset {String,Date} has the following properties:
    Dataset ID           (ID) : imergv7finaldy
    Logging Name       (name) : Final IMERGv7 Daily
    DOI URL             (doi) : 10.5067/GPM/IMERGDF/DAY/07
    Data Directory (datapath) : /home/runner/imergv7finaldy
    Mask Directory (maskpath) : /home/runner/imergmask
    Date Begin        (start) : 2017-02-01
    Date End           (stop) : 2017-02-28
    Timestep                  : 1 Day
    Data Resolution           : 0.1º
    Data Server       (hroot) : https://gpm1.gesdisc.eosdis.nasa.gov/opendap/GPM_L3/GPM_3IMERGDF.07
julia
typeof(npd)
NASAPrecipitation.IMERGDaily{String, Date}

Warning

IMERGDaily datasets are designed to select data by entire months, and so here npd.start and npd.stop define the whole month of Feb 2017.

Creating an IMERGMonthly dataset

The IMERGMonthly dataset structure is used to contain information monthly daily IMERG datasets. There is only one functions that creates IMERGMonthly datasets

  • IMERGMonthly, which is used to retrieve the Final post-processing runs
julia
npd = IMERGMonthly(start=Date(2017,6,1),stop=Date(2017,8,15))
The NASA Precipitation Dataset {String,Date} has the following properties:
    Dataset ID            (ID) : imergv7monthly
    Logging Name        (name) : IMERGv7 Monthly
    DOI URL              (doi) : 10.5067/GPM/IMERG/3B-MONTH/07
    Data Directory  (datapath) : /home/runner/imergv7monthly
    Mask Directory  (maskpath) : /home/runner/imergmask
    Date Begin         (start) : 2017-01-01
    Date End            (stop) : 2017-12-31
    Timestep                   : 1 Month
    Data Resolution            : 0.1º
    Data Server        (hroot) : https://gpm1.gesdisc.eosdis.nasa.gov/opendap/GPM_L3/GPM_3IMERGM.07
julia
typeof(npd)
IMERGMonthly{String, Date}

Warning

IMERGMonthly datasets are designed to select data by entire years, and so here npd.start and npd.stop define the whole year of 2017.