Changeset 2007 for LMDZ5/trunk/libf/phylmd/add_phys_tend.F90
- Timestamp:
- Apr 6, 2014, 2:20:38 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/add_phys_tend.F90
r1998 r2007 18 18 use phys_state_var_mod 19 19 IMPLICIT none 20 #include "iniprint.h" 21 #include "YOMCST.h" 20 include "iniprint.h" 21 include "YOMCST.h" 22 include "clesphys.h" 22 23 23 24 ! Arguments : … … 117 118 DO j = 1, jqbad 118 119 i=jqadrs(j) 119 IF (.NOT.done(i)) THEN !jyg120 120 if(prt_level.ge.debug_level) THEN 121 121 print*,'WARNING : EAU POUR LE POINT i rlon rlat =',i,rlon(i),rlat(i),text … … 125 125 ENDDO 126 126 endif 127 IF (ok_conserv_q) THEN 127 128 !jyg<20140228 Corrections pour conservation de l'eau 128 DO k = 1, klev 129 zqp(k) = max(q_seri(i,k),1.e-15) 130 ENDDO 131 zq_int = 0. 132 zqp_int = 0. 133 DO k = 1, klev 134 zq_int = zq_int + q_seri(i,k)*(paprs(i,k)-paprs(i,k+1))/Rg 135 zqp_int = zqp_int + zqp(k) *(paprs(i,k)-paprs(i,k+1))/Rg 136 ENDDO 137 if(prt_level.ge.debug_level) THEN 138 print*,' cas q_seri<1.e-15 i k zq_int zqp_int zq_int/zqp_int :', & 139 i, kqadrs(j), zq_int, zqp_int, zq_int/zqp_int 140 endif 141 DO k = 1, klev 142 zq_new = zqp(k)*zq_int/zqp_int 143 zdq(i,k) = zdq(i,k) + zq_new - q_seri(i,k) 144 q_seri(i,k) = zq_new 145 ENDDO 146 done(i) = .true. 147 ENDIF !(.NOT.done(i)) 148 149 ! DO k = 1, klev 150 ! zq=q_seri(i,k)+zdq(i,k) 151 ! if (zq.lt.1.e-15) then 152 ! if (q_seri(i,k).lt.1.e-15) then 153 ! if(prt_level.ge.debug_level) THEN 154 ! print*,' cas q_seri<1.e-15 i k q_seri zq zdq :',i,k,q_seri(i,k),zq,zdq(i,k) 155 ! endif 156 ! q_seri(i,k)=1.e-15 157 ! zdq(i,k)=(1.e-15-q_seri(i,k)) 129 IF (.NOT.done(i)) THEN !jyg 130 DO k = 1, klev 131 zqp(k) = max(q_seri(i,k),1.e-15) 132 ENDDO 133 zq_int = 0. 134 zqp_int = 0. 135 DO k = 1, klev 136 zq_int = zq_int + q_seri(i,k)*(paprs(i,k)-paprs(i,k+1))/Rg 137 zqp_int = zqp_int + zqp(k) *(paprs(i,k)-paprs(i,k+1))/Rg 138 ENDDO 139 if(prt_level.ge.debug_level) THEN 140 print*,' cas q_seri<1.e-15 i k zq_int zqp_int zq_int/zqp_int :', & 141 i, kqadrs(j), zq_int, zqp_int, zq_int/zqp_int 142 endif 143 DO k = 1, klev 144 zq_new = zqp(k)*zq_int/zqp_int 145 zdq(i,k) = zdq(i,k) + zq_new - q_seri(i,k) 146 q_seri(i,k) = zq_new 147 ENDDO 148 done(i) = .true. 149 ENDIF !(.NOT.done(i)) 150 ELSE 151 !jyg> 152 DO k = 1, klev 153 zq=q_seri(i,k)+zdq(i,k) 154 if (zq.lt.1.e-15) then 155 if (q_seri(i,k).lt.1.e-15) then 156 if(prt_level.ge.debug_level) THEN 157 print*,' cas q_seri<1.e-15 i k q_seri zq zdq :',i,k,q_seri(i,k),zq,zdq(i,k) 158 endif 159 q_seri(i,k)=1.e-15 160 zdq(i,k)=(1.e-15-q_seri(i,k)) 161 endif 162 endif 163 ! zq=q_seri(i,k)+zdq(i,k) 164 ! if (zq.lt.1.e-15) then 165 ! zdq(i,k)=(1.e-15-q_seri(i,k)) 158 166 ! endif 159 ! endif 160 !! zq=q_seri(i,k)+zdq(i,k) 161 !! if (zq.lt.1.e-15) then 162 !! zdq(i,k)=(1.e-15-q_seri(i,k)) 163 !! endif 164 ! ENDDO 167 ENDDO 168 !jyg<20140228 169 ENDIF ! (ok_conserv_q) 165 170 !jyg> 166 ENDDO 171 ENDDO ! j = 1, jqbad 167 172 ENDIF 168 173 !
Note: See TracChangeset
for help on using the changeset viewer.