⇐ ⇒

[CF-metadata] Are ensembles a compelling use case for "group-aware" metadata?

From: Roy Mendelssohn - NOAA Federal <roy.mendelssohn>
Date: Thu, 26 Sep 2013 13:17:05 -0700

Hi All:

Charlie provided me with some sample files. Below, with but two comments, is the one line command in R for several examples, using David Pierce's wonderful ncdf4 package, to traverse the complete structure of the file. The results show the command and the resulting structure. My two comments are:

1. As a user, compare this to receiving multiple files with a manifest.

2. Note that the return, as all returns from ncdf4, whether the file is flat or has groups, is a hierarchical structure.

-Roy

*********** Example 1 *****************

> testFile<-nc_open('cmip5.nc')
> str(testFile)
List of 11
 $ filename : chr "cmip5.nc"
 $ writable : logi FALSE
 $ id : int 65536
 $ format : chr "NC_FORMAT_NETCDF4"
 $ groups :List of 4
  ..$ :List of 7
  .. ..$ id : int 65536
  .. ..$ name : chr ""
  .. ..$ ndims: int 0
  .. ..$ nvars: int 0
  .. ..$ natts: int 3
  .. ..$ dimid: int[0 (1d)]
  .. ..$ fqgn : chr ""
  .. ..- attr(*, "class")= chr "ncgroup4"
  ..$ :List of 7
  .. ..$ id : int 65537
  .. ..$ name : chr "cesm"
  .. ..$ ndims: int 1
  .. ..$ nvars: int 1
  .. ..$ natts: int 1
  .. ..$ dimid: int [1(1d)] 0
  .. ..$ fqgn : chr "cesm"
  .. ..- attr(*, "class")= chr "ncgroup4"
  ..$ :List of 7
  .. ..$ id : int 65538
  .. ..$ name : chr "ecmwf"
  .. ..$ ndims: int 1
  .. ..$ nvars: int 1
  .. ..$ natts: int 1
  .. ..$ dimid: int [1(1d)] 1
  .. ..$ fqgn : chr "ecmwf"
  .. ..- attr(*, "class")= chr "ncgroup4"
  ..$ :List of 7
  .. ..$ id : int 65539
  .. ..$ name : chr "giss"
  .. ..$ ndims: int 1
  .. ..$ nvars: int 1
  .. ..$ natts: int 1
  .. ..$ dimid: int [1(1d)] 2
  .. ..$ fqgn : chr "giss"
  .. ..- attr(*, "class")= chr "ncgroup4"
 $ ndims : num 3
 $ natts : num 6
 $ dim :List of 3
  ..$ cesm/time :List of 10
  .. ..$ name : chr "cesm/time"
  .. ..$ len : int 4
  .. ..$ unlim : logi TRUE
  .. ..$ group_index : int 2
  .. ..$ group_id : int 65537
  .. ..$ id : int 0
  .. ..$ dimvarid :List of 5
  .. .. ..$ id : int -1
  .. .. ..$ group_index: int 2
  .. .. ..$ group_id : int 65537
  .. .. ..$ list_index : num -1
  .. .. ..$ isdimvar : logi TRUE
  .. .. ..- attr(*, "class")= chr "ncid4"
  .. ..$ vals : int [1:4] 1 2 3 4
  .. ..$ units : chr ""
  .. ..$ create_dimvar: logi FALSE
  .. ..- attr(*, "class")= chr "ncdim4"
  ..$ ecmwf/time:List of 10
  .. ..$ name : chr "ecmwf/time"
  .. ..$ len : int 4
  .. ..$ unlim : logi TRUE
  .. ..$ group_index : int 3
  .. ..$ group_id : int 65538
  .. ..$ id : int 1
  .. ..$ dimvarid :List of 5
  .. .. ..$ id : int -1
  .. .. ..$ group_index: int 3
  .. .. ..$ group_id : int 65538
  .. .. ..$ list_index : num -1
  .. .. ..$ isdimvar : logi TRUE
  .. .. ..- attr(*, "class")= chr "ncid4"
  .. ..$ vals : int [1:4] 1 2 3 4
  .. ..$ units : chr ""
  .. ..$ create_dimvar: logi FALSE
  .. ..- attr(*, "class")= chr "ncdim4"
  ..$ giss/time :List of 10
  .. ..$ name : chr "giss/time"
  .. ..$ len : int 4
  .. ..$ unlim : logi TRUE
  .. ..$ group_index : int 4
  .. ..$ group_id : int 65539
  .. ..$ id : int 2
  .. ..$ dimvarid :List of 5
  .. .. ..$ id : int -1
  .. .. ..$ group_index: int 4
  .. .. ..$ group_id : int 65539
  .. .. ..$ list_index : num -1
  .. .. ..$ isdimvar : logi TRUE
  .. .. ..- attr(*, "class")= chr "ncid4"
  .. ..$ vals : int [1:4] 1 2 3 4
  .. ..$ units : chr ""
  .. ..$ create_dimvar: logi FALSE
  .. ..- attr(*, "class")= chr "ncdim4"
 $ unlimdimid: num 1
 $ nvars : num 3
 $ var :List of 3
  ..$ cesm/tas :List of 21
  .. ..$ id :List of 5
  .. .. ..$ id : num 0
  .. .. ..$ group_index: num -1
  .. .. ..$ group_id : int 65537
  .. .. ..$ list_index : num 1
  .. .. ..$ isdimvar : logi FALSE
  .. .. ..- attr(*, "class")= chr "ncid4"
  .. ..$ name : chr "cesm/tas"
  .. ..$ ndims : int 1
  .. ..$ natts : int 0
  .. ..$ size : int 4
  .. ..$ dimids : int 0
  .. ..$ prec : chr "float"
  .. ..$ units : chr ""
  .. ..$ longname : chr "tas"
  .. ..$ group_index : int 2
  .. ..$ chunksizes : int 1
  .. ..$ storage : int 2
  .. ..$ shuffle : int 0
  .. ..$ compression : logi NA
  .. ..$ dims : list()
  .. ..$ dim :List of 1
  .. .. ..$ :List of 10
  .. .. .. ..$ name : chr "cesm/time"
  .. .. .. ..$ len : int 4
  .. .. .. ..$ unlim : logi TRUE
  .. .. .. ..$ group_index : int 2
  .. .. .. ..$ group_id : int 65537
  .. .. .. ..$ id : int 0
  .. .. .. ..$ dimvarid :List of 5
  .. .. .. .. ..$ id : int -1
  .. .. .. .. ..$ group_index: int 2
  .. .. .. .. ..$ group_id : int 65537
  .. .. .. .. ..$ list_index : num -1
  .. .. .. .. ..$ isdimvar : logi TRUE
  .. .. .. .. ..- attr(*, "class")= chr "ncid4"
  .. .. .. ..$ vals : int [1:4] 1 2 3 4
  .. .. .. ..$ units : chr ""
  .. .. .. ..$ create_dimvar: logi FALSE
  .. .. .. ..- attr(*, "class")= chr "ncdim4"
  .. ..$ varsize : int 4
  .. ..$ unlim : logi TRUE
  .. ..$ missval : num 1e+30
  .. ..$ hasAddOffset: logi FALSE
  .. ..$ hasScaleFact: logi FALSE
  .. ..- attr(*, "class")= chr "ncvar4"
  ..$ ecmwf/tas:List of 21
  .. ..$ id :List of 5
  .. .. ..$ id : num 0
  .. .. ..$ group_index: num -1
  .. .. ..$ group_id : int 65538
  .. .. ..$ list_index : num 2
  .. .. ..$ isdimvar : logi FALSE
  .. .. ..- attr(*, "class")= chr "ncid4"
  .. ..$ name : chr "ecmwf/tas"
  .. ..$ ndims : int 1
  .. ..$ natts : int 0
  .. ..$ size : int 4
  .. ..$ dimids : int 1
  .. ..$ prec : chr "float"
  .. ..$ units : chr ""
  .. ..$ longname : chr "tas"
  .. ..$ group_index : int 3
  .. ..$ chunksizes : int 1
  .. ..$ storage : int 2
  .. ..$ shuffle : int 0
  .. ..$ compression : logi NA
  .. ..$ dims : list()
  .. ..$ dim :List of 1
  .. .. ..$ :List of 10
  .. .. .. ..$ name : chr "ecmwf/time"
  .. .. .. ..$ len : int 4
  .. .. .. ..$ unlim : logi TRUE
  .. .. .. ..$ group_index : int 3
  .. .. .. ..$ group_id : int 65538
  .. .. .. ..$ id : int 1
  .. .. .. ..$ dimvarid :List of 5
  .. .. .. .. ..$ id : int -1
  .. .. .. .. ..$ group_index: int 3
  .. .. .. .. ..$ group_id : int 65538
  .. .. .. .. ..$ list_index : num -1
  .. .. .. .. ..$ isdimvar : logi TRUE
  .. .. .. .. ..- attr(*, "class")= chr "ncid4"
  .. .. .. ..$ vals : int [1:4] 1 2 3 4
  .. .. .. ..$ units : chr ""
  .. .. .. ..$ create_dimvar: logi FALSE
  .. .. .. ..- attr(*, "class")= chr "ncdim4"
  .. ..$ varsize : int 4
  .. ..$ unlim : logi TRUE
  .. ..$ missval : num 1e+30
  .. ..$ hasAddOffset: logi FALSE
  .. ..$ hasScaleFact: logi FALSE
  .. ..- attr(*, "class")= chr "ncvar4"
  ..$ giss/tas :List of 21
  .. ..$ id :List of 5
  .. .. ..$ id : num 0
  .. .. ..$ group_index: num -1
  .. .. ..$ group_id : int 65539
  .. .. ..$ list_index : num 3
  .. .. ..$ isdimvar : logi FALSE
  .. .. ..- attr(*, "class")= chr "ncid4"
  .. ..$ name : chr "giss/tas"
  .. ..$ ndims : int 1
  .. ..$ natts : int 0
  .. ..$ size : int 4
  .. ..$ dimids : int 2
  .. ..$ prec : chr "float"
  .. ..$ units : chr ""
  .. ..$ longname : chr "tas"
  .. ..$ group_index : int 4
  .. ..$ chunksizes : int 1
  .. ..$ storage : int 2
  .. ..$ shuffle : int 0
  .. ..$ compression : logi NA
  .. ..$ dims : list()
  .. ..$ dim :List of 1
  .. .. ..$ :List of 10
  .. .. .. ..$ name : chr "giss/time"
  .. .. .. ..$ len : int 4
  .. .. .. ..$ unlim : logi TRUE
  .. .. .. ..$ group_index : int 4
  .. .. .. ..$ group_id : int 65539
  .. .. .. ..$ id : int 2
  .. .. .. ..$ dimvarid :List of 5
  .. .. .. .. ..$ id : int -1
  .. .. .. .. ..$ group_index: int 4
  .. .. .. .. ..$ group_id : int 65539
  .. .. .. .. ..$ list_index : num -1
  .. .. .. .. ..$ isdimvar : logi TRUE
  .. .. .. .. ..- attr(*, "class")= chr "ncid4"
  .. .. .. ..$ vals : int [1:4] 1 2 3 4
  .. .. .. ..$ units : chr ""
  .. .. .. ..$ create_dimvar: logi FALSE
  .. .. .. ..- attr(*, "class")= chr "ncdim4"
  .. ..$ varsize : int 4
  .. ..$ unlim : logi TRUE
  .. ..$ missval : num 1e+30
  .. ..$ hasAddOffset: logi FALSE
  .. ..$ hasScaleFact: logi FALSE
  .. ..- attr(*, "class")= chr "ncvar4"
 - attr(*, "class")= chr "ncdf4"


