Changeset 1412 for LMDZ4/trunk
- Timestamp:
- Jul 9, 2010, 3:06:40 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/physiq.F
r1411 r1412 1 1 ! $Id$ 2 !3 2 c#define IO_DEBUG 4 3 … … 262 261 CHARACTER*4 bb2 263 262 CHARACTER*2 bb3 264 c265 263 266 264 real twriteSTD(klon,nlevSTD,nfiles) … … 865 863 REAL rflag(klon) ! flag fonctionnement de convect 866 864 INTEGER iflagctrl(klon) ! flag fonctionnement de convect 865 867 866 c -- convect43: 868 867 INTEGER ntra ! nb traceurs pour convect4.3 … … 1233 1232 call phys_state_var_init(read_climoz) 1234 1233 call phys_output_var_init 1235 1236 1234 print*, '=================================================' 1237 1235 cIM for NMC files … … 1253 1251 c pmflxr=0. 1254 1252 c pmflxs=0. 1253 1255 1254 itau_con=0 1256 1255 first=.false. … … 1424 1423 ema_pcb(i) = 0. 1425 1424 ema_pct(i) = 0. 1426 1425 c ema_workcbmf(i) = 0. 1427 1426 ENDDO 1428 1427 cIM15/11/02 rajout initialisation ibas_con,itop_con cf. SB =>BEG … … 1449 1448 c================================================================================ 1450 1449 1451 ENDIF 1450 ENDIF !debut 1452 1451 1453 1452 DO i=1,klon … … 2171 2170 . d_t_con,d_q_con,d_u_con,d_v_con,d_tr, 2172 2171 . rain_con, snow_con, ibas_con, itop_con, sigd, 2173 . upwd,dnwd,dnwd0,2172 . ema_cbmf,upwd,dnwd,dnwd0, 2174 2173 . Ma,mip,Vprecip,cape,cin,tvp,Tconv,iflagctrl, 2175 2174 . pbase,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr,qcondc,wd, … … 2190 2189 2191 2190 ELSE ! ok_cvl 2191 2192 2192 c MAF conema3 ne contient pas les traceurs 2193 2193 CALL conema3 (dtime, … … 2229 2229 2230 2230 DO i = 1, klon 2231 ema_pcb(i) = p base(i)2231 ema_pcb(i) = paprs(i,ibas_con(i)) 2232 2232 ENDDO 2233 2233 DO i = 1, klon 2234 2235 2234 ! L'idicage de itop_con peut cacher un pb potentiel 2236 2235 ! FH sous la dictee de JYG, CR … … 2243 2242 endif 2244 2243 endif 2245 ENDDO 2246 DO i = 1, klon 2247 ema_cbmf(i) = ema_workcbmf(i) 2248 ENDDO 2244 ENDDO 2249 2245 ELSE IF (iflag_con.eq.0) THEN 2250 2246 write(lunout,*) 'On n appelle pas la convection' … … 2463 2459 c ============== 2464 2460 2465 ! Dans le cas o ùon active les thermiques, on fait partir l'ajustement2461 ! Dans le cas où on active les thermiques, on fait partir l'ajustement 2466 2462 ! a partir du sommet des thermiques. 2467 2463 ! Dans le cas contraire, on demarre au niveau 1. … … 2547 2543 s (klon,klev,q_seri,zqsat,clwcon0th,ptconvth,ratqsc,rnebcon0th) 2548 2544 if(prt_level.ge.9) print*,' CLOUDS_GNO OK' 2549 2550 endif2545 2546 endif 2551 2547 2552 2548 c ratqs stables … … 2611 2607 2612 2608 if (iflag_cldcon.eq.1 .or.iflag_cldcon.eq.2 2613 s .or.iflag_cldcon. eq.4) then2609 s .or.iflag_cldcon.ge.4) then 2614 2610 2615 2611 ! On ajoute une constante au ratqsc*2 pour tenir compte de … … 2646 2642 endif 2647 2643 2648 print*,'PHSYIQ NUAGES4'2649 2644 2650 2645 c … … 2842 2837 else 2843 2838 ! Ancienne version 2844 2845 2839 cldfra(:,:)=min(max(cldfra(:,:),rnebcon(:,:)),1.) 2840 cldliq(:,:)=cldliq(:,:)+rnebcon(:,:)*clwcon(:,:) 2846 2841 endif 2847 2842 … … 3312 3307 ! s ref_liq,ref_ice 3313 3308 call phys_cosp(itap,dtime,freq_cosp, 3314 $ ecrit_mth,ecrit_day,ecrit_hf,overlap, 3315 $ klon,klev,rlon,rlat,presnivs, 3309 $ ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP, 3310 $ ecrit_mth,ecrit_day,ecrit_hf, 3311 $ klon,klev,rlon,rlat,presnivs,overlap, 3316 3312 $ ref_liq,ref_ice, 3317 3313 $ pctsrf(:,is_ter)+pctsrf(:,is_lic), … … 3322 3318 $ pmflxr(:,1:klev),pmflxs(:,1:klev), 3323 3319 $ mr_ozone,cldtau, cldemi) 3320 3324 3321 ! L calipso2D,calipso3D,cfadlidar,parasolrefl,atb,betamol, 3325 3322 ! L cfaddbze,clcalipso2,dbze,cltlidarradar, … … 3469 3466 wwriteSTD(:,:,4)=wlevSTD(:,:) 3470 3467 c 3468 cIM initialisation 5eme fichier de sortie 3471 3469 cIM ajoute 5eme niveau 170310 BEG 3472 3470 twriteSTD(:,:,5)=tlevSTD(:,:) … … 3581 3579 cIM global posePB#include "write_bilKP_ave.h" 3582 3580 c 3581 3583 3582 c Sauvegarder les valeurs de t et q a la fin de la physique: 3584 3583 c … … 3639 3638 DO k = 1, klev 3640 3639 DO i = 1, klon 3641 theta(i,k)=t(i,k)*(100000./pplay(i,k))**(RD/RCPD) 3640 cJYG/IM theta en debut du pas de temps 3641 cJYG/IM theta(i,k)=t(i,k)*(100000./pplay(i,k))**(RD/RCPD) 3642 cJYG/IM theta en fin de pas de temps de physique 3643 theta(i,k)=t_seri(i,k)*(100000./pplay(i,k))**(RD/RCPD) 3642 3644 ENDDO 3643 3645 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.