pro construct_ncep2_stress_ogcm ; Purpose ; ------- ; Constructs text files containing annual-mean and monthly NCEP2 wind stresses, ; in the format read by the CSIRO OGCM ; ; History ; ------- ; 2004 Sep 14 Steve Phipps Original version ; Define constants imt = 66 jmt = 58 ; Initialise variables tauxann = fltarr(imt, jmt) tauyann = fltarr(imt, jmt) taux = fltarr(imt, jmt, 12) tauy = fltarr(imt, jmt, 12) ; Get NCEP2 wind stresses ncid = ncdf_open("ncep2_stress_ogcm_ann_mid.nc") uannid = ncdf_varid(ncid, "uflxann") vannid = ncdf_varid(ncid, "vflxann") uclimid = ncdf_varid(ncid, "uflx") vclimid = ncdf_varid(ncid, "vflx") ncdf_varget, ncid, uannid, uflxann ncdf_varget, ncid, vannid, vflxann ncdf_varget, ncid, uclimid, uflx ncdf_varget, ncid, vclimid, vflx ncdf_close, ncid ; Transfer data to the output arrays, and pad as necessary tauxann(1:imt-2, 1:jmt-2) = uflxann tauyann(1:imt-2, 1:jmt-2) = vflxann taux(1:imt-2, 1:jmt-2, *) = uflx tauy(1:imt-2, 1:jmt-2, *) = vflx tauxann(0, *) = tauxann(imt-2, *) tauyann(0, *) = tauyann(imt-2, *) taux(0, *, *) = taux(imt-2, *, *) tauy(0, *, *) = tauy(imt-2, *, *) tauxann(imt-1, *) = tauxann(1, *) tauyann(imt-1, *) = tauyann(1, *) taux(imt-1, *, *) = taux(1, *, *) tauy(imt-1, *, *) = tauy(1, *, *) tauxann(*, 0) = 0.0 tauyann(*, 0) = 0.0 taux(*, 0, *) = 0.0 tauy(*, 0, *) = 0.0 tauxann(*, jmt-1) = 0.0 tauyann(*, jmt-1) = 0.0 taux(*, jmt-1, *) = 0.0 tauy(*, jmt-1, *) = 0.0 ; Write annual means to output file header1 = ' ' header2 = ' ' title1 = 'NCEP2 annual zonal wind stress v2' title2 = 'NCEP2 annual meridional wind stress v2' strput, header1, title1, 0 strput, header2, title2, 0 openw, 1, "stress.dat.ncep2_v2_ann" for k = 0, 11 do begin printf, 1, format='(1x, a50, i3)', header1, k+1 for j = 0, jmt-2 do begin printf, 1, format='(1x, 16f8.5)', tauxann(*, j) endfor endfor for k = 0, 11 do begin printf, 1, format='(1x, a50, i3)', header2, k+1 for j = 0, jmt-2 do begin printf, 1, format='(1x, 16f8.5)', tauyann(*, j) endfor endfor close, 1 ; Write monthly values to output file header1 = ' ' header2 = ' ' title1 = 'NCEP2 zonal wind stress v2' title2 = 'NCEP2 meridional wind stress v2' strput, header1, title1, 0 strput, header2, title2, 0 openw, 1, "stress.dat.ncep2_v2_mid" for k = 0, 11 do begin printf, 1, format='(1x, a50, i3)', header1, k+1 for j = 0, jmt-2 do begin printf, 1, format='(1x, 16f8.5)', taux(*, j, k) endfor endfor for k = 0, 11 do begin printf, 1, format='(1x, a50, i3)', header2, k+1 for j = 0, jmt-2 do begin printf, 1, format='(1x, 16f8.5)', tauy(*, j, k) endfor endfor close, 1 end