Changeset 135 in lmdz_wrf
- Timestamp:
- Jul 29, 2014, 11:31:17 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/LMDZ_WRFmeas/WRFV3/lmdz/thermcell_flux2.F90
r116 r135 55 55 character (len=80) :: abort_message 56 56 57 ! Lluis58 INTEGER :: llp59 CHARACTER(LEN=50) :: lvarname, lfname60 REAL :: largest61 CHARACTER(LEN=4) :: lS62 63 llp = 73464 lfname = 'physiq'65 largest = 10.e566 67 57 fomass_max=0.5 68 58 alphamax=0.7 … … 126 116 endif 127 117 128 lfname='thermcell_flux2 computing entr/detr_star'129 lvarname = 'entr_star'130 CALL check_var3D(lfname, lvarname, entr_star, ngrid, klev, largest, .FALSE.)131 lvarname = 'detr_star'132 CALL check_var3D(lfname, lvarname, detr_star, ngrid, klev, largest, .FALSE.)133 lvarname = 'alim_star'134 CALL check_var3D(lfname, lvarname, alim_star, ngrid, klev, largest, .FALSE.)135 136 118 !------------------------------------------------------------------------- 137 119 ! Multiplication par le flux de masse issu de la femreture … … 168 150 enddo 169 151 170 lfname='thermcell_flux2 first compute of fm'171 lvarname = 'entr'172 CALL check_var3D(lfname, lvarname, entr, ngrid, klev, largest, .FALSE.)173 lvarname = 'detr'174 CALL check_var3D(lfname, lvarname, detr, ngrid, klev, largest, .FALSE.)175 lvarname = 'fm'176 CALL check_var3D(lfname, lvarname, fm, ngrid, klev, largest, .FALSE.)177 178 179 152 ! Test provisoire : pour comprendre pourquoi on corrige plein de fois 180 153 ! le cas fm6, on commence par regarder une premiere fois avant les … … 204 177 ! les flux avant et apres modif 205 178 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 206 lfname='thermcell_flux2 before first loop'207 lvarname = 'fm'208 CALL check_var3D(lfname, lvarname, fm, ngrid, klev+1, largest, .FALSE.)209 lvarname = 'entr'210 CALL check_var3D(lfname, lvarname, entr, ngrid, klev, largest, .FALSE.)211 lvarname = 'detr'212 CALL check_var3D(lfname, lvarname, detr, ngrid, klev, largest, .FALSE.)213 179 214 180 do l=1,klev … … 225 191 enddo 226 192 227 lfname='thermcell_flux2 after first loop ' // lS228 lvarname = 'fm'229 CALL check_var(lfname, lvarname, fm(:,l), ngrid, largest, .FALSE.)230 lvarname = 'entr'231 CALL check_var(lfname, lvarname, entr(:,l), ngrid, largest, .FALSE.)232 lvarname = 'detr'233 CALL check_var(lfname, lvarname, detr(:,l), ngrid, largest, .FALSE.)234 235 193 !------------------------------------------------------------------------- 236 194 ! Verification de la positivite des flux de masse … … 263 221 zzz=fm(ig,l)*rhobarz(ig,l+1)*zw2(ig,l+1) & 264 222 & /(rhobarz(ig,l)*zw2(ig,l)) 265 IF (zzz /= zzz .OR. zw2(ig,l) == 0. ) THEN266 PRINT *,' Lluis ', ig,',',l,' wrong zzz: ',zzz,' zw2: ',zw2(ig,l),' fm: ',fm(ig,l)267 END IF268 223 if (fm(ig,l+1).gt.zzz) then 269 224 detr(ig,l)=detr(ig,l)+fm(ig,l+1)-zzz … … 276 231 endif 277 232 278 lfname='thermcell_flux2 after fraca croissant ' //lS279 lvarname = 'fm'280 CALL check_var(lfname, lvarname, fm(:,l), ngrid, largest, .FALSE.)281 ! lvarname = '1/zw2'282 ! CALL check_var(lfname, lvarname, 1./zw2(:,l), ngrid, largest, .FALSE.)283 ! lvarname = '1/rhobarz'284 ! CALL check_var(lfname, lvarname, 1./rhobarz(:,l), ngrid, largest, .FALSE.)285 lvarname = 'entr'286 CALL check_var(lfname, lvarname, entr(:,l), ngrid, largest, .FALSE.)287 lvarname = 'detr'288 CALL check_var(lfname, lvarname, detr(:,l), ngrid, largest, .FALSE.)289 290 233 if (prt_level.ge.10) & 291 234 & write(lunout1,'(i4,4e14.4)') l,masse(igout,l)/ptimestep, & … … 308 251 ! enddo 309 252 endif 310 311 lfname='thermcell_flux2 after massa croissant ' // lS312 lvarname = 'fm'313 CALL check_var(lfname, lvarname, fm(:,l), ngrid, largest, .FALSE.)314 lvarname = 'entr'315 CALL check_var(lfname, lvarname, entr(:,l), ngrid, largest, .FALSE.)316 lvarname = 'detr'317 CALL check_var(lfname, lvarname, detr(:,l), ngrid, largest, .FALSE.)318 253 319 254 if (prt_level.ge.10) & … … 477 412 ! Fin de la grande boucle sur les niveaux verticaux 478 413 enddo 479 lfname='thermcell_flux2 after big loop'480 lvarname = 'fm'481 CALL check_var3D(lfname, lvarname, fm, ngrid, klev+1, largest, .FALSE.)482 lvarname = 'rhobarz'483 CALL check_var3D(lfname, lvarname, rhobarz, ngrid, klev, largest, .FALSE.)484 lvarname = 'zw2'485 CALL check_var3D(lfname, lvarname, zw2, ngrid, klev+1, largest, .FALSE.)486 lvarname = 'entr'487 CALL check_var3D(lfname, lvarname, entr, ngrid, klev, largest, .FALSE.)488 lvarname = 'detr'489 CALL check_var3D(lfname, lvarname, detr, ngrid, klev, largest, .FALSE.)490 414 491 415 ! if (prt_level.ge.10) & … … 535 459 enddo 536 460 537 lfname='thermcell_flux2 after quantile'538 lvarname = 'fm'539 CALL check_var3D(lfname, lvarname, fm, ngrid, klev+1, largest, .FALSE.)540 lvarname = 'entr'541 CALL check_var3D(lfname, lvarname, entr, ngrid, klev, largest, .FALSE.)542 lvarname = 'detr'543 CALL check_var3D(lfname, lvarname, detr, ngrid, klev, largest, .FALSE.)544 545 461 if (labort_gcm) then 546 462 ig=igout
Note: See TracChangeset
for help on using the changeset viewer.