C+ C NAME: C FillWholeT C PURPOSE: C To fill Whole T Maps from maps at the other times. C This is evoked if all the time values in a given map C need to be copied from a nearby map. Hopefully, this C Needs only be done at the edges of the times reconstructed C or at some initiation stage of the program. This subroutine C was originally placed as in-line code in the main program. C C CATEGORY: C Data processing C CALLING SEQUENCE: C subroutine FillWholeT(Mode,Nit,NiterT,XCbe,nLng,nLat,NT,nLngLat,ConsTM,DMap,DDD) C INPUTS: C Mode integer 0 - density C 1 - velocity C Nit integer iteration number C NiterT integer Total number of iterations C XCbe(2,NT) real Beginning (and ending) rotation values C nLng integer # of Longitudes C nLat integer # of Latitudes C nT integer # of times C ConsTM real Longitude filter constant (in terms of the numbers of intervals in one rotation) C DMap(nLng,nLat,NT) real Input map C SCRATCH ARRAY: C DDD(nLng) C OUTPUTS: C DMap(nLng,nLat) real Output map C FUNCTIONS/SUBROUTINES: C arrR4getminmax, FillMaptN C PROCEDURE: C Bad values (indicated by BadR4()) are processed C MODIFICATION HISTORY: C MAY, 1999 B. Jackson (STEL,UCSD) C- subroutine FillWholeT(Mode,Nit,NiterT,XCbe,nLng,nLat,nT,ConsTM,DMap,DDD) real DMap(nLng,nLat,nT), ! Map ) & XCbe(2,nT) real DDD(nLng) ! scratch array C Bad = BadR4() nLngLat = nLng*nLat C nT2 = nT/2 do N=nT2,nT-1 NNM = nT - N NNP = N + 1 call arrR4getminmax(nLngLat,DMAP(1,1,NNM),aminm,amaxm) call arrR4getminmax(nLngLat,DMAP(1,1,NNP),aminp,amaxp) if(amaxm.eq.Bad) then if(Nit.eq.0.or.Nit.eq.NiterT-1) then if(Mode.eq.0) print *, 'All bad values in DMAP nT =',NNM if(Mode.eq.1) print *, 'All bad values in VMAP nT =',NNM end if call FillMaptN(NNM,XCbe,nLng,nLat,nT,ConsTM,DMAP,DDD) end if if(amaxp.eq.Bad.and.NNM.ne.NNP) then if(Nit.eq.0.or.Nit.eq.NiterT-1) then if(Mode.eq.0) print *, 'All bad values in DMAP nT =',NNP if(Mode.eq.1) print *, 'All bad values in VMAP nT =',NNP end if call FillMaptN(NNP,XCbe,nLng,nLat,nT,ConsTM,DMAP,DDD) end if end do return end