1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/carbon_sink/01.write_tseries_cn.ncl Mon Jan 26 22:08:20 2009 -0500
1.3 @@ -0,0 +1,122 @@
1.4 +;************************************************
1.5 +; read from /ptmp/
1.6 +; output fire(COL_FIRE_CLOSS), NPP, NEE
1.7 +;************************************************
1.8 +load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
1.9 +load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
1.10 +load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
1.11 +;************************************************
1.12 +begin
1.13 +
1.14 +; input data
1.15 +
1.16 + model_name = "i01.10cn"
1.17 +
1.18 + nlat = 64
1.19 + nlon = 128
1.20 +
1.21 + year_start = 1991
1.22 + year_end = 2004
1.23 +
1.24 + diri = "/ptmp/jeff/"+model_name+"/"
1.25 +
1.26 + system("mkdir "+diri)
1.27 +
1.28 +; output
1.29 +
1.30 + diro = "/ptmp/jeff/"
1.31 + filo = model_name + "_Fire_C_"+year_start+"-"+year_end+"_monthly.nc"
1.32 + c = addfile(diro+filo,"c")
1.33 + filedimdef(c,"year",-1,True)
1.34 +
1.35 +
1.36 + nyear = year_end - year_start + 1
1.37 + nmonth = 12
1.38 +
1.39 + data1 = new((/nyear,nmonth,nlat,nlon/),float)
1.40 + data2 = new((/nyear,nmonth,nlat,nlon/),float)
1.41 + data3 = new((/nyear,nmonth,nlat,nlon/),float)
1.42 + date = new((/nyear,nmonth/),integer)
1.43 +
1.44 +; input from /ptmp/
1.45 +
1.46 +
1.47 + do m = 0,nyear-1
1.48 + year = year_start + m
1.49 +
1.50 +; text = "mss:/FORREST/CCSM/results/"+model_name+"/lnd/hist/*"+year+"* "
1.51 +; print (text)
1.52 +
1.53 +; system("msrcp "+text+diri)
1.54 +; system("dcswait")
1.55 + print (year)
1.56 +
1.57 + do n = 0,nmonth-1
1.58 + nn = n+1
1.59 + date(m,n) = year*100 +nn
1.60 +
1.61 +; input file
1.62 + if (nn .ge. 10) then
1.63 + fili = model_name+".clm2.h0."+year+"-"+nn+".nc"
1.64 + else
1.65 + fili = model_name+".clm2.h0."+year+"-0"+nn+".nc"
1.66 + end if
1.67 +
1.68 +; print (fili)
1.69 +
1.70 + g = addfile (diri+fili,"r")
1.71 +
1.72 + b1 = g->COL_FIRE_CLOSS
1.73 + data1(m,n,:,:) = (/b1(0,:,:)/)
1.74 +
1.75 + b2 = g->NPP
1.76 + data2(m,n,:,:) = (/b2(0,:,:)/)
1.77 +
1.78 + b3 = g->NEE
1.79 + data3(m,n,:,:) = (/b3(0,:,:)/)
1.80 +
1.81 + end do
1.82 +
1.83 +; system("rm "+diri+"*")
1.84 +
1.85 + end do
1.86 +
1.87 +; name dimensions and assign coordinate variables
1.88 +
1.89 + data1!0 ="year"
1.90 + data1!1 ="month"
1.91 + data1!2 = "lat"
1.92 + data1!3 = "lon"
1.93 + data1@long_name = b1@long_name
1.94 + data1@units = b1@units
1.95 + data1@_FillValue = b1@_FillValue
1.96 +
1.97 + data2!0 ="year"
1.98 + data2!1 ="month"
1.99 + data2!2 = "lat"
1.100 + data2!3 = "lon"
1.101 + data2@long_name = b2@long_name
1.102 + data2@units = b2@units
1.103 + data2@_FillValue = b2@_FillValue
1.104 +
1.105 + data3!0 ="year"
1.106 + data3!1 ="month"
1.107 + data3!2 = "lat"
1.108 + data3!3 = "lon"
1.109 + data3@long_name = b3@long_name
1.110 + data3@units = b3@units
1.111 + data3@_FillValue = b3@_FillValue
1.112 +
1.113 + date!0 ="year"
1.114 + date!1 ="month"
1.115 + date@long_name = "date: yyyymm"
1.116 +
1.117 + c->COL_FIRE_CLOSS = data1
1.118 + c->NPP = data2
1.119 + c->NEE = data3
1.120 + c->date = date
1.121 + c->area = g->area
1.122 +
1.123 + print (date)
1.124 +
1.125 +end