observed/npp/zonal_npp.pro
author Forrest Hoffman <forrest@climatemodeling.org>
Thu, 26 Mar 2009 14:31:28 -0400
changeset 2 e7ba9bcc3020
permissions -rw-r--r--
New model subsets and MODIS NPP for final C-LAMP paper in GCB.
     1 pro zonal_npp
     2 
     3 cdfid=ncdf_open('npp_T42_mean_2000-2004.nc')
     4 lon_dimid=ncdf_dimid(cdfid,'lon')
     5 ncdf_diminq,cdfid,lon_dimid,lon_name,lon_size
     6 lat_dimid=ncdf_dimid(cdfid,'lat')
     7 ncdf_diminq,cdfid,lat_dimid,lat_name,lat_size
     8 lon_varid=ncdf_varid(cdfid,'lon')
     9 ncdf_varget,cdfid,lon_varid,lon
    10 lat_varid=ncdf_varid(cdfid,'lat')
    11 ncdf_varget,cdfid,lat_varid,lat
    12 npp_varid=ncdf_varid(cdfid,'NPP')
    13 ncdf_varget,cdfid,npp_varid,npp
    14 ncdf_attget,cdfid,npp_varid,'long_name',long_name
    15 ncdf_attget,cdfid,npp_varid,'_FillValue',missing_value
    16 ncdf_attget,cdfid,npp_varid,'units',units
    17 ncdf_close,cdfid
    18 
    19 npp_zmean=fltarr(lat_size)
    20 npp_zstddev=fltarr(lat_size)
    21 
    22 for i=0,lat_size-1 do begin
    23    vdata = npp[*,i]
    24    idx = where(vdata ne missing_value,cnt)
    25    if cnt gt 0 then begin
    26       npp_zmean[i] = mean(vdata[where(vdata ne missing_value)])
    27    endif else begin
    28       npp_zmean[i] = 0.
    29    endelse
    30    if cnt gt 1 then begin
    31       npp_zstddev[i] = stddev(vdata[where(vdata ne missing_value)])
    32    endif else begin
    33       npp_zstddev[i] = 0.
    34    endelse
    35 endfor
    36 
    37 ofname='npp_T42_mean_2000-2004_zonal.dat'
    38 openw,1,ofname
    39 printf,1,'     Latitude ZonalMean_NPP   ZonalStdDev_NPP'
    40 for i=0,lat_size-1 do begin
    41    printf,1,lat[i],npp_zmean[i],npp_zstddev[i]
    42 endfor
    43 close,1
    44 
    45 return
    46 end