1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/time_series/10.write_ameriflux_casa.ncl Mon Jan 26 22:08:20 2009 -0500
1.3 @@ -0,0 +1,167 @@
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.10casa"
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->AR
1.119 + data3(m,n,:,:) = (/b(0,:,:)/)
1.120 + b = g->HR
1.121 + data3(m,n,:,:) = data3(m,n,:,:)+(/b(0,:,:)/)
1.122 + data3@long_name = "total ecosystem respiration, autotrophic + heterotrophic"
1.123 + data3@units = b@units
1.124 + data3@_FillValue = b@_FillValue
1.125 + delete (b)
1.126 +
1.127 + b = g->NETRAD
1.128 + data4(m,n,:,:) = (/b(0,:,:)/)
1.129 + data4@long_name = b@long_name
1.130 + data4@units = b@units
1.131 + data4@_FillValue = b@_FillValue
1.132 + delete (b)
1.133 +
1.134 + b = g->LATENT
1.135 + data5(m,n,:,:) = (/b(0,:,:)/)
1.136 + data5@long_name = b@long_name
1.137 + data5@units = b@units
1.138 + data5@_FillValue = b@_FillValue
1.139 + delete (b)
1.140 +
1.141 + b = g->FSH
1.142 + data6(m,n,:,:) = (/b(0,:,:)/)
1.143 + data6@long_name = b@long_name
1.144 + data6@units = b@units
1.145 + data6@_FillValue = b@_FillValue
1.146 + delete (b)
1.147 +
1.148 + b = g->FSDS
1.149 + data7(m,n,:,:) = (/b(0,:,:)/)
1.150 + data7@long_name = b@long_name
1.151 + data7@units = b@units
1.152 + data7@_FillValue = b@_FillValue
1.153 + delete (b)
1.154 +
1.155 + end do
1.156 + end do
1.157 +
1.158 + c->NEE = data1
1.159 + c->GPP = data2
1.160 + c->ER = data3
1.161 + c->NETRAD = data4
1.162 + c->LATENT = data5
1.163 + c->FSH = data6
1.164 + c->FSDS = data7
1.165 + c->date = date
1.166 + c->area = g->area
1.167 +
1.168 + print (date)
1.169 +
1.170 +end