Comparing World Ocean Atlases 2013 and 2013v2

August 21, 2015
By

(This article was first published on Dan Kelley Blog/R, and kindly contributed to R-bloggers)

Introduction

The ocedata package [1] provides data that may be of use to oceanographers,
either working with their own R code or working with the oce package [2]. One
such dataset, called levitus, holds sea surface temperature and salinity
(SST and SSS), based on the 2013 version of the World Ocean Atlas. An updated
version of this atlas is suggested by the WOA authors to be an improvement [3],
and so it will be used for an updated version of levitus in the upcoming
version of ocedata.

This blog item deals with differences between the two datasets.

Analysis

First, the netcdf files for temperature and salinity were downloaded from
online sources [4,5]. Then the data were loaded as follows.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
library(ncdf4)
con <- nc_open("woa13_decav_t00_01v2.nc")
## make a vector for later convenience
longitude <- as.vector(ncvar_get(con, "lon"))
latitude <- as.vector(ncvar_get(con, "lat"))
SST <- ncvar_get(con, "t_an")[,,1]
nc_close(con)
con <- nc_open("woa13_decav_s00_01v2.nc")
SSS <- ncvar_get(con, "s_an")[,,1]
nc_close(con)

Next, load the levitus dataset from the existing ocedata package
and compute the differences

1
2
3
4
5
6
library(oce)
data("levitus", package="ocedata")
library(MASS) # for truehist
par(mfrow=c(2,1), mar=c(3, 3, 1, 1), mgp=c(2, 0.5, 0))
dSST <- SST - levitus$SST
dSSS <- SSS - levitus$SSS

The main differences are said to be in data-sparse regions, e.g. high latitudes,
so an interesting check is to plot spatial patterns.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
par(mfrow=c(2,1), mar=c(3, 3, 1, 1), mgp=c(2, 0.5, 0))
data(coastlineWorld)
imagep(longitude, latitude, dSST, zlim=c(-3,3))
polygon(coastlineWorld[["longitude"]], coastlineWorld[["latitude"]],
        col='lightgray') 
mtext("SST change", side=3, adj=1)
imagep(longitude, latitude, dSSS, zlim=c(-3,3))
polygon(coastlineWorld[["longitude"]], coastlineWorld[["latitude"]],
        col='lightgray') 
mtext("SSS change", side=3, adj=1)

center

The figures confirm that the differences are mainly in high latitudes, with
estimates in Hudson’s Bay being particularly altered. A closer examination of
the author’s general locale may interest him, if nobody else…

1
2
3
4
imagep(longitude, latitude, dSST, zlim=c(-3,3), xlim=c(-90,-30), ylim=c(30, 90), asp=1)
polygon(coastlineWorld[["longitude"]], coastlineWorld[["latitude"]],
        col='lightgray') 
mtext("SST change", side=3, adj=1)

center

1
2
3
4
imagep(longitude, latitude, dSSS, zlim=c(-3,3), xlim=c(-90,-30), ylim=c(30, 90), asp=1)
polygon(coastlineWorld[["longitude"]], coastlineWorld[["latitude"]],
        col='lightgray') 
mtext("SSS change", side=3, adj=1)

center

Conclusions

The patterns of variation are as expected: the updated WOA differs mainly in
high latitudes. The differences seem mainly to arise in regions that are
anomalous compared to other waters at similar latitudes. For example, the
estimates for SST and SSS in Hudson’s Bay are markedly different in the two
atlases. I am not too surprised by this, and I’m not too concerned either; I
doubt that many researchers (other than some modelers) would have paid much
attention to WOA estimates for Hudson’s Bay. However, the changes in the
northern Labrador Sea are quite concerning, given the importance of that region
to Atlantic watermass formation, and the likelihood that WOA is used to
initialize numerical models.

References and resources

  1. Ocedata website

  2. Oce website

  3. NOAA document on WOA changes

  4. woa2013v2 temperature netcdf file

  5. woa2013v2 salinity netcdf file

  6. Jekyll source code for this blog entry: 2015-08-22-woa-2013-2.Rmd

To leave a comment for the author, please follow the link and comment on their blog: Dan Kelley Blog/R.

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...



If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.

Search R-bloggers


Sponsors

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)