1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/time_series/10.write_ameriflux_cn.ncl Mon Jan 26 22:08:20 2009 -0500
1.3 @@ -0,0 +1,165 @@
1.4 +;************************************************
1.5 +; Read ascii, Write nc
1.6 +; output: lat: N->S lon: -180W->180E
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 +; output
1.15 +
1.16 + model_name = "i01.10cn"
1.17 +
1.18 + diro = "/ptmp/jeff/"
1.19 + filo = model_name + "_ameriflux_1990-2004_monthly.nc"
1.20 + c = addfile(diro+filo,"c")
1.21 + filedimdef(c,"year",-1,True)
1.22 +
1.23 +; input data
1.24 +
1.25 + nlat = 64
1.26 + nlon = 128
1.27 +
1.28 + year_start = 1990
1.29 + year_end = 2004
1.30 +
1.31 + nyear = year_end - year_start + 1
1.32 + nmonth = 12
1.33 +
1.34 + data1 = new((/nyear,nmonth,nlat,nlon/),float)
1.35 + data2 = new((/nyear,nmonth,nlat,nlon/),float)
1.36 + data3 = new((/nyear,nmonth,nlat,nlon/),float)
1.37 + data4 = new((/nyear,nmonth,nlat,nlon/),float)
1.38 + data5 = new((/nyear,nmonth,nlat,nlon/),float)
1.39 + data6 = new((/nyear,nmonth,nlat,nlon/),float)
1.40 + data7 = new((/nyear,nmonth,nlat,nlon/),float)
1.41 + date = new((/nyear,nmonth/),integer)
1.42 +
1.43 +; name dimensions and assign coordinate variables
1.44 +
1.45 + data1!0 ="year"
1.46 + data1!1 ="month"
1.47 + data1!2 = "lat"
1.48 + data1!3 = "lon"
1.49 +
1.50 + data2!0 ="year"
1.51 + data2!1 ="month"
1.52 + data2!2 = "lat"
1.53 + data2!3 = "lon"
1.54 +
1.55 + data3!0 ="year"
1.56 + data3!1 ="month"
1.57 + data3!2 = "lat"
1.58 + data3!3 = "lon"
1.59 +
1.60 + data4!0 ="year"
1.61 + data4!1 ="month"
1.62 + data4!2 = "lat"
1.63 + data4!3 = "lon"
1.64 +
1.65 + data5!0 ="year"
1.66 + data5!1 ="month"
1.67 + data5!2 = "lat"
1.68 + data5!3 = "lon"
1.69 +
1.70 + data6!0 ="year"
1.71 + data6!1 ="month"
1.72 + data6!2 = "lat"
1.73 + data6!3 = "lon"
1.74 +
1.75 + data7!0 ="year"
1.76 + data7!1 ="month"
1.77 + data7!2 = "lat"
1.78 + data7!3 = "lon"
1.79 +
1.80 + date!0 ="year"
1.81 + date!1 ="month"
1.82 + date@long_name = "date: yyyymm"
1.83 +
1.84 +; input dir
1.85 + diri = "/ptmp/jeff/"+model_name+"/"
1.86 +
1.87 + do m = 0,nyear-1
1.88 + year = year_start + m
1.89 + do n = 0,nmonth-1
1.90 + nn = n+1
1.91 + date(m,n) = year*100 +nn
1.92 +
1.93 +; input file
1.94 + if (nn .ge. 10) then
1.95 + fili = model_name+".clm2.h0."+year+"-"+nn+".nc"
1.96 + else
1.97 + fili = model_name+".clm2.h0."+year+"-0"+nn+".nc"
1.98 + end if
1.99 +
1.100 + print (fili)
1.101 +
1.102 + g = addfile (diri+fili,"r")
1.103 +
1.104 + b = g->NEE
1.105 + data1(m,n,:,:) = (/b(0,:,:)/)
1.106 + data1@long_name = b@long_name
1.107 + data1@units = b@units
1.108 + data1@_FillValue = b@_FillValue
1.109 + delete (b)
1.110 +
1.111 + b = g->GPP
1.112 + data2(m,n,:,:) = (/b(0,:,:)/)
1.113 + data2@long_name = b@long_name
1.114 + data2@units = b@units
1.115 + data2@_FillValue = b@_FillValue
1.116 + delete (b)
1.117 +
1.118 + b = g->ER
1.119 + data3(m,n,:,:) = (/b(0,:,:)/)
1.120 + data3@long_name = b@long_name
1.121 + data3@units = b@units
1.122 + data3@_FillValue = b@_FillValue
1.123 + delete (b)
1.124 +
1.125 + b = g->NETRAD
1.126 + data4(m,n,:,:) = (/b(0,:,:)/)
1.127 + data4@long_name = b@long_name
1.128 + data4@units = b@units
1.129 + data4@_FillValue = b@_FillValue
1.130 + delete (b)
1.131 +
1.132 + b = g->LATENT
1.133 + data5(m,n,:,:) = (/b(0,:,:)/)
1.134 + data5@long_name = b@long_name
1.135 + data5@units = b@units
1.136 + data5@_FillValue = b@_FillValue
1.137 + delete (b)
1.138 +
1.139 + b = g->FSH
1.140 + data6(m,n,:,:) = (/b(0,:,:)/)
1.141 + data6@long_name = b@long_name
1.142 + data6@units = b@units
1.143 + data6@_FillValue = b@_FillValue
1.144 + delete (b)
1.145 +
1.146 + b = g->FSDS
1.147 + data7(m,n,:,:) = (/b(0,:,:)/)
1.148 + data7@long_name = b@long_name
1.149 + data7@units = b@units
1.150 + data7@_FillValue = b@_FillValue
1.151 + delete (b)
1.152 +
1.153 + end do
1.154 + end do
1.155 +
1.156 + c->NEE = data1
1.157 + c->GPP = data2
1.158 + c->ER = data3
1.159 + c->NETRAD = data4
1.160 + c->LATENT = data5
1.161 + c->FSH = data6
1.162 + c->FSDS = data7
1.163 + c->date = date
1.164 + c->area = g->area
1.165 +
1.166 + print (date)
1.167 +
1.168 +end