time_series/10.write_ameriflux_casa.ncl
changeset 1 4be95183fbcd
equal deleted inserted replaced
-1:000000000000 0:6cefb817b637
       
     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