pushd /ufrc/henderson/share/geos-chem/data/ExtData/HEMCO/TOMS_SBUV/v2015-03 for YYYY in 2003 2004 2005 do echo ${YYYY} ncatted -a _FillValue,DTOMS2,o,f,-999.99 -a missing_value,DTOMS2,o,f,-999.99 -a _FillValue,DTOMS1,o,f,-999.99 -a missing_value,DTOMS1,o,f,-999.99 -a _FillValue,TOMS,o,f,-999.99 -a missing_value,TOMS,o,f,-999.99 TOMS_O3col_${YYYY}.geos.1x1.nc pncgen -O --out-format=NETCDF4_CLASSIC --expr "TOMS1=TOMS+15*DTOMS1; TOMS2=TOMS+15*DTOMS2; print(TOMS1.mask.mean()) for _i in np.arange(1,12): TOMS1[_i] = np.ma.where(TOMS1[_i].mask, TOMS1[_i-1], TOMS1[_i]) TOMS2[_i] = np.ma.where(TOMS2[_i].mask, TOMS2[_i-1], TOMS2[_i]) print(TOMS1.mask.mean()) TOMS1[:] = np.ma.where(TOMS1.mask, TOMS1[:].mean(0)[None].repeat(12,0), TOMS1) print(TOMS1.mask.mean()) TOMS2[:] = np.ma.where(TOMS2.mask, TOMS2[:].mean(0)[None].repeat(12,0), TOMS2) print(TOMS1.mask.mean()) for _l in np.arange(90,181): TOMS1[:,_l] = np.ma.where(TOMS1[:,_l].mask, TOMS1[:,_l-180], TOMS1[:,_l]) TOMS2[:,_l] = np.ma.where(TOMS2[:,_l].mask, TOMS2[:,_l-180], TOMS2[:,_l]) print(TOMS1.mask.mean()) for _l in np.arange(160,181): TOMS1[:,_l] = np.ma.where(TOMS1[:,_l].mask, TOMS1[:,_l-1], TOMS1[:,_l]) TOMS2[:,_l] = np.ma.where(TOMS2[:,_l].mask, TOMS2[:,_l-1], TOMS2[:,_l]) for _l in np.arange(21,0,-1): TOMS1[:,_l] = np.ma.where(TOMS1[:,_l].mask, TOMS1[:,_l+1], TOMS1[:,_l]) TOMS2[:,_l] = np.ma.where(TOMS2[:,_l].mask, TOMS2[:,_l+1], TOMS2[:,_l]) print(TOMS1.mask.mean()) " TOMS_O3col_${YYYY}.geos.1x1.nc TOMS_O3col_${YYYY}.a.geos.1x1.nc pncmap.py -v TOMS1,TOMS2 -r time,mean --norm="Normalize()" --expr="longitude=lon;latitude=lat;" TOMS_O3col_${YYYY}.a.geos.1x1.nc TOMS_O3col_${YYYY}.a.geos.1x1. done popd