diff -r 000000000000 -r 0c6405ab2ff4 carbon_sink/02.write_tseries_casa.ncl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/carbon_sink/02.write_tseries_casa.ncl Mon Jan 26 22:08:20 2009 -0500 @@ -0,0 +1,121 @@ +;************************************************ +; read from mss +; output fire(COL_FIRE_CLOSS), NPP, NEE +;************************************************ +load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" +load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl" +load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl" +;************************************************ +begin + +; input data + + model_name = "i01.10casa" + + nlat = 64 + nlon = 128 + + year_start = 1979 + year_end = 2004 + + diri = "/ptmp/jeff/"+model_name+"/" + + system("mkdir "+diri) + +; output + + diro = "/ptmp/jeff/" + filo = model_name + "_Fire_C_"+year_start+"-"+year_end+"_monthly.nc" + c = addfile(diro+filo,"c") + filedimdef(c,"year",-1,True) + + + nyear = year_end - year_start + 1 + nmonth = 12 + +; data1 = new((/nyear,nmonth,nlat,nlon/),float) + data2 = new((/nyear,nmonth,nlat,nlon/),float) + data3 = new((/nyear,nmonth,nlat,nlon/),float) + date = new((/nyear,nmonth/),integer) + +; input from mss + + do m = 0,nyear-1 + year = year_start + m + + text = "mss:/FORREST/CCSM/results/"+model_name+"/lnd/hist/*"+year+"* " + print (text) + + system("msrcp "+text+diri) + system("dcswait") + print (year) + + do n = 0,nmonth-1 + nn = n+1 + date(m,n) = year*100 +nn + +; input file + if (nn .ge. 10) then + fili = model_name+".clm2.h0."+year+"-"+nn+".nc" + else + fili = model_name+".clm2.h0."+year+"-0"+nn+".nc" + end if + +; print (fili) + + g = addfile (diri+fili,"r") + +; b1 = g->COL_FIRE_CLOSS +; data1(m,n,:,:) = (/b1(0,:,:)/) + + b2 = g->NPP + data2(m,n,:,:) = (/b2(0,:,:)/) + + b3 = g->NEE + data3(m,n,:,:) = (/b3(0,:,:)/) + + end do + +; system("rm "+diri+"*") + + end do + +; name dimensions and assign coordinate variables + +; data1!0 ="year" +; data1!1 ="month" +; data1!2 = "lat" +; data1!3 = "lon" +; data1@long_name = b1@long_name +; data1@units = b1@units +; data1@_FillValue = b1@_FillValue + + data2!0 ="year" + data2!1 ="month" + data2!2 = "lat" + data2!3 = "lon" + data2@long_name = b2@long_name + data2@units = b2@units + data2@_FillValue = b2@_FillValue + + data3!0 ="year" + data3!1 ="month" + data3!2 = "lat" + data3!3 = "lon" + data3@long_name = b3@long_name + data3@units = b3@units + data3@_FillValue = b3@_FillValue + + date!0 ="year" + date!1 ="month" + date@long_name = "date: yyyymm" + +; c->COL_FIRE_CLOSS = data1 + c->NPP = data2 + c->NEE = data3 + c->date = date + c->area = g->area + + print (date) + +end