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