SUBROUTINE BOUND(FLD,FMIN,FMAX,im,jm) use constants !$$$ SUBPROGRAM DOCUMENTATION BLOCK ! SUBPROGRAM: BOUND CLIPS DATA IN PASSED ARRAY ! PRGRMMR: TREADON ORG: W/NP2 DATE: 93-01-18 ! ! ABSTRACT: THIS ROUTINE BOUNDS DATA IN THE PASSED ARRAY ! FLD (IMxJM ELEMENTS LONG) AND CLIPS DATA VALUES SUCH ! THAT ON EXITING THE ROUTINE ! FMIN <= FLD(I,J) <= FMAX ! FOR ALL POINTS. ! PROGRAM HISTORY LOG: ! 93-01-18 RUSS TREADON ! 93-05-07 RUSS TREADON - ADDED DOCBLOC ! 98-05-29 BLACK - CONVERSION FROM 1-D TO 2-D ! 00-01-04 JIM TUCCILLO - MPI VERSION ! 02-04-24 MIKE BALDWIN - WRF VERSION ! USAGE: CALL bound(fld,fmin,fmax) ! INPUT ARGUMENT LIST: ! FMIN - LOWER (INCLUSIVE) BOUND FOR DATA. ! FMAX - UPPER (INCLUSIVE) BOUND FOR DATA. ! OUTPUT ARGUMENT LIST: ! FLD - ARRAY WHOSE ELEMENTS ARE BOUNDED BY [FMIN,FMAX]. ! OUTPUT FILES: ! NONE ! SUBPROGRAMS CALLED: ! UTILITIES: ! NONE ! LIBRARY: ! NONE ! ATTRIBUTES: ! LANGUAGE: FORTRAN 90 ! MACHINE : CRAY C-90 ! DECLARE VARIABLES. REAL FMAX, FMIN REAL FLD(IM,JM) !********************************************************************** ! BOUND ARRAY. where (fld.ne.spval) FLD = AMAX1(FMIN,FLD) FLD = AMIN1(FLD,FMAX) endwhere ! print *, 'bound MIN', MINVAL(FLD) ! print *, 'bound MAX', MAXVAL(FLD) RETURN END