1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/time_series/10.write_ameriflux_cn_FMH38cn.ncl Thu Mar 26 14:02:21 2009 -0400
1.3 @@ -0,0 +1,208 @@
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.38cn"
1.17 +
1.18 + ;diro = "/ptmp/jeff/"
1.19 + diro = "/lustre/wolf-ddn/scratch/hof/cases1/i01.38cn_out/"
1.20 + filo = model_name + "_ameriflux_2151-2175_monthly.nc"
1.21 + c = addfile(diro+filo,"c")
1.22 + filedimdef(c,"year",-1,True)
1.23 +
1.24 +; input data
1.25 +
1.26 + nlat = 96
1.27 + nlon = 144
1.28 +
1.29 + year_start = 2151
1.30 + year_end = 2175
1.31 +
1.32 + nyear = year_end - year_start + 1
1.33 + nmonth = 12
1.34 +
1.35 + data1 = new((/nyear,nmonth,nlat,nlon/),float)
1.36 + data2 = new((/nyear,nmonth,nlat,nlon/),float)
1.37 + data3 = new((/nyear,nmonth,nlat,nlon/),float)
1.38 + ;data4 = new((/nyear,nmonth,nlat,nlon/),float)
1.39 + ;data5 = new((/nyear,nmonth,nlat,nlon/),float)
1.40 + data6 = new((/nyear,nmonth,nlat,nlon/),float)
1.41 + data7 = new((/nyear,nmonth,nlat,nlon/),float)
1.42 + data8 = new((/nyear,nmonth,nlat,nlon/),float)
1.43 + data9 = new((/nyear,nmonth,nlat,nlon/),float)
1.44 + data10 = new((/nyear,nmonth,nlat,nlon/),float)
1.45 + date = new((/nyear,nmonth/),integer)
1.46 +
1.47 +; name dimensions and assign coordinate variables
1.48 +
1.49 + data1!0 ="year"
1.50 + data1!1 ="month"
1.51 + data1!2 = "lat"
1.52 + data1!3 = "lon"
1.53 +
1.54 + data2!0 ="year"
1.55 + data2!1 ="month"
1.56 + data2!2 = "lat"
1.57 + data2!3 = "lon"
1.58 +
1.59 + data3!0 ="year"
1.60 + data3!1 ="month"
1.61 + data3!2 = "lat"
1.62 + data3!3 = "lon"
1.63 +
1.64 + ;data4!0 ="year"
1.65 + ;data4!1 ="month"
1.66 + ;data4!2 = "lat"
1.67 + ;data4!3 = "lon"
1.68 +
1.69 + ;data5!0 ="year"
1.70 + ;data5!1 ="month"
1.71 + ;data5!2 = "lat"
1.72 + ;data5!3 = "lon"
1.73 +
1.74 + data6!0 ="year"
1.75 + data6!1 ="month"
1.76 + data6!2 = "lat"
1.77 + data6!3 = "lon"
1.78 +
1.79 + data7!0 ="year"
1.80 + data7!1 ="month"
1.81 + data7!2 = "lat"
1.82 + data7!3 = "lon"
1.83 +
1.84 + data8!0 ="year"
1.85 + data8!1 ="month"
1.86 + data8!2 = "lat"
1.87 + data8!3 = "lon"
1.88 +
1.89 + data9!0 ="year"
1.90 + data9!1 ="month"
1.91 + data9!2 = "lat"
1.92 + data9!3 = "lon"
1.93 +
1.94 + data10!0 ="year"
1.95 + data10!1 ="month"
1.96 + data10!2 = "lat"
1.97 + data10!3 = "lon"
1.98 +
1.99 + date!0 ="year"
1.100 + date!1 ="month"
1.101 + date@long_name = "date: yyyymm"
1.102 +
1.103 +; input dir
1.104 + diri = "/lustre/wolf-ddn/scratch/hof/cases1/"+model_name+"/"
1.105 +
1.106 + do m = 0,nyear-1
1.107 + year = year_start + m
1.108 + do n = 0,nmonth-1
1.109 + nn = n+1
1.110 + date(m,n) = year*100 +nn
1.111 +
1.112 +; input file
1.113 + if (nn .ge. 10) then
1.114 + fili = model_name+".clm2.h0."+year+"-"+nn+".nc"
1.115 + else
1.116 + fili = model_name+".clm2.h0."+year+"-0"+nn+".nc"
1.117 + end if
1.118 +
1.119 + print (fili)
1.120 +
1.121 + g = addfile (diri+fili,"r")
1.122 +
1.123 + b = g->NEE
1.124 + data1(m,n,:,:) = (/b(0,:,:)/)
1.125 + data1@long_name = b@long_name
1.126 + data1@units = b@units
1.127 + data1@_FillValue = b@_FillValue
1.128 + delete (b)
1.129 +
1.130 + b = g->GPP
1.131 + data2(m,n,:,:) = (/b(0,:,:)/)
1.132 + data2@long_name = b@long_name
1.133 + data2@units = b@units
1.134 + data2@_FillValue = b@_FillValue
1.135 + delete (b)
1.136 +
1.137 + b = g->ER
1.138 + data3(m,n,:,:) = (/b(0,:,:)/)
1.139 + data3@long_name = b@long_name
1.140 + data3@units = b@units
1.141 + data3@_FillValue = b@_FillValue
1.142 + delete (b)
1.143 +
1.144 + ;b = g->NETRAD
1.145 + ;data4(m,n,:,:) = (/b(0,:,:)/)
1.146 + ;data4@long_name = b@long_name
1.147 + ;data4@units = b@units
1.148 + ;data4@_FillValue = b@_FillValue
1.149 + ;delete (b)
1.150 +
1.151 + ;b = g->LATENT
1.152 + ;data5(m,n,:,:) = (/b(0,:,:)/)
1.153 + ;data5@long_name = b@long_name
1.154 + ;data5@units = b@units
1.155 + ;data5@_FillValue = b@_FillValue
1.156 + ;delete (b)
1.157 +
1.158 + b = g->FSH
1.159 + data6(m,n,:,:) = (/b(0,:,:)/)
1.160 + data6@long_name = b@long_name
1.161 + data6@units = b@units
1.162 + data6@_FillValue = b@_FillValue
1.163 + delete (b)
1.164 +
1.165 + b = g->FSDS
1.166 + data7(m,n,:,:) = (/b(0,:,:)/)
1.167 + data7@long_name = b@long_name
1.168 + data7@units = b@units
1.169 + data7@_FillValue = b@_FillValue
1.170 + delete (b)
1.171 +
1.172 + b = g->FCEV
1.173 + data8(m,n,:,:) = (/b(0,:,:)/)
1.174 + data8@long_name = b@long_name
1.175 + data8@units = b@units
1.176 + data8@_FillValue = b@_FillValue
1.177 + delete (b)
1.178 +
1.179 + b = g->FCTR
1.180 + data9(m,n,:,:) = (/b(0,:,:)/)
1.181 + data9@long_name = b@long_name
1.182 + data9@units = b@units
1.183 + data9@_FillValue = b@_FillValue
1.184 + delete (b)
1.185 +
1.186 + b = g->FGEV
1.187 + data10(m,n,:,:) = (/b(0,:,:)/)
1.188 + data10@long_name = b@long_name
1.189 + data10@units = b@units
1.190 + data10@_FillValue = b@_FillValue
1.191 + delete (b)
1.192 +
1.193 + end do
1.194 + end do
1.195 +
1.196 + c->NEE = data1
1.197 + c->GPP = data2
1.198 + c->ER = data3
1.199 + ;c->NETRAD = data4
1.200 + ;c->LATENT = data5
1.201 + c->FSH = data6
1.202 + c->FSDS = data7
1.203 + c->FCEV = data8
1.204 + c->FCTR = data9
1.205 + c->FGEV = data10
1.206 + c->date = date
1.207 + c->area = g->area
1.208 +
1.209 + print (date)
1.210 +
1.211 +end