Changeset 1998 for LMDZ5/trunk/libf/phylmd/physiq.F90
- Timestamp:
- Mar 19, 2014, 3:14:30 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/physiq.F90
r1992 r1998 1785 1785 IF (klon_glo==1) THEN 1786 1786 CALL add_pbl_tend & 1787 (d_u_vdf,d_v_vdf,d_t_vdf+d_t_diss,d_q_vdf,dql0, 'vdf')1787 (d_u_vdf,d_v_vdf,d_t_vdf+d_t_diss,d_q_vdf,dql0,paprs,'vdf') 1788 1788 ELSE 1789 1789 CALL add_phys_tend & 1790 (d_u_vdf,d_v_vdf,d_t_vdf+d_t_diss,d_q_vdf,dql0, 'vdf')1790 (d_u_vdf,d_v_vdf,d_t_vdf+d_t_diss,d_q_vdf,dql0,paprs,'vdf') 1791 1791 ENDIF 1792 1792 !-------------------------------------------------------------------- … … 2155 2155 !----------------------------------------------------------------------------------------- 2156 2156 ! ajout des tendances de la diffusion turbulente 2157 CALL add_phys_tend(d_u_con,d_v_con,d_t_con,d_q_con,dql0, 'con')2157 CALL add_phys_tend(d_u_con,d_v_con,d_t_con,d_q_con,dql0,paprs,'con') 2158 2158 !----------------------------------------------------------------------------------------- 2159 2159 … … 2272 2272 d_t_wake(:,:)=dt_wake(:,:)*dtime 2273 2273 d_q_wake(:,:)=dq_wake(:,:)*dtime 2274 CALL add_phys_tend(du0,dv0,d_t_wake,d_q_wake,dql0, 'wake')2274 CALL add_phys_tend(du0,dv0,d_t_wake,d_q_wake,dql0,paprs,'wake') 2275 2275 !----------------------------------------------------------------------------------------- 2276 2276 … … 2372 2372 ENDIF 2373 2373 2374 2374 2375 !----Initialisations 2375 2376 do i=1,klon … … 2389 2390 s_trig,s2,n2 2390 2391 ENDIF 2392 2393 !Option pour re-activer l'ancien calcul de Ale_bl (iflag_trig_bl=2) 2394 IF (iflag_trig_bl.eq.1) then 2391 2395 2392 2396 !----Tirage al\'eatoire et calcul de ale_bl_trig … … 2407 2411 endif 2408 2412 enddo 2413 2414 ELSE IF (iflag_trig_bl.eq.2) then 2415 2416 do i=1,klon 2417 if ( (Ale_bl(i) .gt. abs(cin(i))+1.e-10) ) then 2418 proba_notrig(i)=(1.-exp(-s_trig/s2(i)))** & 2419 (n2(i)*dtime/tau_trig(i)) 2420 ! print *, 'proba_notrig(i) ',proba_notrig(i) 2421 if (random_notrig(i) .ge. proba_notrig(i)) then 2422 ale_bl_trig(i)=Ale_bl(i) 2423 else 2424 ale_bl_trig(i)=0. 2425 endif 2426 else 2427 proba_notrig(i)=1. 2428 random_notrig(i)=0. 2429 ale_bl_trig(i)=0. 2430 endif 2431 enddo 2432 2433 ENDIF 2434 2409 2435 ! 2410 2436 IF (prt_level .GE. 10) THEN … … 2416 2442 2417 2443 !-----------Statistical closure----------- 2418 if (iflag_clos_bl.ge.1) then 2419 2444 if (iflag_clos_bl.eq.1) then 2445 2446 do i=1,klon 2447 !CR: alp probabiliste 2448 if (ale_bl_trig(i).gt.0.) then 2449 alp_bl(i)=alp_bl(i)/(1.-min(proba_notrig(i),0.999)) 2450 endif 2451 enddo 2452 2453 else if (iflag_clos_bl.eq.2) then 2454 2455 !CR: alp calculee dans thermcell_main 2420 2456 do i=1,klon 2421 2457 alp_bl(i)=alp_bl_stat(i) … … 2454 2490 2455 2491 do i=1,klon 2456 zmax_th(i)=pphi(i,lmax_th(i))/rg 2492 ! zmax_th(i)=pphi(i,lmax_th(i))/rg 2493 !CR:04/05/12:correction calcul zmax 2494 zmax_th(i)=zmax0(i) 2457 2495 enddo 2458 2496 … … 2494 2532 !----------------------------------------------------------------------------------------- 2495 2533 ! ajout des tendances de l'ajustement sec ou des thermiques 2496 CALL add_phys_tend(du0,dv0,d_t_ajsb,d_q_ajsb,dql0, 'ajsb')2534 CALL add_phys_tend(du0,dv0,d_t_ajsb,d_q_ajsb,dql0,paprs,'ajsb') 2497 2535 d_t_ajs(:,:)=d_t_ajs(:,:)+d_t_ajsb(:,:) 2498 2536 d_q_ajs(:,:)=d_q_ajs(:,:)+d_q_ajsb(:,:) … … 2552 2590 !----------------------------------------------------------------------------------------- 2553 2591 ! ajout des tendances de la diffusion turbulente 2554 CALL add_phys_tend(du0,dv0,d_t_lsc,d_q_lsc,d_ql_lsc, 'lsc')2592 CALL add_phys_tend(du0,dv0,d_t_lsc,d_q_lsc,d_ql_lsc,paprs,'lsc') 2555 2593 !----------------------------------------------------------------------------------------- 2556 2594 DO k = 1, klev … … 3220 3258 !----------------------------------------------------------------------------------------- 3221 3259 ! ajout des tendances de la trainee de l'orographie 3222 CALL add_phys_tend(d_u_oro,d_v_oro,d_t_oro,dq0,dql0, 'oro')3260 CALL add_phys_tend(d_u_oro,d_v_oro,d_t_oro,dq0,dql0,paprs,'oro') 3223 3261 !----------------------------------------------------------------------------------------- 3224 3262 ! … … 3266 3304 !----------------------------------------------------------------------------------------- 3267 3305 ! ajout des tendances de la portance de l'orographie 3268 CALL add_phys_tend(d_u_lif,d_v_lif,d_t_lif,dq0,dql0, 'lif')3306 CALL add_phys_tend(d_u_lif,d_v_lif,d_t_lif,dq0,dql0,paprs,'lif') 3269 3307 !----------------------------------------------------------------------------------------- 3270 3308 ! … … 3280 3318 ! 3281 3319 ! ajout des tendances 3282 CALL add_phys_tend(d_u_hin,d_v_hin,d_t_hin,dq0,dql0, 'hin')3320 CALL add_phys_tend(d_u_hin,d_v_hin,d_t_hin,dq0,dql0,paprs,'hin') 3283 3321 3284 3322 ENDIF … … 3288 3326 rain_fall + snow_fall, zustr_gwd_rando, zvstr_gwd_rando, & 3289 3327 du_gwd_rando, dv_gwd_rando) 3290 CALL add_phys_tend(du_gwd_rando, dv_gwd_rando, dt0, dq0, dql0, &3328 CALL add_phys_tend(du_gwd_rando, dv_gwd_rando, dt0, dq0, dql0,paprs, & 3291 3329 'flott_gwd_rando') 3292 3330 end if
Note: See TracChangeset
for help on using the changeset viewer.