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