--- trunk/libf/phylmd/phystokenc.f90 2012/07/26 14:37:37 62 +++ trunk/Sources/phylmd/phystokenc.f 2016/03/21 15:36:26 186 @@ -9,66 +9,70 @@ frac_impa, frac_nucl, pphis, paire, dtime, itap) ! From phylmd/phystokenc.F, version 1.2 2004/06/22 11:45:35 - ! Author: Frédéric Hourdin - ! Objet : moniteur général des tendances traceurs + ! Author: Fr\'ed\'eric Hourdin + ! Objet : \'ecriture des variables pour transport offline - USE histwrite_m, ONLY : histwrite - USE histsync_m, ONLY : histsync - USE dimens_m, ONLY : iim, jjm, nqmx - USE indicesol, ONLY : nbsrf - USE dimphy, ONLY : klev, klon - USE tracstoke, ONLY : istphy + use gr_fi_ecrit_m, only: gr_fi_ecrit + USE histwrite_m, ONLY: histwrite + USE histsync_m, ONLY: histsync + USE dimens_m, ONLY: iim, jjm + USE indicesol, ONLY: nbsrf + use initphysto_m, only: initphysto + USE dimphy, ONLY: klev, klon + USE tracstoke, ONLY: istphy - ! Arguments: + REAL, INTENT (IN):: pdtphys ! pas d'integration pour la physique (seconde) + REAL, INTENT (IN):: rlon(klon), rlat(klon) + REAL, intent(in):: pt(klon, klev) - ! EN ENTREE: + ! convection: - ! divers: + REAL, INTENT (IN):: pmfu(klon, klev) ! flux de masse dans le panache montant - REAL, INTENT (IN):: pdtphys ! pas d'integration pour la physique (seconde) - INTEGER, INTENT (IN):: itap + REAL, intent(in):: pmfd(klon, klev) + ! flux de masse dans le panache descendant - ! convection: + REAL, intent(in):: pen_u(klon, klev) ! flux entraine dans le panache montant + REAL, intent(in):: pde_u(klon, klev) ! flux detraine dans le panache montant - REAL, INTENT (IN):: pmfu(klon, klev) ! flux de masse dans le panache montant - REAL pmfd(klon, klev) ! flux de masse dans le panache descendant - REAL pen_u(klon, klev) ! flux entraine dans le panache montant - REAL pde_u(klon, klev) ! flux detraine dans le panache montant - REAL pen_d(klon, klev) ! flux entraine dans le panache descendant - REAL pde_d(klon, klev) ! flux detraine dans le panache descendant - REAL, intent(in):: pt(klon, klev) + REAL, intent(in):: pen_d(klon, klev) + ! flux entraine dans le panache descendant - REAL, INTENT (IN) :: rlon(klon), rlat(klon) - REAL, INTENT (IN) :: dtime + REAL, intent(in):: pde_d(klon, klev) + ! flux detraine dans le panache descendant - ! Les Thermiques + ! Les Thermiques REAL pfm_therm(klon, klev+1) REAL pentr_therm(klon, klev) - ! Couche limite: + ! Couche limite: - REAL yv1(klon) - REAL yu1(klon), paire(klon) - REAL, INTENT(IN):: pphis(klon) REAL pcoefh(klon, klev) ! coeff melange Couche limite + REAL yu1(klon) + REAL yv1(klon) - ! Arguments necessaires pour les sources et puits de traceur + ! Arguments necessaires pour les sources et puits de traceur REAL ftsol(klon, nbsrf) ! Temperature du sol (surf)(Kelvin) REAL pctsrf(klon, nbsrf) ! Pourcentage de sol f(nature du sol) - ! Lessivage: + ! Lessivage: REAL frac_impa(klon, klev) REAL frac_nucl(klon, klev) + REAL, INTENT(IN):: pphis(klon) + real paire(klon) + REAL, INTENT (IN):: dtime + INTEGER, INTENT (IN):: itap + ! Variables local to the procedure: real t(klon, klev) INTEGER, SAVE:: physid REAL zx_tmp_3d(iim, jjm+1, klev), zx_tmp_2d(iim, jjm+1) - ! Les Thermiques + ! Les Thermiques REAL fm_therm1(klon, klev) REAL entr_therm(klon, klev) @@ -101,13 +105,13 @@ !------------------------------------------------------ - ! Couche limite: + ! Couche limite: ok_sync = .TRUE. IF (iadvtr==0) THEN CALL initphysto('phystoke', rlon, rlat, dtime, dtime*istphy, & - dtime*istphy, nqmx, physid) + dtime*istphy, physid) END IF i = itap @@ -177,8 +181,8 @@ dtcum = dtcum + pdtphys - IF (mod(iadvtr, istphy)==0) THEN - ! normalisation par le temps cumule + IF (mod(iadvtr, istphy) == 0) THEN + ! normalisation par le temps cumule DO k = 1, klev DO i = 1, klon mfu(i, k) = mfu(i, k)/dtcum @@ -214,7 +218,7 @@ END DO END DO - ! ecriture des champs + ! ecriture des champs irec = irec + 1 @@ -247,7 +251,7 @@ CALL gr_fi_ecrit(klev, klon, iim, jjm+1, entr_therm, zx_tmp_3d) CALL histwrite(physid, 'en_th', itap, zx_tmp_3d) - !ccc + !ccc CALL gr_fi_ecrit(klev, klon, iim, jjm+1, frac_impa, zx_tmp_3d) CALL histwrite(physid, 'frac_impa', itap, zx_tmp_3d) @@ -280,7 +284,7 @@ IF (ok_sync) CALL histsync(physid) - !AA Test sur la valeur des coefficients de lessivage + ! Test sur la valeur des coefficients de lessivage zmin = 1E33 zmax = -1E33