pro mkncdf nlat = 36 nlon = 72 glat = fltarr(nlat) glon = fltarr(nlon) for j=0,nlat-1 do glat[j]=-87.5+(j*5.) for i=0,nlon-1 do glon[i]=-180.+(i*5.) ncid = ncdf_create('file.nc',/clobber) ; creat file (overwrite preexist) latdim = ncdf_dimdef(ncid,'lat',nlat) ; create latitude dimension londim = ncdf_dimdef(ncid,'lon',nlon) ; create longitude dimension ; Define coord vars (they have same name as corresponding dimensions) idlat = ncdf_vardef(ncid,'lat',[latdim],/FLOAT) idlon = ncdf_vardef(ncid,'lon',[londim],/FLOAT) ; ; Create a 2d var (lon,lat), with couple of attributes: ; (create as many vars as you want) ; OPFLUX Variable id_var1 = ncdf_vardef(ncid,'var1',[londim,latdim],/FLOAT) ;create 2dvar ncdf_attput,ncid,id_var1,'long_name','OP Flux' ; give it long name ncdf_attput,ncid,id_var1,'units','cm-2sec-1' ; units attribute ; OPaverage Energy Variable id_var2 = ncdf_vardef(ncid,'var2',[londim,latdim],/FLOAT) ;create 2dvar ncdf_attput,ncid,id_var2,'long_name','OP Average Energy' ; give it long name ncdf_attput,ncid,id_var2,'units','keV' ; units attribute ncdf_control,ncid,/endef ; take out of define mode, into data mode ncdf_varput,ncid,idlat,glat ; give values to latitude coord var ncdf_varput,ncid,idlon,glon ; give values to longitude coord var opflux = fltarr(nlon,nlat) & opflux[*,*]=1. opave = fltarr(nlon,nlat) & opave[*,*]=2. ncdf_varput,ncid,id_var1,opflux ; give values to 2d var ncdf_varput,ncid,id_var2,opave ; give values to 2d var ncdf_close,ncid ; close file end