I am trying to create a NetCDF file with bathymetry (a matrix) and then to
add a grid type (an integer) as variables.
This is the relevant part of the code:

library(ncdf)
wfile="my_file.nc"
msv=-10
grdtp=2

# Dimensions
d1=dim.def.ncdf("lon","degrees",as.double(lon))
d2=dim.def.ncdf("lat","degrees",as.double(lat))

# Variables
bathymetry=var.def.ncdf("bathymetry","m",list(d1,d2),msv,longname="Bathymetry")

ncw=create.ncdf(writefile,list(bathymetry,loncp,latcp,dlonp,dlatp))
put.var.ncdf(ncw,bathymetry,bat_matrix)

close.ncdf(ncw)

# Here I am trying to add another variable which should have a value of
grdtp

ncw_old=open.ncdf(wfile,write=TRUE)
d3=dim.def.ncdf("grid_type",'',1:1,create_dimvar=FALSE)
grid_t=var.def.ncdf("grid_type","type",d3,1.e30,longname="Grid Type")
ncw_new=var.add.ncdf(ncw_old,grid_t)

Here I stop because R gives an error message:

Error in var.add.ncdf(ncw_old, grid_t) :
 Error in create.ncdf, defining var!

Any ideas of what am I doing wrong?
Thank you!

	[[alternative HTML version deleted]]

