observed/npp/zonal_npp.pro
changeset 2 e7ba9bcc3020
equal deleted inserted replaced
-1:000000000000 0:3a15b7b954f5
       
     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