SUBROUTINE SCLFLD(FLD,SCALE,IMO,JMO)
!
!$$$  SUBPROGRAM DOCUMENTATION BLOCK
!                .      .    .     
! SUBPROGRAM:    SCLFLD      SCALE ARRAY ELEMENT BY CONSTANT
!   PRGRMMR: TREADON         ORG: W/NP2      DATE: 92-09-13       
!     
! ABSTRACT:  
!     THIS ROUTINE MULTIPLES (SCALES) THE FIRST IMO*JMO
!     ELEMENTS OF ARRAY FLD BY THE REAL SCALAR SCALE.
!     ARRAY ELEMENTS WHICH EQUAL A SPECIAL VALUE WILL
!     NOT BE SCALED BY SCALE.  THEY WILL BE LEFT AS IS.
!     THE SPECIAL VALUE, SPVAL, IS PASSED THROUGH COMMON
!     BLOCK OPTIONS.  IT IS SET IN INCLUDE FILE OPTIONS.
!   .     
!     
! PROGRAM HISTORY LOG:
!   92-09-13  RUSS TREADON
!   00-01-04  JIM TUCCILLO
!     
! USAGE:    CALL SCLFLD(FLD,SCALE,IMO,JMO)
!   INPUT ARGUMENT LIST:
!     FLD      - ARRAY WHOSE ELEMENTS ARE TO BE SCALED.
!     SCALE    - CONSTANT BY WHICH TO SCALE ELEMENTS OF FLD.
!     IMO,JMO  - DIMENSION OF ARRAY FLD.
!
!   OUTPUT ARGUMENT LIST: 
!     FLD      - ARRAY WHOSE ELEMENTS HAVE BEEN SCALED BY SCALE.
!     
!   OUTPUT FILES:
!     NONE
!     
!   SUBPROGRAMS CALLED:
!     UTILITIES:
!       NONE
!     LIBRARY:
!       COMMON - OPTIONS
!     
!   ATTRIBUTES:
!     LANGUAGE: FORTRAN
!     MACHINE : CRAY C-90
!$$$  
!
      use params_mod, only: small
      use ctlblk_mod, only: jsta, jend, spval
!- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
       implicit none
!     
!     DECLARE VARIABLES.
!     
      integer,intent(in) :: IMO,JMO
      REAL,intent(in) ::  SCALE
      REAL,dimension(imo,jmo),intent(inout) :: FLD
      integer I,J
!     
!     
!***********************************************************************
!     START SCLFLD HERE
!     
!     MULTIPLY EACH ELEMENT OF FLD BY SCALE.
!     
!$omp  parallel do
      DO J=JSTA,JEND
      DO I=1,IMO
        IF(ABS(FLD(I,J)-SPVAL).GT.SMALL) FLD(I,J)=SCALE*FLD(I,J)
      ENDDO
      ENDDO
!     
!     END OF ROUTINE.
!     
      RETURN
      END