SUBROUTINE BOUND(FLD,FMIN,FMAX,IM,JM) C$$$ SUBPROGRAM DOCUMENTATION BLOCK C . . . C SUBPROGRAM: BOUND CLIPS DATA IN PASSED ARRAY C PRGRMMR: TREADON ORG: W/NP2 DATE: 93-01-18 C C ABSTRACT: THIS ROUTINE BOUNDS DATA IN THE PASSED ARRAY C FLD (IMxJM ELEMENTS LONG) AND CLIPS DATA VALUES SUCH C THAT ON EXITING THE ROUTINE C FMIN <= FLD(I,J) <= FMAX C FOR ALL POINTS. C C C PROGRAM HISTORY LOG: C 93-01-18 RUSS TREADON C 93-05-07 RUSS TREADON - ADDED DOCBLOC C 98-05-29 BLACK - CONVERSION FROM 1-D TO 2-D C 00-01-04 JIM TUCCILLO - MPI VERSION C C USAGE: CALL bound(fld,fmin,fmax,npts) C INPUT ARGUMENT LIST: C FMIN - LOWER (INCLUSIVE) BOUND FOR DATA. C FMAX - UPPER (INCLUSIVE) BOUND FOR DATA. C IM,JM - DIMENSION OF DATA ARRAY FLD. C C OUTPUT ARGUMENT LIST: C FLD - ARRAY WHOSE ELEMENTS ARE BOUNDED BY [FMIN,FMAX]. C C OUTPUT FILES: C NONE C C SUBPROGRAMS CALLED: C UTILITIES: C NONE C LIBRARY: C NONE C C ATTRIBUTES: C LANGUAGE: FORTRAN 90 C MACHINE : CRAY C-90 C$$$ C C INCLUDE "CTLBLK.comm" C C DECLARE VARIABLES. REAL FMAX, FMIN, FLD(IM,JM) C C C********************************************************************** C START BOUND HERE. C C BOUND ARRAY. !$omp parallel do DO J=JSTA,JEND DO I=1,IM FLD(I,J) = AMAX1(FMIN,FLD(I,J)) FLD(I,J) = AMIN1(FLD(I,J),FMAX) ENDDO ENDDO C C END OF ROUTINE. C RETURN END