--- trunk/Sources/dyn3d/leapfrog.f 2018/01/22 15:02:56 252 +++ trunk/dyn3d/leapfrog.f 2018/03/20 09:35:59 265 @@ -23,7 +23,7 @@ USE conf_gcm_m, ONLY: day_step, iconser, iperiod, iphysiq, nday, & iflag_phys, iecri USE conf_guide_m, ONLY: ok_guide - USE dimens_m, ONLY: iim, jjm, llm, nqmx + USE dimensions, ONLY: iim, jjm, llm, nqmx use dissip_m, only: dissip USE dynetat0_m, ONLY: day_ini use dynredem1_m, only: dynredem1 @@ -36,7 +36,6 @@ use integrd_m, only: integrd use nr_util, only: assert USE temps, ONLY: itau_dyn - use writedynav_m, only: writedynav use writehist_m, only: writehist ! Variables dynamiques: @@ -63,7 +62,7 @@ REAL phi(iim + 1, jjm + 1, llm) ! geopotential REAL w(iim + 1, jjm + 1, llm) ! vitesse verticale - ! Variables dynamiques intermediaire pour le transport + ! Variables dynamiques interm\'ediaires pour le transport ! Flux de masse : REAL pbaru(iim + 1, jjm + 1, llm), pbarv(iim + 1, jjm, llm) @@ -73,7 +72,7 @@ REAL massem1(iim + 1, jjm + 1, llm) ! Tendances dynamiques - REAL dv((iim + 1) * jjm, llm), dudyn(iim + 1, jjm + 1, llm) + REAL dv((iim + 1) * jjm, llm), du(iim + 1, jjm + 1, llm) REAL dteta(iim + 1, jjm + 1, llm) real dp(iim + 1, jjm + 1) @@ -133,13 +132,13 @@ ! Calcul des tendances dynamiques: CALL geopot(teta, pk, pks, phis, phi) CALL caldyn(itau, ucov, vcov, teta, ps, masse, pk, pkf, phis, phi, & - dudyn, dv, dteta, dp, w, pbaru, pbarv, & + du, dv, dteta, dp, w, pbaru, pbarv, & conser = MOD(itau, iconser) == 0) CALL caladvtrac(q, pbaru, pbarv, p3d, masse, teta, pk) ! Int\'egrations dynamique et traceurs: - CALL integrd(vcovm1, ucovm1, tetam1, psm1, massem1, dv, dudyn, dteta, & + CALL integrd(vcovm1, ucovm1, tetam1, psm1, massem1, dv, du, dteta, & dp, vcov, ucov, teta, q(:, :, :, :2), ps, masse, dt, leapf) forall (l = 1: llm + 1) p3d(:, :, l) = ap(l) + bp(l) * ps @@ -152,10 +151,10 @@ ! Calcul des tendances dynamiques: CALL geopot(teta, pk, pks, phis, phi) CALL caldyn(itau + 1, ucov, vcov, teta, ps, masse, pk, pkf, phis, & - phi, dudyn, dv, dteta, dp, w, pbaru, pbarv, conser = .false.) + phi, du, dv, dteta, dp, w, pbaru, pbarv, conser = .false.) ! integrations dynamique et traceurs: - CALL integrd(vcovm1, ucovm1, tetam1, psm1, massem1, dv, dudyn, & + CALL integrd(vcovm1, ucovm1, tetam1, psm1, massem1, dv, du, & dteta, dp, vcov, ucov, teta, q(:, :, :, :2), ps, masse, dtvr, & leapf=.false.) @@ -203,16 +202,14 @@ END IF IF (MOD(itau + 1, iperiod) == 0) THEN - ! \'Ecriture du fichier histoire moyenne: - CALL writedynav(vcov, ucov, teta, pk, phi, q, masse, ps, phis, & - time = itau + 1) call bilan_dyn(ps, masse, pk, pbaru, pbarv, teta, phi, ucov, vcov, & q(:, :, :, 1)) ENDIF - IF (MOD(itau + 1, iecri * day_step) == 0) THEN + IF (MOD(itau + 1, iecri) == 0) THEN CALL geopot(teta, pk, pks, phis, phi) - CALL writehist(itau, vcov, ucov, teta, phi, masse, ps) + CALL writehist(vcov, ucov, teta, pk, phi, q, masse, ps, & + itau_w = itau_dyn + itau + 1) END IF end do time_integration @@ -221,7 +218,7 @@ ! Calcul des tendances dynamiques: CALL geopot(teta, pk, pks, phis, phi) CALL caldyn(itaufin, ucov, vcov, teta, ps, masse, pk, pkf, phis, phi, & - dudyn, dv, dteta, dp, w, pbaru, pbarv, & + du, dv, dteta, dp, w, pbaru, pbarv, & conser = MOD(itaufin, iconser) == 0) END SUBROUTINE leapfrog