How to extract variable names from a netCDF file in R?

后端 未结 2 694
旧巷少年郎
旧巷少年郎 2021-01-11 12:12

I am writing a function in R to extract some air quality modelling data from netCDF files. I have the Package \"ncdf\" installed.

In order to allow other users or my

相关标签:
2条回答
  • 2021-01-11 13:11

    If your ncdf object is called nc, then quite simply:

    names(nc$var)
    

    With an example, using the dataset downloaded here, for instance (since you didn't provide with one):

    nc <- open.ncdf("20130128-ABOM-L4HRfnd-AUS-v01-fv01_0-RAMSSA_09km.nc")
    names(nc$var)
    [1] "analysed_sst"     "analysis_error"   "sea_ice_fraction" "mask"   
    
    0 讨论(0)
  • 2021-01-11 13:16

    It is now 2016. ncdf package is deprecated. Same code as SE user plannapus' answer is now:

    library(ncdf4)
    netcdf.file <- "flux.nc"
    nc = ncdf4::nc_open(netcdf.file)
    variables = names(nc[['var']])
    #print(nc)
    

    A note from the documentation:

    Package: ncdf
    Title: Interface to Unidata netCDF Data Files
    Maintainer: Brian Ripley <ripley@stats.ox.ac.uk>
    Version: 1.6.9
    Author: David Pierce <dpierce@ucsd.edu>
    Description: This is deprecated and will be removed
       from CRAN in early 2016: use 'RNetCDF' or 'ncdf4' instead.
    
    Newer package "ncdf4" is designed to work with the netcdf library 
    version 4, and supports features such as compression and 
    chunking.Unfortunately, for various reasons the ncdf4 package must have
    a different API than the ncdf package.
    

    A note from the home page of the maintainer:

    Package ncdf4 -- use this for new code
    
    The "ncdf4" package is designed to work with the netcdf library, version 4. 
    It includes the ability to use compression and chunking, 
    which seem to be some of the most anticipated benefits of the version 4 
    library. Note that the API of ncdf4 has to be different 
    from the API of ncdf, unfortunately. New code should use ncdf4, not ncdf. 
    

    http://cirrus.ucsd.edu/~pierce/ncdf/

    0 讨论(0)
提交回复
热议问题