ameriflux/07.missing_year.ncl
changeset 0 0c6405ab2ff4
equal deleted inserted replaced
-1:000000000000 0:191b3763de5c
       
     1 ;************************************************************
       
     2 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
       
     3 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
       
     4 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
       
     5 ;************************************************************
       
     6 
       
     7 begin
       
     8 
       
     9   year_new = 2000
       
    10   file_input  = "1999_L4_m.nc"
       
    11   file_output = year_new+"_L4_m.nc"
       
    12  
       
    13   a = addfile(file_input,"r")
       
    14   b = addfile(file_output,"c")
       
    15 ;-------------------------------------------------------------------
       
    16 ; Enter predefine phase.
       
    17 
       
    18 ; Write global attributes to file. It's okay to do this before 
       
    19 ; predefining the file's variables. We are still in "define" mode.
       
    20 
       
    21   fAtt               = True
       
    22   fAtt@description   = "Data read in from " + file_input 
       
    23   fAtt@creation_date = systemfunc ("date")        
       
    24   fileattdef( b, fAtt )        
       
    25 
       
    26   filedimdef( b,"year",-1,True)
       
    27 ;-------------------------------------------------------------------
       
    28   month_of_year = (/1,2,3,4,5,6,7,8,9,10,11,12/)
       
    29  
       
    30   Var = getfilevarnames(a)
       
    31   nVar= dimsizes(Var)
       
    32 
       
    33 ; do n = 0,nVar-1
       
    34 ;    print( (/Var(n)/))
       
    35 ; end do
       
    36  
       
    37   do n = 0,nVar-1
       
    38 
       
    39      if (Var(n).ne."year" .and. Var(n).ne."Month" .and. Var(n).ne."n_days" .and. Var(n).ne."lat" .and. Var(n).ne."lon" ) then
       
    40 
       
    41         temp = a->$Var(n)$
       
    42         temp(0,:) = -999.
       
    43         b->$Var(n)$ = temp
       
    44      else
       
    45 
       
    46      if (Var(n).eq."year") then
       
    47         b->$Var(n)$ = year_new
       
    48      end if
       
    49 
       
    50      if (Var(n).eq."Month") then
       
    51         Month = a->$Var(n)$
       
    52         Month(0,:)= month_of_year + year_new * 100   
       
    53         b->$Var(n)$ = Month
       
    54      end if
       
    55 
       
    56      if (Var(n).eq."n_days" .or. Var(n).eq."lat" .or. Var(n).eq."lon") then
       
    57         b->$Var(n)$ = a->$Var(n)$
       
    58      end if
       
    59 
       
    60      end if
       
    61   end do
       
    62  
       
    63 end