time_series/10.write_ameriflux_casa.ncl
author Forrest Hoffman <forrest@climatemodeling.org>
Thu, 26 Mar 2009 14:02:21 -0400
changeset 1 4be95183fbcd
permissions -rw-r--r--
Modifications to scoring and graphics production for the final version of code for the C-LAMP paper in GCB.
     1 ;************************************************
     2 ;    Read ascii, Write nc
     3 ;    output: lat: N->S     lon: -180W->180E                         
     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 ; output
    12 
    13   model_name = "i01.10casa"
    14   
    15   diro  = "/ptmp/jeff/"
    16   filo  = model_name + "_ameriflux_1990-2004_monthly.nc"
    17   c = addfile(diro+filo,"c")
    18   filedimdef(c,"year",-1,True) 
    19 
    20 ; input data
    21 
    22   nlat = 64
    23   nlon = 128
    24 
    25   year_start = 1990
    26   year_end   = 2004
    27 
    28   nyear  = year_end - year_start + 1
    29   nmonth = 12
    30   
    31   data1  = new((/nyear,nmonth,nlat,nlon/),float)
    32   data2  = new((/nyear,nmonth,nlat,nlon/),float)
    33   data3  = new((/nyear,nmonth,nlat,nlon/),float)
    34   data4  = new((/nyear,nmonth,nlat,nlon/),float)
    35   data5  = new((/nyear,nmonth,nlat,nlon/),float)
    36   data6  = new((/nyear,nmonth,nlat,nlon/),float)
    37   data7  = new((/nyear,nmonth,nlat,nlon/),float)
    38   date   = new((/nyear,nmonth/),integer)
    39 
    40 ;  name dimensions and assign coordinate variables
    41 
    42   data1!0    ="year"
    43   data1!1    ="month"
    44   data1!2    = "lat"
    45   data1!3    = "lon"
    46 
    47   data2!0    ="year"
    48   data2!1    ="month"
    49   data2!2    = "lat"
    50   data2!3    = "lon"
    51 
    52   data3!0    ="year"
    53   data3!1    ="month"
    54   data3!2    = "lat"
    55   data3!3    = "lon"
    56 
    57   data4!0    ="year"
    58   data4!1    ="month"
    59   data4!2    = "lat"
    60   data4!3    = "lon"
    61 
    62   data5!0    ="year"
    63   data5!1    ="month"
    64   data5!2    = "lat"
    65   data5!3    = "lon"
    66 
    67   data6!0    ="year"
    68   data6!1    ="month"
    69   data6!2    = "lat"
    70   data6!3    = "lon"
    71 
    72   data7!0    ="year"
    73   data7!1    ="month"
    74   data7!2    = "lat"
    75   data7!3    = "lon"
    76 
    77   date!0    ="year"
    78   date!1    ="month"
    79   date@long_name  = "date: yyyymm"
    80 
    81 ; input dir
    82   diri  = "/ptmp/jeff/"+model_name+"/"
    83 
    84   do m = 0,nyear-1
    85      year = year_start + m
    86   do n = 0,nmonth-1
    87      nn = n+1
    88      date(m,n) = year*100 +nn 
    89      
    90 ;    input file
    91      if (nn .ge. 10) then
    92         fili = model_name+".clm2.h0."+year+"-"+nn+".nc"
    93      else
    94         fili = model_name+".clm2.h0."+year+"-0"+nn+".nc"
    95      end if
    96 
    97      print (fili)
    98 
    99      g = addfile (diri+fili,"r")
   100 
   101      b = g->NEE
   102      data1(m,n,:,:) = (/b(0,:,:)/)
   103      data1@long_name  = b@long_name
   104      data1@units      = b@units
   105      data1@_FillValue = b@_FillValue
   106      delete (b)
   107 
   108      b = g->GPP
   109      data2(m,n,:,:) = (/b(0,:,:)/)
   110      data2@long_name  = b@long_name
   111      data2@units      = b@units
   112      data2@_FillValue = b@_FillValue
   113      delete (b)
   114 
   115      b = g->AR
   116      data3(m,n,:,:) = (/b(0,:,:)/)
   117      b = g->HR
   118      data3(m,n,:,:) = data3(m,n,:,:)+(/b(0,:,:)/)
   119      data3@long_name  = "total ecosystem respiration, autotrophic + heterotrophic"
   120      data3@units      = b@units
   121      data3@_FillValue = b@_FillValue
   122      delete (b)
   123 
   124      b = g->NETRAD
   125      data4(m,n,:,:) = (/b(0,:,:)/)
   126      data4@long_name  = b@long_name
   127      data4@units      = b@units
   128      data4@_FillValue = b@_FillValue
   129      delete (b)
   130 
   131      b = g->LATENT
   132      data5(m,n,:,:) = (/b(0,:,:)/)
   133      data5@long_name  = b@long_name
   134      data5@units      = b@units
   135      data5@_FillValue = b@_FillValue
   136      delete (b)
   137 
   138      b = g->FSH
   139      data6(m,n,:,:) = (/b(0,:,:)/)
   140      data6@long_name  = b@long_name
   141      data6@units      = b@units
   142      data6@_FillValue = b@_FillValue
   143      delete (b)
   144 
   145      b = g->FSDS
   146      data7(m,n,:,:) = (/b(0,:,:)/)
   147      data7@long_name  = b@long_name
   148      data7@units      = b@units
   149      data7@_FillValue = b@_FillValue
   150      delete (b)
   151   
   152   end do
   153   end do
   154          
   155   c->NEE = data1
   156   c->GPP = data2
   157   c->ER  = data3
   158   c->NETRAD = data4
   159   c->LATENT = data5
   160   c->FSH    = data6
   161   c->FSDS    = data7
   162   c->date   = date
   163   c->area   = g->area
   164 
   165   print (date)
   166 
   167 end