File: pick-dir/pow_arg.f90

    1       SUBROUTINE POW_ARG(Znum,Zarg,Ipow)
    2       IMPLICIT NONE
    3 !
    4 ! Dummy arguments
    5 !
    6       INTEGER :: Ipow
    7       REAL :: Zarg , Znum
    8       INTENT (IN) Znum
    9       INTENT (INOUT) Ipow , Zarg
   10 !
   11 ! Local variables
   12 !
   13       INTEGER :: NINT
   14       REAL :: zlog1
   15 !
   16 !-----------------------------------------------------------------------
   17 !
   18 !     Given a real number ZNUM it is split up as an argument and an
   19 !     exponent, i.e. for ZNUM=1.2e-13, zarg=1.2 & ipow=-13
   20 !
   21 !-----------------------------------------------------------------------
   22 !
   23       zlog1 = LOG10(Znum)
   24       Ipow = NINT(zlog1)
   25       Zarg = Znum/(10.**Ipow)
   26       IF ( Zarg<1. ) THEN
   27          Zarg = Zarg*10.
   28          Ipow = Ipow - 1
   29       ENDIF
   30       IF ( (Ipow>=-3) .AND. (Ipow<=5) ) THEN
   31          Zarg = Znum
   32          Ipow = 0
   33       ENDIF
   34 !
   35 !-----------------------------------------------------------------------
   36 !
   37       END SUBROUTINE POW_ARG