carbon_sink/02.write_tseries_cn.ncl
author Forrest Hoffman <forrest@climatemodeling.org>
Mon, 26 Jan 2009 22:08:20 -0500
changeset 0 0c6405ab2ff4
permissions -rw-r--r--
Initial commit of C-LAMP Diagnostics from Jeff Lee
     1 ;************************************************
     2 ;    read from mss
     3 ;    output fire(COL_FIRE_CLOSS), NPP, NEE                        
     4 ;************************************************
     5 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
     6 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
     7 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"  
     8 ;************************************************
     9 begin
    10 
    11 ; input data
    12 
    13 ; model_name = "i01.10cn"
    14   model_name = "i01.10casa"
    15 
    16   nlat = 64
    17   nlon = 128
    18 
    19   year_start = 1979
    20   year_end   = 1990
    21 
    22   diri  = "/ptmp/jeff/"+model_name+"/"
    23 
    24   system("mkdir "+diri)
    25 
    26 ; output
    27   
    28   diro  = "/ptmp/jeff/"
    29   filo  = model_name + "_Fire_C_"+year_start+"-"+year_end+"_monthly.nc"
    30   c = addfile(diro+filo,"c")
    31   filedimdef(c,"year",-1,True) 
    32 
    33 
    34   nyear  = year_end - year_start + 1
    35   nmonth = 12
    36   
    37   data1  = new((/nyear,nmonth,nlat,nlon/),float)
    38   data2  = new((/nyear,nmonth,nlat,nlon/),float)
    39   data3  = new((/nyear,nmonth,nlat,nlon/),float)
    40   date   = new((/nyear,nmonth/),integer)
    41 
    42 ; input from mss
    43 
    44   do m = 0,nyear-1
    45      year = year_start + m
    46 
    47      text = "mss:/FORREST/CCSM/results/"+model_name+"/lnd/hist/*"+year+"* "
    48      print (text)
    49 
    50      system("msrcp "+text+diri)
    51      system("dcswait")
    52      print (year)   
    53 
    54   do n = 0,nmonth-1
    55      nn = n+1
    56      date(m,n) = year*100 +nn 
    57      
    58 ;    input file
    59      if (nn .ge. 10) then
    60         fili = model_name+".clm2.h0."+year+"-"+nn+".nc"
    61      else
    62         fili = model_name+".clm2.h0."+year+"-0"+nn+".nc"
    63      end if
    64 
    65 ;    print (fili)
    66 
    67      g  = addfile (diri+fili,"r")
    68 
    69      b1 = g->COL_FIRE_CLOSS
    70      data1(m,n,:,:) = (/b1(0,:,:)/)
    71 
    72      b2 = g->NPP
    73      data2(m,n,:,:) = (/b2(0,:,:)/)
    74 
    75      b3 = g->NEE
    76      data3(m,n,:,:) = (/b3(0,:,:)/)
    77     
    78   end do
    79 
    80 ;    system("rm "+diri+"*")     
    81 
    82   end do
    83 
    84 ;  name dimensions and assign coordinate variables
    85 
    86   data1!0    ="year"
    87   data1!1    ="month"
    88   data1!2    = "lat"
    89   data1!3    = "lon"
    90   data1@long_name  = b1@long_name
    91   data1@units      = b1@units
    92   data1@_FillValue = b1@_FillValue
    93 
    94   data2!0    ="year"
    95   data2!1    ="month"
    96   data2!2    = "lat"
    97   data2!3    = "lon"
    98   data2@long_name  = b2@long_name
    99   data2@units      = b2@units
   100   data2@_FillValue = b2@_FillValue
   101 
   102   data3!0    ="year"
   103   data3!1    ="month"
   104   data3!2    = "lat"
   105   data3!3    = "lon"
   106   data3@long_name  = b3@long_name
   107   data3@units      = b3@units
   108   data3@_FillValue = b3@_FillValue
   109 
   110   date!0    ="year"
   111   date!1    ="month"
   112   date@long_name  = "date: yyyymm"
   113          
   114   c->COL_FIRE_CLOSS = data1
   115   c->NPP            = data2
   116   c->NEE            = data3
   117   c->date           = date
   118   c->area           = g->area
   119 
   120   print (date)
   121 
   122 end