******* Example 2 **********

> testFile<-nc_open('mdl.nc')
> str(testFile)
List of 11
 $ filename : chr "mdl.nc"
 $ writable : logi FALSE
 $ id : int 65536
 $ format : chr "NC_FORMAT_NETCDF4"
 $ groups :List of 7
  ..$ :List of 7
  .. ..$ id : int 65536
  .. ..$ name : chr ""
  .. ..$ ndims: int 0
  .. ..$ nvars: int 0
  .. ..$ natts: int 0
  .. ..$ dimid: int[0 (1d)]
  .. ..$ fqgn : chr ""
  .. ..- attr(*, "class")= chr "ncgroup4"
  ..$ :List of 7
  .. ..$ id : int 65537
  .. ..$ name : chr "cesm"
  .. ..$ ndims: int 0
  .. ..$ nvars: int 0
  .. ..$ natts: int 0
  .. ..$ dimid: int[0 (1d)]
  .. ..$ fqgn : chr "cesm"
  .. ..- attr(*, "class")= chr "ncgroup4"
  ..$ :List of 7
  .. ..$ id : int 65538
  .. ..$ name : chr "cesm_01"
  .. ..$ ndims: int 1
  .. ..$ nvars: int 1
  .. ..$ natts: int 5
  .. ..$ dimid: int [1(1d)] 0
  .. ..$ fqgn : chr "cesm/cesm_01"
  .. ..- attr(*, "class")= chr "ncgroup4"
  ..$ :List of 7
  .. ..$ id : int 65539
  .. ..$ name : chr "cesm_02"
  .. ..$ ndims: int 1
  .. ..$ nvars: int 1
  .. ..$ natts: int 5
  .. ..$ dimid: int [1(1d)] 1
  .. ..$ fqgn : chr "cesm/cesm_02"
  .. ..- attr(*, "class")= chr "ncgroup4"
  ..$ :List of 7
  .. ..$ id : int 65540
  .. ..$ name : chr "ecmwf"
  .. ..$ ndims: int 0
  .. ..$ nvars: int 0
  .. ..$ natts: int 0
  .. ..$ dimid: int[0 (1d)]
  .. ..$ fqgn : chr "ecmwf"
  .. ..- attr(*, "class")= chr "ncgroup4"
  ..$ :List of 7
  .. ..$ id : int 65541
  .. ..$ name : chr "ecmwf_01"
  .. ..$ ndims: int 1
  .. ..$ nvars: int 1
  .. ..$ natts: int 5
  .. ..$ dimid: int [1(1d)] 2
  .. ..$ fqgn : chr "ecmwf/ecmwf_01"
  .. ..- attr(*, "class")= chr "ncgroup4"
  ..$ :List of 7
  .. ..$ id : int 65542
  .. ..$ name : chr "ecmwf_02"
  .. ..$ ndims: int 1
  .. ..$ nvars: int 1
  .. ..$ natts: int 5
  .. ..$ dimid: int [1(1d)] 3
  .. ..$ fqgn : chr "ecmwf/ecmwf_02"
  .. ..- attr(*, "class")= chr "ncgroup4"
 $ ndims : num 4
 $ natts : num 20
 $ dim :List of 4
  ..$ cesm_01/time :List of 10
  .. ..$ name : chr "cesm_01/time"
  .. ..$ len : int 4
  .. ..$ unlim : logi FALSE
  .. ..$ group_index : int 3
  .. ..$ group_id : int 65538
  .. ..$ id : int 0
  .. ..$ dimvarid :List of 5
  .. .. ..$ id : int -1
  .. .. ..$ group_index: int 3
  .. .. ..$ group_id : int 65538
  .. .. ..$ list_index : num -1
  .. .. ..$ isdimvar : logi TRUE
  .. .. ..- attr(*, "class")= chr "ncid4"
  .. ..$ vals : int [1:4] 1 2 3 4
  .. ..$ units : chr ""
  .. ..$ create_dimvar: logi FALSE
  .. ..- attr(*, "class")= chr "ncdim4"
  ..$ cesm_02/time :List of 10
  .. ..$ name : chr "cesm_02/time"
  .. ..$ len : int 4
  .. ..$ unlim : logi FALSE
  .. ..$ group_index : int 4
  .. ..$ group_id : int 65539
  .. ..$ id : int 1
  .. ..$ dimvarid :List of 5
  .. .. ..$ id : int -1
  .. .. ..$ group_index: int 4
  .. .. ..$ group_id : int 65539
  .. .. ..$ list_index : num -1
  .. .. ..$ isdimvar : logi TRUE
  .. .. ..- attr(*, "class")= chr "ncid4"
  .. ..$ vals : int [1:4] 1 2 3 4
  .. ..$ units : chr ""
  .. ..$ create_dimvar: logi FALSE
  .. ..- attr(*, "class")= chr "ncdim4"
  ..$ ecmwf_01/time:List of 10
  .. ..$ name : chr "ecmwf_01/time"
  .. ..$ len : int 4
  .. ..$ unlim : logi FALSE
  .. ..$ group_index : int 6
  .. ..$ group_id : int 65541
  .. ..$ id : int 2
  .. ..$ dimvarid :List of 5
  .. .. ..$ id : int -1
  .. .. ..$ group_index: int 6
  .. .. ..$ group_id : int 65541
  .. .. ..$ list_index : num -1
  .. .. ..$ isdimvar : logi TRUE
  .. .. ..- attr(*, "class")= chr "ncid4"
  .. ..$ vals : int [1:4] 1 2 3 4
  .. ..$ units : chr ""
  .. ..$ create_dimvar: logi FALSE
  .. ..- attr(*, "class")= chr "ncdim4"
  ..$ ecmwf_02/time:List of 10
  .. ..$ name : chr "ecmwf_02/time"
  .. ..$ len : int 4
  .. ..$ unlim : logi FALSE
  .. ..$ group_index : int 7
  .. ..$ group_id : int 65542
  .. ..$ id : int 3
  .. ..$ dimvarid :List of 5
  .. .. ..$ id : int -1
  .. .. ..$ group_index: int 7
  .. .. ..$ group_id : int 65542
  .. .. ..$ list_index : num -1
  .. .. ..$ isdimvar : logi TRUE
  .. .. ..- attr(*, "class")= chr "ncid4"
  .. ..$ vals : int [1:4] 1 2 3 4
  .. ..$ units : chr ""
  .. ..$ create_dimvar: logi FALSE
  .. ..- attr(*, "class")= chr "ncdim4"
 $ unlimdimid: num -1
 $ nvars : num 4
 $ var :List of 4
  ..$ cesm_01/tas :List of 21
  .. ..$ id :List of 5
  .. .. ..$ id : num 0
  .. .. ..$ group_index: num -1
  .. .. ..$ group_id : int 65538
  .. .. ..$ list_index : num 1
  .. .. ..$ isdimvar : logi FALSE
  .. .. ..- attr(*, "class")= chr "ncid4"
  .. ..$ name : chr "cesm_01/tas"
  .. ..$ ndims : int 1
  .. ..$ natts : int 0
  .. ..$ size : int 4
  .. ..$ dimids : int 0
  .. ..$ prec : chr "float"
  .. ..$ units : chr ""
  .. ..$ longname : chr "tas"
  .. ..$ group_index : int 3
  .. ..$ chunksizes : int 0
  .. ..$ storage : int 1
  .. ..$ shuffle : int 0
  .. ..$ compression : logi NA
  .. ..$ dims : list()
  .. ..$ dim :List of 1
  .. .. ..$ :List of 10
  .. .. .. ..$ name : chr "cesm_01/time"
  .. .. .. ..$ len : int 4
  .. .. .. ..$ unlim : logi FALSE
  .. .. .. ..$ group_index : int 3
  .. .. .. ..$ group_id : int 65538
  .. .. .. ..$ id : int 0
  .. .. .. ..$ dimvarid :List of 5
  .. .. .. .. ..$ id : int -1
  .. .. .. .. ..$ group_index: int 3
  .. .. .. .. ..$ group_id : int 65538
  .. .. .. .. ..$ list_index : num -1
  .. .. .. .. ..$ isdimvar : logi TRUE
  .. .. .. .. ..- attr(*, "class")= chr "ncid4"
  .. .. .. ..$ vals : int [1:4] 1 2 3 4
  .. .. .. ..$ units : chr ""
  .. .. .. ..$ create_dimvar: logi FALSE
  .. .. .. ..- attr(*, "class")= chr "ncdim4"
  .. ..$ varsize : int 4
  .. ..$ unlim : logi FALSE
  .. ..$ missval : num 1e+30
  .. ..$ hasAddOffset: logi FALSE
  .. ..$ hasScaleFact: logi FALSE
  .. ..- attr(*, "class")= chr "ncvar4"
  ..$ cesm_02/tas :List of 21
  .. ..$ id :List of 5
  .. .. ..$ id : num 0
  .. .. ..$ group_index: num -1
  .. .. ..$ group_id : int 65539
  .. .. ..$ list_index : num 2
  .. .. ..$ isdimvar : logi FALSE
  .. .. ..- attr(*, "class")= chr "ncid4"
  .. ..$ name : chr "cesm_02/tas"
  .. ..$ ndims : int 1
  .. ..$ natts : int 0
  .. ..$ size : int 4
  .. ..$ dimids : int 1
  .. ..$ prec : chr "float"
  .. ..$ units : chr ""
  .. ..$ longname : chr "tas"
  .. ..$ group_index : int 4
  .. ..$ chunksizes : int 0
  .. ..$ storage : int 1
  .. ..$ shuffle : int 0
  .. ..$ compression : logi NA
  .. ..$ dims : list()
  .. ..$ dim :List of 1
  .. .. ..$ :List of 10
  .. .. .. ..$ name : chr "cesm_02/time"
  .. .. .. ..$ len : int 4
  .. .. .. ..$ unlim : logi FALSE
  .. .. .. ..$ group_index : int 4
  .. .. .. ..$ group_id : int 65539
  .. .. .. ..$ id : int 1
  .. .. .. ..$ dimvarid :List of 5
  .. .. .. .. ..$ id : int -1
  .. .. .. .. ..$ group_index: int 4
  .. .. .. .. ..$ group_id : int 65539
  .. .. .. .. ..$ list_index : num -1
  .. .. .. .. ..$ isdimvar : logi TRUE
  .. .. .. .. ..- attr(*, "class")= chr "ncid4"
  .. .. .. ..$ vals : int [1:4] 1 2 3 4
  .. .. .. ..$ units : chr ""
  .. .. .. ..$ create_dimvar: logi FALSE
  .. .. .. ..- attr(*, "class")= chr "ncdim4"
  .. ..$ varsize : int 4
  .. ..$ unlim : logi FALSE
  .. ..$ missval : num 1e+30
  .. ..$ hasAddOffset: logi FALSE
  .. ..$ hasScaleFact: logi FALSE
  .. ..- attr(*, "class")= chr "ncvar4"
  ..$ ecmwf_01/tas:List of 21
  .. ..$ id :List of 5
  .. .. ..$ id : num 0
  .. .. ..$ group_index: num -1
  .. .. ..$ group_id : int 65541
  .. .. ..$ list_index : num 3
  .. .. ..$ isdimvar : logi FALSE
  .. .. ..- attr(*, "class")= chr "ncid4"
  .. ..$ name : chr "ecmwf_01/tas"
  .. ..$ ndims : int 1
  .. ..$ natts : int 0
  .. ..$ size : int 4
  .. ..$ dimids : int 2
  .. ..$ prec : chr "float"
  .. ..$ units : chr ""
  .. ..$ longname : chr "tas"
  .. ..$ group_index : int 6
  .. ..$ chunksizes : int 0
  .. ..$ storage : int 1
  .. ..$ shuffle : int 0
  .. ..$ compression : logi NA
  .. ..$ dims : list()
  .. ..$ dim :List of 1
  .. .. ..$ :List of 10
  .. .. .. ..$ name : chr "ecmwf_01/time"
  .. .. .. ..$ len : int 4
  .. .. .. ..$ unlim : logi FALSE
  .. .. .. ..$ group_index : int 6
  .. .. .. ..$ group_id : int 65541
  .. .. .. ..$ id : int 2
  .. .. .. ..$ dimvarid :List of 5
  .. .. .. .. ..$ id : int -1
  .. .. .. .. ..$ group_index: int 6
  .. .. .. .. ..$ group_id : int 65541
  .. .. .. .. ..$ list_index : num -1
  .. .. .. .. ..$ isdimvar : logi TRUE
  .. .. .. .. ..- attr(*, "class")= chr "ncid4"
  .. .. .. ..$ vals : int [1:4] 1 2 3 4
  .. .. .. ..$ units : chr ""
  .. .. .. ..$ create_dimvar: logi FALSE
  .. .. .. ..- attr(*, "class")= chr "ncdim4"
  .. ..$ varsize : int 4
  .. ..$ unlim : logi FALSE
  .. ..$ missval : num 1e+30
  .. ..$ hasAddOffset: logi FALSE
  .. ..$ hasScaleFact: logi FALSE
  .. ..- attr(*, "class")= chr "ncvar4"
  ..$ ecmwf_02/tas:List of 21
  .. ..$ id :List of 5
  .. .. ..$ id : num 0
  .. .. ..$ group_index: num -1
  .. .. ..$ group_id : int 65542
  .. .. ..$ list_index : num 4
  .. .. ..$ isdimvar : logi FALSE
  .. .. ..- attr(*, "class")= chr "ncid4"
  .. ..$ name : chr "ecmwf_02/tas"
  .. ..$ ndims : int 1
  .. ..$ natts : int 0
  .. ..$ size : int 4
  .. ..$ dimids : int 3
  .. ..$ prec : chr "float"
  .. ..$ units : chr ""
  .. ..$ longname : chr "tas"
  .. ..$ group_index : int 7
  .. ..$ chunksizes : int 0
  .. ..$ storage : int 1
  .. ..$ shuffle : int 0
  .. ..$ compression : logi NA
  .. ..$ dims : list()
  .. ..$ dim :List of 1
  .. .. ..$ :List of 10
  .. .. .. ..$ name : chr "ecmwf_02/time"
  .. .. .. ..$ len : int 4
  .. .. .. ..$ unlim : logi FALSE
  .. .. .. ..$ group_index : int 7
  .. .. .. ..$ group_id : int 65542
  .. .. .. ..$ id : int 3
  .. .. .. ..$ dimvarid :List of 5
  .. .. .. .. ..$ id : int -1
  .. .. .. .. ..$ group_index: int 7
  .. .. .. .. ..$ group_id : int 65542
  .. .. .. .. ..$ list_index : num -1
  .. .. .. .. ..$ isdimvar : logi TRUE
  .. .. .. .. ..- attr(*, "class")= chr "ncid4"
  .. .. .. ..$ vals : int [1:4] 1 2 3 4
  .. .. .. ..$ units : chr ""
  .. .. .. ..$ create_dimvar: logi FALSE
  .. .. .. ..- attr(*, "class")= chr "ncdim4"
  .. ..$ varsize : int 4
  .. ..$ unlim : logi FALSE
  .. ..$ missval : num 1e+30
  .. ..$ hasAddOffset: logi FALSE
  .. ..$ hasScaleFact: logi FALSE
  .. ..- attr(*, "class")= chr "ncvar4"
 - attr(*, "class")= chr "ncdf4"

**********************
"The contents of this message do not reflect any position of the U.S. Government or NOAA."
**********************
Roy Mendelssohn
Supervisory Operations Research Analyst
NOAA/NMFS
Environmental Research Division
Southwest Fisheries Science Center
1352 Lighthouse Avenue
Pacific Grove, CA 93950-2097

e-mail: Roy.Mendelssohn at noaa.gov (Note new e-mail address)
voice: (831)-648-9029
fax: (831)-648-8440
www: http://www.pfeg.noaa.gov/

"Old age and treachery will overcome youth and skill."
"From those who have been given much, much will be expected"
"the arc of the moral universe is long, but it bends toward justice" -MLK Jr.
Received on Thu Sep 26 2013 - 14:17:05 BST

This archive was generated by hypermail 2.3.0 : Tue Sep 13 2022 - 23:02:41 BST

⇐ ⇒