Changeset 4229 for LMDZ6/trunk/libf/phylmd/transp.F90
- Timestamp:
- Aug 1, 2022, 5:58:28 PM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note: See TracChangeset
for help on using the changeset viewer.