lai/03.2.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 ; interpolate into model grids (T31)
     3 ; ***********************************************
     4 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
     5 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
     6 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
     7 ;************************************************
     8 begin
     9 
    10   year = 2001
    11 
    12 ;************************************************
    13 ; output data
    14 ;************************************************
    15   diro  = "/fis/cgd/cseg/people/jeff/clamp_data/lai/ob/"
    16   filo  = "LAI_" + year + "_monthly_1.9.nc"
    17 
    18   c = addfile(diro+filo,"c")
    19   filedimdef(c,"time",-1,True)
    20 
    21 ;************************************************
    22 ; read in observed data
    23 ;************************************************
    24   diri  = "/fis/cgd/cseg/people/jeff/clamp_data/lai/ob/"
    25   fili  = "LAI_" + year + "_monthly.nc"
    26 
    27   g     = addfile (diri+fili,"r")
    28   bi    = g->LAI   
    29   xi    = g->lon 
    30   yi    = g->lat
    31 
    32 ;************************************************
    33 ; change into 0-360E, 90S-90N
    34 ;************************************************
    35  
    36  yi    = (/ yi(::-1) /)
    37  bi    = (/ bi(:,::-1,:) /)
    38  printVarSummary(bi)
    39 
    40  b2    = bi
    41  x2    = xi   
    42  
    43  nx = dimsizes(xi)
    44  do i= 0,nx-1
    45     if (i .lt. 3600) then
    46        p = i + 3600
    47        xi(p) = x2(i) + 360.      
    48     else
    49        p = i - 3600
    50        xi(p) = x2(i)
    51     end if
    52     bi(:,:,p)= b2(:,:,i) 
    53  end do
    54 
    55  bi&lat =  yi
    56  bi&lon =  xi
    57 
    58 ;print (xi)
    59 ;print (yi)
    60 
    61 ;************************************************
    62 ; read in model data
    63 ;************************************************
    64  diri2  = "/fis/cgd/cseg/people/jeff/clamp_data/model/"
    65  fili2  = "newcn05_ncep_1i_MONS_climo_lnd.nc"
    66  f      = addfile (diri2+fili2,"r")
    67 
    68  lon    = f->lon     
    69  lat    = f->lat
    70  nlon   = dimsizes(lon)
    71  nlat   = dimsizes(lat)      
    72 
    73 ; print (xi)
    74 ; print (yi)
    75 ; print (xo)
    76 ; print (yo)
    77 
    78  bo = new((/12,nlat,nlon/),float)
    79 
    80  do m = 0,11
    81     do j=0,nlat-1
    82        if (j.eq.0 .or. j.eq.nlat-1) then
    83           if (j.eq.0) then
    84              LATS = -90.          
    85              LATN = lat(j)+0.5*(lat(j+1)-lat(j))
    86           end if
    87           if (j.eq.nlat-1) then
    88              LATS = lat(j)-0.5*(lat(j)-lat(j-1))
    89              LATN = 90.                  
    90           end if
    91        else
    92           LATS = lat(j)-0.5*(lat(j)-lat(j-1))
    93           LATN = lat(j)+0.5*(lat(j+1)-lat(j))
    94        end if
    95  
    96       do i=0,nlon-1
    97        if (i.eq.0 .or. i.eq.nlon-1) then
    98           if (i.eq.0) then
    99              LONL = 0.          
   100              LONR = lon(i)+0.5*(lon(i+1)-lon(i))
   101           end if
   102           if (i.eq.nlon-1) then
   103              LONL = lon(i)-0.5*(lon(i)-lon(i-1))
   104              LONR = 360.                 
   105           end if
   106        else
   107           LONL = lon(i)-0.5*(lon(i)-lon(i-1))
   108           LONR = lon(i)+0.5*(lon(i+1)-lon(i))
   109        end if
   110 
   111 ;print (LATS)
   112 ;print (LATN)
   113 ;print (LONL)
   114 ;print (LONR)
   115 
   116          bo(m,j,i) = avg(bi(m,{LATS:LATN},{LONL:LONR}))  
   117       end do 
   118     end do
   119   end do
   120 
   121   bo!0   = "time"
   122   bo!1   = "lat"
   123   bo!2   = "lon"
   124   bo&time= bi&time
   125   bo&lat = lat
   126   bo&lon = lon
   127   bo@units      = bi@units
   128   bo@long_name  = bi@long_name
   129   bo@_FillValue = bi@_FillValue
   130 
   131   c->LAI  = bo
   132 end