demissing

;precip
dsize=dimsizes(precip)
nt=dsize(0)
nlat=dsize(1)
nlon=dsize(2)
i=0
;do j=0,nlon-1
;do i=0,nlat-1
do j=0,1
do i=0,1
;identify the unchaged point,and mark it as missing value
    mark_series=precip(:,i,j)
    max_mark=max(mark_series)
    min_mark=min(mark_series)
    if(isatt(max_mark,"_FillValue"))then
        delete_VarAtts(max_mark,"_FillValue")
    end if
    if(isatt(min_mark,"_FillValue"))then
        delete_VarAtts(min_mark,"_FillValue")
    end if
    if (max_mark.eq.min_mark) then
        write_table("./uni_"+latitude(i)+"_"+longitude(j),"w",mark_series,"%12.3f")
    end if
        ;identify the once missed point,and mark it all missing in the time dimension
    signal=ind(ismissing(mark_series))
    if (dimsizes(signal).gt.3) then
        write_table("./mis_"+latitude(i)+"_"+longitude(j)+"_"+dimsizes(signal),"w",mark_series,"%12.3f")
        i=i+1
    end if
    delete(signal)
    delete(mark_series)
end do
end do

你可能感兴趣的:(demissing)