carbon_sink/01.write_tseries_casa.ncl
changeset 0 0c6405ab2ff4
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/carbon_sink/01.write_tseries_casa.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 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.10casa"
    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