Ignore:
Timestamp:
Mar 12, 2015, 2:15:18 PM (10 years ago)
Author:
lguez
Message:

Correcting a problem from revision 2218. The type double precision
with option "-fdefault-real-8" of gfortran is promoted to 16-byte
precision and there is no specific procedure in arth with this
precision. Could not add a specific procedure in arth with double
precision because, with ifort, the option "-real-size 64" does not
promote the double precision, so that would make two identical
specific procedures in arth.

In module nrtype, replaced double precision by a parameterized real
kind so that the effective precision does not depend on a compiler
option.

In coefpoly, fxhyp, fyhyp and invert_zoom_x, use the parameterized
real kind defined in nrtype, instead of double precision.

Also, in module nrtype, removed unused derived types sprs2_sp and
sprs2_dp.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/dyn3d_common/fxhyp_m.F90

    r2218 r2228  
    2020    use arth_m, only: arth
    2121    use invert_zoom_x_m, only: invert_zoom_x, nmax
    22     use nrtype, only: pi, pi_d, twopi, twopi_d
     22    use nrtype, only: pi, pi_d, twopi, twopi_d, k8
    2323    use principal_cshift_m, only: principal_cshift
    2424
     
    3636    REAL dzoom, step
    3737    real d_rlonv(iim)
    38     DOUBLE PRECISION xtild(0:2 * nmax)
    39     DOUBLE PRECISION fhyp(nmax:2 * nmax), ffdx, beta, Xprimt(0:2 * nmax)
    40     DOUBLE PRECISION Xf(0:2 * nmax), xxpr(2 * nmax)
    41     DOUBLE PRECISION fa, fb
     38    REAL(K8) xtild(0:2 * nmax)
     39    REAL(K8) fhyp(nmax:2 * nmax), ffdx, beta, Xprimt(0:2 * nmax)
     40    REAL(K8) Xf(0:2 * nmax), xxpr(2 * nmax)
     41    REAL(K8) fa, fb
    4242    INTEGER i, is2
    43     DOUBLE PRECISION xmoy, fxm
     43    REAL(K8) xmoy, fxm
    4444
    4545    !----------------------------------------------------------------------
     
    175175
    176176          call invert_zoom_x(xf, xtild, Xprimt, rlonm025(:iim), &
    177                xprimm025(:iim), xuv = - 0.25d0)
     177               xprimm025(:iim), xuv = - 0.25_k8)
    178178          call invert_zoom_x(xf, xtild, Xprimt, rlonv(:iim), xprimv(:iim), &
    179                xuv = 0d0)
     179               xuv = 0._k8)
    180180          call invert_zoom_x(xf, xtild, Xprimt, rlonu(:iim), xprimu(:iim), &
    181                xuv = 0.5d0)
     181               xuv = 0.5_k8)
    182182          call invert_zoom_x(xf, xtild, Xprimt, rlonp025(:iim), &
    183                xprimp025(:iim), xuv = 0.25d0)
     183               xprimp025(:iim), xuv = 0.25_k8)
    184184       end if test_grossismx
    185185
Note: See TracChangeset for help on using the changeset viewer.