Hi,

This post gives more details on how to transform your lat/lon values to 
row/column indices. The question and answer are specifically about the ncdf 
package, but the workflow is identical when using the ncfd4 package.

https://stat.ethz.ch/pipermail/r-help/2011-March/272641.html

Cheers,
Ben

> On Jan 9, 2016, at 7:14 AM, Anthoni, Peter (IMK) <peter.anth...@kit.edu> 
> wrote:
> 
> Hi Peter,
> 
> the start in nc_varget requires a latitude and longitude index, not the 
> latitude and longitude in double format.
> So you need to figure out what index your latitude and longitude correspond 
> to, which will depends on what data are in your netCDF.
> 
> it might have looked like that it worked for a positive latitude, but you got 
> the data from the latitude index 6 or 7, depends on how the double was 
> transformed into an integer.
> 
> best regards
> Peter
> 
>> On 09 Jan 2016, at 12:28, Peter Tuju via R-help <r-help@r-project.org> wrote:
>> 
>> I have data file in netcdf with three dimensions (x, y, t) and I want to 
>> extract a variable RAINC and RAINNC 
>> using longitude and latitude for a single point location with all the time, 
>> but no lucky. The syntax is as follows;;
>> setwd( "/run/media/tuju/0767090047/extract_wrf_txt_file" )
>> rm( list = ls() )                                              
>> library( ncdf4 )                                     
>> inp_file <- nc_open( "wrfout_d01_2016-01-07.nc" )time <- ncvar_get( 
>> inp_file, "Times" )                      # Reading the time variabledar_lon 
>> <- 39.2dar_lat <- -6.866667
>> RAINC <- ncvar_get( inp_file, varid = "RAINC", start  = c( dar_lon, dar_lat, 
>> 1 ), count = c( 1, 1, -1 ) )
>> RAINNC <- ncvar_get( inp_file, varid = "RAINNC", start  =  c( dar_lon, 
>> dar_lat, 1 ), count = c( 1, 1, -1 ) )
>> RAIN <- RAINC + RAINNCRAIN_TABLE <- cbind( time, RAIN )
>> write.table( RAIN_TABLE, "Dar_es_Salaam.txt", row.names = FALSE, 
>>             col.names = c( "Valid Forecast Time",  "Rain (mm)", sep = "\t " )
>> 
>> # But no lucky with the red bolded syntax as I end up with the following 
>> error message> RAINC <- ncvar_get( inp_file, varid = "RAINC", start  = c( 
>> Lon[2], Lat[2], 1 ), count = c( 1, 1, -1 ) )
>> Error in Rsx_nc4_get_vara_double: NetCDF: Index exceeds dimension bound
>> Var: RAINC  Ndims: 3   Start: 0,4294967289,38 Count: 17,1,1
>> Error in ncvar_get_inner(ncid2use, varid2use, nc$var[[li]]$missval, 
>> addOffset,  : 
>>  C function R_nc4_get_vara_double returned error
>> However when I cahnge the latitude to postive it works fine. Note latitudes 
>> in the file data ranges from -16.71505 to 7.787529 as shown below;
>> head(ncvar_get(inp_file, "XLAT"))
>> [1] -16.71505 -16.71505 -16.71505 -16.71505 -16.71505 -16.71505
>>> tail(ncvar_get(inp_file, "XLAT"))
>> [1] 7.787529 7.787529 7.787529 7.787529 7.787529 7.787529
>> ## So, how can I get the syntax correct? Please help _____________
>> Peter  E. Tuju
>> Dar es Salaam
>> T A N Z A N I A
>> ----------------------
>> 
>> 
>> 
>> 
>> 
>>      [[alternative HTML version deleted]]
>> 
>> ______________________________________________
>> R-help@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.
> 
> ______________________________________________
> R-help@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.

Ben Tupper
Bigelow Laboratory for Ocean Sciences
60 Bigelow Drive, P.O. Box 380
East Boothbay, Maine 04544
http://www.bigelow.org

______________________________________________
R-help@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.

Reply via email to