[R] Extracting matrix from netCDF file using ncdf4 package

Hemant Chowdhary hcatbr at yahoo.co.in
Sun Jul 3 00:43:13 CEST 2016


 I am working with a 3-dimensional netCDF file having dimensions of X=100, Y=200, T=365. 
My objective is to extract time vectors of a few specific grids that may not be contiguous on X and/or Y. 

For example, I want to extract a 5x365 matrix where 5 rows are each vectors of length 365 of 5 specific X,Y combinations. 

For this, I am currently using the following 

reqX = c(35,35,40,65,95); 
reqY = c(2,5,10,112,120,120); 
nD = length(reqX) 
for(i in 1:nD){ 
idX = ncvar_get(nc=myNC, varid="myVar", start=c(reqX[i],reqY[i]), count=c(1,1)) 
if(i==1){dX = idX} else {dX = rbind(dX,idX)} 
} 

Is there more elegant/faster way other than to using a For Loop like this? It seems very slow when I may have to get much larger matrix where nD can be more than 1000. 

Thank you HC

	[[alternative HTML version deleted]]



More information about the R-help mailing list