- Timestamp:
- Jan 27, 2003, 12:01:53 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/branches/rel-LF/libf/phylmd/stdlevvar.F90
r433 r445 51 51 REAL, PARAMETER :: RKAR=0.40 52 52 ! niter : nombre iterations calcul "corrector" 53 INTEGER, parameter :: niter=6, ncon=niter-1 53 ! INTEGER, parameter :: niter=6, ncon=niter-1 54 INTEGER, parameter :: niter=2, ncon=niter-1 54 55 ! 55 56 ! Variables locales … … 73 74 LOGICAL :: okri 74 75 REAL, dimension(klon) :: u_zref_p, te_zref_p, temp_p, q_zref_p 76 !convertgence 77 REAL, dimension(klon) :: te_zref_con, q_zref_con 75 78 REAL, dimension(klon) :: u_zref_c, te_zref_c, temp_c, q_zref_c 76 79 REAL, dimension(klon) :: ok_pred, ok_corr … … 115 118 te_zref(i) = ts1(i) + delte(i) 116 119 temp(i) = te_zref(i) * (psol(i)/pat1(i))**(-RKAPPA) 117 !q_zref_p(i) = q_zref(i)120 q_zref_p(i) = q_zref(i) 118 121 ! te_zref_p(i) = te_zref(i) 119 122 temp_p(i) = temp(i) … … 142 145 ! (1 + RVTMP2 * max(q_zref(i),0.0)) 143 146 ! 144 IF(temp(i).GT.350.) THEN 145 WRITE(*,*) 'temp(i) GT 350 K !!',i,nsrf,temp(i) 146 ENDIF 147 !IM +++ 148 ! IF(temp(i).GT.350.) THEN 149 ! WRITE(*,*) 'temp(i) GT 350 K !!',i,nsrf,temp(i) 150 ! ENDIF 151 !IM --- 147 152 ! 148 153 IF(n.EQ.ncon) THEN 149 te_zref_ p(i) = te_zref(i)150 q_zref_ p(i) = q_zref(i)154 te_zref_con(i) = te_zref(i) 155 q_zref_con(i) = q_zref(i) 151 156 ENDIF 152 157 ! … … 158 163 ! 159 164 DO i = 1, knon 160 conv_te(i) = (te_zref(i) - te_zref_p(i))/te_zref_p(i) 161 conv_q(i) = (q_zref(i) - q_zref_p(i))/q_zref_p(i) 165 conv_te(i) = (te_zref(i) - te_zref_con(i))/te_zref_con(i) 166 conv_q(i) = (q_zref(i) - q_zref_con(i))/q_zref_con(i) 167 !IM +++ 162 168 ! IF(abs(conv_te(i)).GE.0.0025.AND.abs(conv_q(i)).GE.0.05) THEN 163 ! PRINT*,'DIV','i=',i,te_zref_ p(i),te_zref(i),conv_te(i), &164 ! q_zref_ p(i),q_zref(i),conv_q(i)169 ! PRINT*,'DIV','i=',i,te_zref_con(i),te_zref(i),conv_te(i), & 170 ! q_zref_con(i),q_zref(i),conv_q(i) 165 171 ! ENDIF 172 !IM --- 166 173 ENDDO 167 174 ! … … 170 177 temp_c(i) = temp(i) 171 178 ! 172 IF(zri1(i).LT.0.) THEN 173 IF(nsrf.EQ.1) THEN 174 ok_pred(i)=1. 175 ok_corr(i)=0. 176 ELSE 177 ok_pred(i)=0. 178 ok_corr(i)=1. 179 ENDIF 180 ELSE 181 ok_pred(i)=0. 182 ok_corr(i)=1. 183 ENDIF 179 ! IF(zri1(i).LT.0.) THEN 180 ! IF(nsrf.EQ.1) THEN 181 ! ok_pred(i)=1. 182 ! ok_corr(i)=0. 183 ! ELSE 184 ! ok_pred(i)=0. 185 ! ok_corr(i)=1. 186 ! ENDIF 187 ! ELSE 188 ! ok_pred(i)=0. 189 ! ok_corr(i)=1. 190 ! ENDIF 191 ! 192 ok_pred(i)=0. 193 ok_corr(i)=1. 184 194 ! 185 195 t_2m(i) = temp_p(i) * ok_pred(i) + temp_c(i) * ok_corr(i) 186 196 q_2m(i) = q_zref_p(i) * ok_pred(i) + q_zref_c(i) * ok_corr(i) 197 !IM +++ 198 ! IF(n.EQ.niter) THEN 199 ! IF(t_2m(i).LT.t1(i).AND.t_2m(i).LT.ts1(i)) THEN 200 ! PRINT*,' BAD t2m LT ',i,nsrf,t_2m(i),t1(i),ts1(i) 201 ! ELSEIF(t_2m(i).GT.t1(i).AND.t_2m(i).GT.ts1(i)) THEN 202 ! PRINT*,' BAD t2m GT ',i,nsrf,t_2m(i),t1(i),ts1(i) 203 ! ENDIF 204 ! ENDIF 205 !IM --- 187 206 ENDDO 188 207 !
Note: See TracChangeset
for help on using the changeset viewer.