Changeset 4229
- Timestamp:
- Aug 1, 2022, 5:58:28 PM (2 years ago)
- Location:
- LMDZ6/trunk/libf
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r4224 r4229 5043 5043 ! Calculer le transport de l'eau et de l'energie (diagnostique) 5044 5044 ! 5045 CALL transp (paprs,zxtsol, & 5046 t_seri, q_seri, ql_seri, qs_seri, u_seri, v_seri, zphi, & 5047 ve, vq, ue, uq, vwat, uwat) 5045 CALL transp (paprs,zxtsol, t_seri, q_seri, ql_seri, qs_seri, u_seri, v_seri, zphi, & 5046 ue, ve, uq, vq, uwat, vwat) 5048 5047 ! 5049 5048 !IM global posePB BEG 5050 5049 IF(1.EQ.0) THEN 5051 5050 ! 5052 CALL transp_lay (paprs,zxtsol, & 5053 t_seri, q_seri, u_seri, v_seri, zphi, & 5051 CALL transp_lay (paprs,zxtsol, t_seri, q_seri, u_seri, v_seri, zphi, & 5054 5052 ve_lay, vq_lay, ue_lay, uq_lay) 5055 5053 ! 5056 5054 ENDIF !(1.EQ.0) THEN 5057 5055 !IM global posePB END 5056 ! 5058 5057 ! Accumuler les variables a stocker dans les fichiers histoire: 5059 5058 ! -
LMDZ6/trunk/libf/phylmd/transp.F90
r3257 r4229 2 2 ! $Id$ 3 3 4 SUBROUTINE transp(paprs, tsol, t, q, ql, qs, u, v, geom, vtran_e, vtran_q, utran_e, &5 utran_q, vtran_w, utran_w)4 SUBROUTINE transp(paprs, tsol, t, q, ql, qs, u, v, geom, & 5 utran_e, vtran_e, utran_q, vtran_q, utran_w, vtran_w) 6 6 7 7 USE dimphy … … 15 15 include "YOMCST.h" 16 16 17 REAL paprs(klon, klev+1), tsol(klon) 18 REAL t(klon, klev), q(klon, klev), ql(klon, klev), qs(klon, klev) 19 REAL u(klon, klev), v(klon, klev) 20 REAL utran_e(klon), utran_q(klon), vtran_e(klon), vtran_q(klon) 21 REAL utran_w(klon), vtran_w(klon) 17 !--inputs 18 REAL, INTENT(IN) :: paprs(klon, klev+1), tsol(klon), geom(klon, klev) 19 REAL, INTENT(IN) :: t(klon, klev), q(klon, klev), ql(klon, klev), qs(klon, klev) 20 REAL, INTENT(IN) :: u(klon, klev), v(klon, klev) 21 !--outputs 22 REAL, INTENT(OUT) :: utran_e(klon), vtran_e(klon) !--lateral flux of dry static energy (J m-1 s-1) 23 REAL, INTENT(OUT) :: utran_q(klon), vtran_q(klon) !--lateral flux of water vapour (kg m-1 s-1) 24 REAL, INTENT(OUT) :: utran_w(klon), vtran_w(klon) !--lateral flux of total water (kg m-1 s-1) 25 !--local variables 26 INTEGER i, l 27 REAL e, dm 28 ! ------------------------------------------------------------------ 22 29 23 INTEGER i, l 24 ! ------------------------------------------------------------------ 25 REAL geom(klon, klev), e 26 ! ------------------------------------------------------------------ 27 DO i = 1, klon 28 utran_e(i) = 0.0 29 utran_q(i) = 0.0 30 vtran_e(i) = 0.0 31 vtran_q(i) = 0.0 32 utran_w(i) = 0.0 33 vtran_w(i) = 0.0 34 END DO 30 !--initialisations 31 utran_e(:) = 0.0 32 utran_q(:) = 0.0 33 vtran_e(:) = 0.0 34 vtran_q(:) = 0.0 35 utran_w(:) = 0.0 36 vtran_w(:) = 0.0 35 37 38 !--vertical integration of diagnostics 36 39 DO l = 1, klev 37 40 DO i = 1, klon 41 dm= (paprs(i,l)-paprs(i,l+1))/RG !--mass of layer kg m-2 42 !--moist static energy 38 43 ! e = rcpd*t(i, l) + rlvtt*q(i, l) + geom(i, l) 44 !--dry static energy 39 45 e = rcpd*t(i, l) + geom(i, l) 40 utran_e(i) = utran_e(i) + u(i, l)*e* (paprs(i,l)-paprs(i,l+1))/rg41 utran_q(i) = utran_q(i) + u(i, l)*q(i, l)*(paprs(i,l)-paprs(i,l+1))/rg42 utran_w(i) = utran_w(i) + u(i, l)*(q(i, l)+ql(i, l)+qs(i, l)) &43 *(paprs(i,l)-paprs(i,l+1))/rg44 vtran_ e(i) = vtran_e(i) + v(i, l)*e*(paprs(i,l)-paprs(i,l+1))/rg45 vtran_q(i) = vtran_q(i) + v(i, l)*q(i, l)*(paprs(i,l)-paprs(i,l+1))/rg46 vtran_w(i) = vtran_w(i) + v(i, l)*(q(i, l)+ql(i, l)+qs(i, l)) &47 *(paprs(i,l)-paprs(i,l+1))/rg48 END 49 END 46 utran_e(i) = utran_e(i) + u(i, l)*e*dm 47 vtran_e(i) = vtran_e(i) + v(i, l)*e*dm 48 !--water vapour 49 utran_q(i) = utran_q(i) + u(i, l)*q(i,l)*dm 50 vtran_q(i) = vtran_q(i) + v(i, l)*q(i,l)*dm 51 !--total water 52 utran_w(i) = utran_w(i) + u(i, l)*(q(i,l)+ql(i,l)+qs(i,l))*dm 53 vtran_w(i) = vtran_w(i) + v(i, l)*(q(i,l)+ql(i,l)+qs(i,l))*dm 54 ENDDO 55 ENDDO 50 56 51 57 RETURN -
LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
r4170 r4229 6362 6362 ! Calculer le transport de l'eau et de l'energie (diagnostique) 6363 6363 ! 6364 CALL transp (paprs,zxtsol, & 6365 t_seri, q_seri, ql_seri, qs_seri, u_seri, v_seri, zphi, & 6366 ve, vq, ue, uq, vwat, uwat) 6364 CALL transp (paprs, zxtsol, t_seri, q_seri, ql_seri, qs_seri, u_seri, v_seri, zphi, & 6365 ue, ve, uq, vq, uwat, vwat) 6367 6366 ! 6368 6367 !IM global posePB BEG … … 6375 6374 ENDIF !(1.EQ.0) THEN 6376 6375 !IM global posePB END 6376 ! 6377 6377 ! Accumuler les variables a stocker dans les fichiers histoire: 6378 6378 !
Note: See TracChangeset
for help on using the changeset viewer.