--- trunk/dyn3d/leapfrog.f 2014/04/02 12:59:54 95 +++ trunk/dyn3d/leapfrog.f 2014/04/25 14:58:31 97 @@ -148,11 +148,11 @@ dp, vcov, ucov, teta, q(:, :, :, :2), ps, masse, finvmaold, dt, & leapf) + forall (l = 1: llm + 1) p3d(:, :, l) = ap(l) + bp(l) * ps + CALL exner_hyb(ps, p3d, pks, pk, pkf) + if (.not. leapf) then ! Matsuno backward - forall (l = 1: llm + 1) p3d(:, :, l) = ap(l) + bp(l) * ps - CALL exner_hyb(ps, p3d, pks, pk, pkf) - ! Calcul des tendances dynamiques: CALL geopot(teta, pk, pks, phis, phi) CALL caldyn(itau + 1, ucov, vcov, teta, ps, masse, pk, pkf, phis, & @@ -163,14 +163,14 @@ CALL integrd(vcovm1, ucovm1, tetam1, psm1, massem1, dv, dudyn, & dteta, dp, vcov, ucov, teta, q(:, :, :, :2), ps, masse, & finvmaold, dtvr, leapf=.false.) + + forall (l = 1: llm + 1) p3d(:, :, l) = ap(l) + bp(l) * ps + CALL exner_hyb(ps, p3d, pks, pk, pkf) end if IF (MOD(itau + 1, iphysiq) == 0 .AND. iflag_phys /= 0) THEN ! Calcul des tendances physiques: - forall (l = 1: llm + 1) p3d(:, :, l) = ap(l) + bp(l) * ps - CALL exner_hyb(ps, p3d, pks, pk) - rdaym_ini = itau * dtvr / daysec rdayvrai = rdaym_ini + day_ini time = REAL(mod(itau, day_step)) / day_step + time_0 @@ -183,9 +183,6 @@ CALL addfi(ucov, vcov, teta, q, dufi, dvfi, dtetafi, dqfi) ENDIF - forall (l = 1: llm + 1) p3d(:, :, l) = ap(l) + bp(l) * ps - CALL exner_hyb(ps, p3d, pks, pk, pkf) - IF (MOD(itau + 1, idissip) == 0) THEN ! Dissipation horizontale et verticale des petites \'echelles