R: Hovmoller plots

hovmoller-methods {rasterVis} | R Documentation

## Hovmoller plots

### Description

Hovmoller plots of Raster objects.

### Usage

    ## S4 method for signature 'RasterStackBrick'
    hovmoller(object, dirXY=y, FUN=mean,
    digits=2, xlab='Direction', ylab='Time',
    par.settings=rasterTheme(), xscale.components=xscale.raster,
    add.contour=FALSE, labels=FALSE, region=TRUE, ...)

### Arguments

`object` | A RasterStackBrick with a non-empty `z` slot.
`dirXY` | A direction as a function of the coordinates (see `xyLayer`).
`FUN` | A function to be applied to the zones calculated with `dirXY` and `zonal`.
`digits` | An integer, number of digits for `zonal`.
`xlab, ylab` | Labels of the axis.
`par.settings` | Customization of lattice. See `levelplot` and `rasterTheme` for details.
`xscale.components` | See `xscale.raster`.
`labels, region` | Customization of `contourplot` when `add.contour` is TRUE.
`add.contour` | Logical, if TRUE a contourplot with filled regions is drawn.
`...` | Additional arguments for the `contourplot` and `levelplot` functions.

### Details

Extracted from wikipedia: "A Hovmöller diagram is a commonly used way of plotting meteorological data to highlight the role of waves. The axes of a Hovmöller diagram are typically longitude or latitude (abscissa or x-axis) and time (ordinate or y-axis) with the value of some field represented through color or shading." The direction defined by `dirXY` and the function `FUN` allows for a variety of diagrams with this method.

### Author(s)

Oscar Perpiñán Lamigueiro

### References

- Hovmoller, E. 1949. The trough and ridge diagram. Tellus 1, 62–66.

- http://www2.mmm.ucar.edu/episodes/Hovmoller/noJS/hovm200707.htm

- http://www.esrl.noaa.gov/psd/map/clim/sst.shtml

### See Also

`levelplot`, `zonal`, `panel.2dsmoother`

### Examples

    ## Not run:
    ##Solar irradiation data from CMSAF http://dx.doi.org/10.5676/EUM_SAF_CM/RAD_MVIRI/V001
    old <- setwd(tempdir())
    download.file('https://raw.github.com/oscarperpinan/spacetime-vis/master/data/SISmm2008_CMSAF.zip',
       'SISmm2008_CMSAF.zip', method='wget')
    unzip('SISmm2008_CMSAF.zip')

    listFich <- dir(pattern='\\.nc')
    stackSIS <- stack(listFich)
    stackSIS <- stackSIS*24 ##from irradiance (W/m2) to irradiation Wh/m2

    idx <- seq(as.Date('2008-01-15'), as.Date('2008-12-15'), 'month')

    SISmm <- setZ(stackSIS, idx)
    names(SISmm) <- month.abb

    ## Latitude as default
    hovmoller(SISmm, xlab='Latitude')

    ## With contour lines and labels
    hovmoller(SISmm, labels=TRUE, add.contour=TRUE,
              xlab='Latitude')

    ## Smooth color regions with latticeExtra::panel.2dsmoother
    hovmoller(SISmm, panel=panel.2dsmoother, n=1000,
              labels=FALSE, add.contour=TRUE,
              xlab='Latitude')

    ## Using a function of coordinates
    hovmoller(SISmm, dirXY=sqrt(x^2+y^2))

    ## End(Not run)

    ## Not run:
    library(zoo)
    library(rasterVis)

    ## DESCRIPTION: http://iridl.ldeo.columbia.edu/SOURCES/.CAC/.sst/
    setwd(tempdir())
    download.file('http://iridl.ldeo.columbia.edu/SOURCES/.CAC/.sst/data.nc', destfile = 'SST.nc')
    SST <- stack('SST.nc')
    idx <- seq(as.Date('1970-01-01'), as.Date('2003-03-01'), by='month')
    tt <- as.yearmon(idx)
    SST <- setZ(SST, tt)
    names(SST) <- as.character(tt)

    ## Extract month value from a Date or yearmon object
    month <- function(x)format(x, '%m')
    ## Compute anomaly using monthly grouping with ave
    anomaly <- function(x){
        ## Monthly means
        mm <- ave(x, month(tt), FUN = mean)
        ## Monthly standard deviation
        msd <- ave(x, month(tt), FUN = sd)
        ## anomaly
        (x - mm)/msd
    }
    ## Use anomaly with calc
    SSTanom <- calc(SST, anomaly)
    SSTanom <- setZ(SSTanom, tt)

    ## Ok, let's see the result
    hovmoller(SSTanom,
              at = seq(-3, 3, .25),
              panel = panel.levelplot.raster,
              interpolate = TRUE,
              yscale.components = yscale.raster.subticks,
              par.settings = BuRdTheme)

    ## End(Not run)

[Package rasterVis version 0.44 Index]