Changeset 2228 for LMDZ5/trunk/libf/dyn3d_common/invert_zoom_x_m.F90
- Timestamp:
- Mar 12, 2015, 2:15:18 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/dyn3d_common/invert_zoom_x_m.F90
r2218 r2228 10 10 11 11 use coefpoly_m, only: coefpoly 12 use nrtype, only: pi, pi_d, twopi_d 12 use nrtype, only: pi, pi_d, twopi_d, k8 13 13 14 14 include "dimensions.h" … … 18 18 ! for clon 19 19 20 DOUBLE PRECISION, intent(in):: Xf(0:), xtild(0:), Xprimt(0:) ! (0:2 * nmax)20 REAL(K8), intent(in):: Xf(0:), xtild(0:), Xprimt(0:) ! (0:2 * nmax) 21 21 real, intent(out):: xlon(:), xprimm(:) ! (iim) 22 22 23 DOUBLE PRECISION, intent(in):: xuv23 REAL(K8), intent(in):: xuv 24 24 ! 0. si calcul aux points scalaires 25 25 ! 0.5 si calcul aux points U 26 26 27 27 ! Local: 28 DOUBLE PRECISIONxo1, Xfi, a0, a1, a2, a3, Xf1, Xprimin28 REAL(K8) xo1, Xfi, a0, a1, a2, a3, Xf1, Xprimin 29 29 integer i, it, iter 30 DOUBLE PRECISION, parameter:: my_eps = 1d-630 REAL(K8), parameter:: my_eps = 1e-6_k8 31 31 32 DOUBLE PRECISIONxxprim(iim), xvrai(iim)32 REAL(K8) xxprim(iim), xvrai(iim) 33 33 ! intermediary variables because xlon and xprimm are simple precision 34 34 … … 36 36 37 37 DO i = 1, iim 38 Xfi = - pi_d + (i + xuv - 0.75 d0) * twopi_d / iim38 Xfi = - pi_d + (i + xuv - 0.75_k8) * twopi_d / iim 39 39 40 40 it = 2 * nmax … … 54 54 xtild(it), xtild(it + 1), a0, a1, a2, a3) 55 55 Xf1 = Xf(it) 56 Xprimin = a1 + xvrai(i) * (2 d0 * a2 + xvrai(i) * 3d0* a3)56 Xprimin = a1 + xvrai(i) * (2._k8 * a2 + xvrai(i) * 3._k8 * a3) 57 57 xo1 = xvrai(i) 58 58 iter = 1 … … 63 63 xo1 = xvrai(i) 64 64 Xf1 = a0 + xvrai(i) * (a1 + xvrai(i) * (a2 + xvrai(i) * a3)) 65 Xprimin = a1 + xvrai(i) * (2 d0 * a2 + xvrai(i) * 3d0* a3)65 Xprimin = a1 + xvrai(i) * (2._k8 * a2 + xvrai(i) * 3._k8 * a3) 66 66 end DO 67 67
Note: See TracChangeset
for help on using the changeset viewer.