Dear all, I have used the following code to read in a ncdf file library(chron) library(lattice) library(ncdf4) library(data.table) ncname <- ("/file_path") ncfname <- paste(ncname, ".nc", sep = "") dname <- "ssl" # note: tmp means temperature (not temporary) ncin <- nc_open(ncfname) print(ncin) The attributes of the file are: 4 variables (excluding dimension variables): double longitude[row] long_name: longitude units: degrees_east standard_name: longitude double latitude[row] long_name: latitude units: degrees_north standard_name: latitude double ssl[col,row] long_name: storm surge level units: m _FillValue: -99999 scale_factor: 1 add_offset: 1 float RP[col] long_name: return period units: yr Contents: The RPs have been estimated following the Peak Over Threshold Method (see reference below) Starting date: 01-Dec-2009 End date: 30-Nov-2099 21:00:00 2 dimensions: col Size:8 row Size:2242 I would like to convert the data into a dataframe by longitude and latitude. Is that possible? Thank you! Sincerely, Milu [[alternative HTML version deleted]]
The answer to your question is "yes". You probably need to make your example reproducible by including (or referencing by URL) sample data if you want a more complete response. -- Sent from my phone. Please excuse my brevity. On June 2, 2016 1:42:55 AM PDT, Miluji Sb <milujisb at gmail.com> wrote:>Dear all, > >I have used the following code to read in a ncdf file > >library(chron) >library(lattice) >library(ncdf4) >library(data.table) > >ncname <- ("/file_path") >ncfname <- paste(ncname, ".nc", sep = "") >dname <- "ssl" # note: tmp means temperature (not temporary) > >ncin <- nc_open(ncfname) >print(ncin) > >The attributes of the file are: > > 4 variables (excluding dimension variables): > double longitude[row] > long_name: longitude > units: degrees_east > standard_name: longitude > double latitude[row] > long_name: latitude > units: degrees_north > standard_name: latitude > double ssl[col,row] > long_name: storm surge level > units: m > _FillValue: -99999 > scale_factor: 1 > add_offset: 1 > float RP[col] > long_name: return period > units: yr > Contents: The RPs have been estimated following the Peak Over >Threshold Method (see reference below) > Starting date: 01-Dec-2009 > End date: 30-Nov-2099 21:00:00 > 2 dimensions: > col Size:8 > row Size:2242 > >I would like to convert the data into a dataframe by longitude and >latitude. Is that possible? Thank you! > >Sincerely, > >Milu > > [[alternative HTML version deleted]] > >______________________________________________ >R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >https://stat.ethz.ch/mailman/listinfo/r-help >PLEASE do read the posting guide >http://www.R-project.org/posting-guide.html >and provide commented, minimal, self-contained, reproducible code.[[alternative HTML version deleted]]
There's a pretty good chance this question has been previously asked and answered on the R-sig-geo mailing list (though I don't know for sure). In addition, entering "R convert ncdf to data frame" in a web search returned some possibilities, the first of which (for me) was http://geog.uoregon.edu/bartlein/courses/geog607/Rmd/netCDF_01.htm and partway down that page is an entry, "Get a single time slice of the data, create an R data frame, and write a .csv file" which does indeed have some examples of how to convert to a data frame. -Don -- Don MacQueen Lawrence Livermore National Laboratory 7000 East Ave., L-627 Livermore, CA 94550 925-423-1062 On 6/2/16, 1:42 AM, "R-help on behalf of Miluji Sb" <r-help-bounces at r-project.org on behalf of milujisb at gmail.com> wrote:>Dear all, > >I have used the following code to read in a ncdf file > >library(chron) >library(lattice) >library(ncdf4) >library(data.table) > >ncname <- ("/file_path") >ncfname <- paste(ncname, ".nc", sep = "") >dname <- "ssl" # note: tmp means temperature (not temporary) > >ncin <- nc_open(ncfname) >print(ncin) > >The attributes of the file are: > > 4 variables (excluding dimension variables): > double longitude[row] > long_name: longitude > units: degrees_east > standard_name: longitude > double latitude[row] > long_name: latitude > units: degrees_north > standard_name: latitude > double ssl[col,row] > long_name: storm surge level > units: m > _FillValue: -99999 > scale_factor: 1 > add_offset: 1 > float RP[col] > long_name: return period > units: yr > Contents: The RPs have been estimated following the Peak Over >Threshold Method (see reference below) > Starting date: 01-Dec-2009 > End date: 30-Nov-2099 21:00:00 > 2 dimensions: > col Size:8 > row Size:2242 > >I would like to convert the data into a dataframe by longitude and >latitude. Is that possible? Thank you! > >Sincerely, > >Milu > > [[alternative HTML version deleted]] > >______________________________________________ >R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >https://stat.ethz.ch/mailman/listinfo/r-help >PLEASE do read the posting guide >http://www.R-project.org/posting-guide.html >and provide commented, minimal, self-contained, reproducible code.