|
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 |