thanks you for your note! its working now! I had to change the missing value 
which was creating the problem i mentioned. 

-- 
Regards,
Mahalakshmi
Graduate Student
#20, Department of Geography
Michigan State University
East Lansing, MI 48824 Quoting kapo coulibaly <kmcou...@gmail.com>:

> I actually got your code to work by making very slight modifications:
>
> put.var.ncdf(nc.ex, varz, arr1980[,,1])
>
> # reading it in with
>
> nc.open <- open.ncdf("rf.nc")
> get.var.ncdf(nc.open, "Rainfall")->dummy
> image(dummy)  # plots a map of india
>
>
> On Sat, Oct 23, 2010 at 8:41 PM, <govin...@msu.edu> wrote:
>
>>
>>
>> Hi all,
>>
>> I have the following issue with creating a ncdf file. Can someone suggest
>> me how to solve?
>>
>> I have *.grd files for each year starting from 1980 to 2009. Each
>> file has daily rainfall values for lon:  66.5 N to 100.5 E, lat: 6.5
>> N to 38.5 N. Leap years have 366 days  in respective files. In order
>> to proceed with my analysis, I am preparing a netcdf file which would
>> consist of daily dataset for the above said years (if you think there
>> is another simple way to compile every file into single file, let me
>> know of it too!). I have written the following R code (though not
>> complete yet), but the issue is that when I print variable written in
>> the netcdf file, I get "9.96921e+36" values in place of both "NA" and
>> some valid values (which I knew by comparing with the original file).
>>
>> Here is the code...!
>> #####################################################
>> # define the netcdf coordinate variables -- note these have values!  #
>> #####################################################
>>
>> library(ncdf)
>> x <- dim.def.ncdf( "Lon", "degreesE",
>> seq(66.5,len=69, by=0.5), create_dimvar=TRUE)
>> y <- dim.def.ncdf( "Lat", "degreesN",
>> seq(6.5,len=65, by=0.5), create_dimvar=TRUE)
>> t <- dim.def.ncdf( "Time", "days since 1980-01-01", 1:366,
>> unlim=TRUE)      #although I have not used "t" dimension now, as  it
>> was kinda complex to start with
>>
>> # define the EMPTY (RF) netcdf variable
>> origMissVal <- -1
>>
>> varz = var.def.ncdf("Rainfall","millimeters", list(x,y), origMissVal,
>> longname="Daily Rainfall Data, 0.5 x 0.5 reso. (India)",
>> prec="double")
>>
>> nc.ex = create.ncdf("rf.nc", varz, verbose=FALSE)
>>
>> ######################
>> # ReadTime function  #
>> ######################
>>
>> readTime <- function(f,tm,x=69,y=65,size=4,type="double",NAvalue=-999){
>> c = file(f,open="rb")
>> seek(c,x*y*(tm-1)*size)
>> m=matrix(readBin(c,type,x*y,size),x,y)
>> #print(m)
>> close(c)
>> m[abs(m-NAvalue)<.Machine$double.eps] = NA
>> m
>> #print(m)
>> }
>>
>> #############
>> # 1980.grd  #  (reading just the 1st day)
>> #############
>>
>> tm <- 1
>> file <- "rf0.5_1980.grd"
>> arr1980 <- array(data=0, c(69, 65, tm))
>> for(i in 1:tm){
>> arr1980[,,i] <- matrix(readTime(file,i), 69, 65)
>> }
>> rm(tm)
>>
>> #######################
>> # writing data
>> ########################
>> nc.ex = create.ncdf("rf.nc", varz, verbose=FALSE)
>> put.var.ncdf(nc.ex, varz, arr1980)
>>
>> close.ncdf(nc.ex)
>>
>> ########################################################
>> # checking the values of the nc file and "arr1980" from the original
>> file    #
>> ########################################################
>> nc.open <- open.ncdf("rf.nc")
>> v2 <- nc.open$var[[1]]
>>
>> d.arr <- array(data=0, c(69, 65))
>> d.arr[,] <- get.var.ncdf(nc.open, v2)
>>
>> close.ncdf(nc.open)
>>
>> ###################
>> # End
>> ###################
>>
>> Thank you for your time and consideration.
>> data file is here ...
>> http://www.4shared.com/file/5ftWLouJ/rf05_1980.html
>>
>> Thanks again!
>>
>> --
>> Regards,
>> Mahalakshmi
>> Graduate Student
>>        [[alternative HTML version deleted]]
>>
>>
>> _______________________________________________
>> R-sig-Geo mailing list
>> R-sig-Geo@stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>
>>
>
        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Reply via email to