forrest@0: ;************************************************ forrest@0: ; Read ascii, Write nc forrest@0: ;************************************************ forrest@0: ;load "/fs/cgd/data0/shea/nclGSUN/gsn_code.ncl" forrest@0: ;load "/fs/cgd/data0/shea/nclGSUN/gsn_csm.ncl" forrest@0: ;load "/fs/cgd/data0/shea/nclGSUN/shea_util.ncl" forrest@0: ;************************************************ forrest@0: begin forrest@0: ;--------------------------------------------------- forrest@0: ; final data forrest@0: c = addfile("Npp_0.05deg_mean4.nc","c") forrest@0: filedimdef(c,"time",-1,True) forrest@0: forrest@0: nlat = 180*20 forrest@0: nlon = 360*20 forrest@0: forrest@0: ;--------------------------------------------------- forrest@0: ; input data forrest@0: b = "Npp_0.05deg_mean.ASCII2" forrest@0: forrest@0: t = new((/1,nlat,nlon/),float) forrest@0: lon = new((/nlon/),float) forrest@0: lat = new((/nlat/),float) forrest@0: time = new((/1/),integer) forrest@0: forrest@0: ; sam result forrest@0: ; lon = fspan(-180.,179.95,nlon) forrest@0: ; lat = fspan(-90. , 89.95,nlat) forrest@0: forrest@0: do i = 0,nlon-1 forrest@0: lon(i) = -180. + i*(360./nlon) forrest@0: end do forrest@0: forrest@0: do j = 0,nlat-1 forrest@0: lat(j) = -90. + j*(180./nlat) forrest@0: end do forrest@0: forrest@0: time = 1 forrest@0: forrest@0: ; print (lon) forrest@0: ; print (lat) forrest@0: ; print (time) forrest@0: ;============================= forrest@0: ; create lat and long coordinate variables forrest@0: ;============================ forrest@0: lon!0 = "lon" forrest@0: lon@long_name = "lon" forrest@0: lon@units = "degrees-east" forrest@0: lon&lon = lon forrest@0: forrest@0: lat!0 = "lat" forrest@0: lat@long_name = "lat" forrest@0: lat@units = "degrees_north" forrest@0: lat&lat = lat forrest@0: ;============================= forrest@0: ; name dimensions of t and assign coordinate variables forrest@0: ;============================ forrest@0: t!0 = "time" forrest@0: t!1 = "lat" forrest@0: t!2 = "lon" forrest@0: t&time = time forrest@0: t&lat = lat forrest@0: t&lon = lon forrest@0: t@long_name = "net primary production" forrest@0: t@units = "gC/m^2/year" forrest@0: t@_FillValue= 1.e+36 forrest@0: t@missing_value= 1.e+36 forrest@0: forrest@0: t(0,:,:) = asciiread(b,(/nlat,nlon/),"float") forrest@0: forrest@0: c->NPP = t forrest@0: c->lat = lat forrest@0: c->lon = lon forrest@0: c->time = time forrest@0: forrest@0: do i = 0,nlon-1 forrest@0: do j = 0,nlat-1 forrest@0: if (t(0,j,i) .gt. 0.) then forrest@0: print (t(0,j,i)) forrest@0: end if forrest@0: end do forrest@0: end do forrest@0: end