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/fyhyp_m.F90

    r2218 r2228  
    1717
    1818    use coefpoly_m, only: coefpoly
     19    use nrtype, only: k8
    1920
    2021    include "dimensions.h"
     
    3031    ! Local:
    3132
    32     DOUBLE PRECISION champmin, champmax
     33    REAL(K8) champmin, champmax
    3334    INTEGER, PARAMETER:: nmax=30000, nmax2=2*nmax
    3435    REAL dzoom ! distance totale de la zone du zoom (en radians)
    35     DOUBLE PRECISION ylat(jjm + 1), yprim(jjm + 1)
    36     DOUBLE PRECISION yuv
    37     DOUBLE PRECISION, save:: yt(0:nmax2)
    38     DOUBLE PRECISION fhyp(0:nmax2), beta
    39     DOUBLE PRECISION, save:: ytprim(0:nmax2)
    40     DOUBLE PRECISION fxm(0:nmax2)
    41     DOUBLE PRECISION, save:: yf(0:nmax2)
    42     DOUBLE PRECISION yypr(0:nmax2)
    43     DOUBLE PRECISION yvrai(jjm + 1), yprimm(jjm + 1), ylatt(jjm + 1)
    44     DOUBLE PRECISION pi, pis2, epsilon, y0, pisjm
    45     DOUBLE PRECISION yo1, yi, ylon2, ymoy, yprimin
    46     DOUBLE PRECISION yfi, yf1, ffdy
    47     DOUBLE PRECISION ypn, deply, y00
     36    REAL(K8) ylat(jjm + 1), yprim(jjm + 1)
     37    REAL(K8) yuv
     38    REAL(K8), save:: yt(0:nmax2)
     39    REAL(K8) fhyp(0:nmax2), beta
     40    REAL(K8), save:: ytprim(0:nmax2)
     41    REAL(K8) fxm(0:nmax2)
     42    REAL(K8), save:: yf(0:nmax2)
     43    REAL(K8) yypr(0:nmax2)
     44    REAL(K8) yvrai(jjm + 1), yprimm(jjm + 1), ylatt(jjm + 1)
     45    REAL(K8) pi, pis2, epsilon, y0, pisjm
     46    REAL(K8) yo1, yi, ylon2, ymoy, yprimin
     47    REAL(K8) yfi, yf1, ffdy
     48    REAL(K8) ypn, deply, y00
    4849    SAVE y00, deply
    4950
     
    5152    INTEGER jpn, jjpn
    5253    SAVE jpn
    53     DOUBLE PRECISION a0, a1, a2, a3, yi2, heavyy0, heavyy0m
    54     DOUBLE PRECISION fa(0:nmax2), fb(0:nmax2)
     54    REAL(K8) a0, a1, a2, a3, yi2, heavyy0, heavyy0m
     55    REAL(K8) fa(0:nmax2), fb(0:nmax2)
    5556    REAL y0min, y0max
    5657
    57     DOUBLE PRECISION heavyside
     58    REAL(K8) heavyside
    5859
    5960    !-------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.