Changeset 2220 for LMDZ5/branches/testing/libf/phylmd/physiq.F90
- Timestamp:
- Mar 3, 2015, 2:41:13 PM (10 years ago)
- Location:
- LMDZ5/branches/testing
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/testing
- Property svn:mergeinfo changed
/LMDZ5/trunk merged: 2188-2195,2197-2202,2204-2210,2213-2216
- Property svn:mergeinfo changed
-
LMDZ5/branches/testing/libf/phylmd/physiq.F90
r2187 r2220 636 636 !$OMP THREADPRIVATE(fact_cldcon,facttemps) 637 637 638 integer iflag_cld con639 save iflag_cld con640 !$OMP THREADPRIVATE(iflag_cld con)638 integer iflag_cldth 639 save iflag_cldth 640 !$OMP THREADPRIVATE(iflag_cldth) 641 641 logical ptconv(klon,klev) 642 642 !IM cf. AM 081204 BEG … … 913 913 solarlong0,seuil_inversion, & 914 914 fact_cldcon, facttemps,ok_newmicro,iflag_radia, & 915 iflag_cld con,iflag_ratqs,ratqsbas,ratqshaut,tau_ratqs, &915 iflag_cldth,iflag_ratqs,ratqsbas,ratqshaut,tau_ratqs, & 916 916 ok_ade, ok_aie, ok_cdnc, aerosol_couple, & 917 917 flag_aerosol, flag_aerosol_strat, new_aod, & … … 1014 1014 print*,'CYCLE_DIURNE', cycle_diurne 1015 1015 ! 1016 IF (iflag_con.EQ.2.AND.iflag_cld con.GT.-1) THEN1017 abort_message = 'Tiedtke needs iflag_cld con=-2 or -1'1016 IF (iflag_con.EQ.2.AND.iflag_cldth.GT.-1) THEN 1017 abort_message = 'Tiedtke needs iflag_cldth=-2 or -1' 1018 1018 CALL abort_gcm (modname,abort_message,1) 1019 1019 ENDIF … … 1130 1130 ,alp_bl_prescr, ale_bl_prescr) 1131 1131 ! 11/09/06 rajout initialisation ALE et ALP du wake et PBL(YU) 1132 ! print*,'apres ini_wake iflag_cld con=', iflag_cldcon1132 ! print*,'apres ini_wake iflag_cldth=', iflag_cldth 1133 1133 endif 1134 1134 … … 1308 1308 annee_ref, & 1309 1309 day_ref, & 1310 day_ini, & 1311 start_time, & 1310 1312 itau_phy, & 1311 1313 io_lon, & … … 1811 1813 !>nrlmd+jyg 1812 1814 pplay, paprs, pctsrf, & 1813 ftsol,falb1,falb2,ustar,u10m,v10m,wstar, &1814 sollwdown, cdragh, cdragm, u1, v1,&1815 albsol1, albsol2, sens, evap, &1815 ftsol,falb1,falb2,ustar,u10m,v10m,wstar, & 1816 cdragh, cdragm, u1, v1, & 1817 albsol1, albsol2, sens, evap, & 1816 1818 albsol3_lic,runoff, snowhgt, qsnow, to_ice, sissnow, & 1817 1819 zxtsol, zxfluxlat, zt2m, qsat2m, & … … 2168 2170 ftd,fqd,lalim_conv,wght_th, & 2169 2171 ev, ep,epmlmMm,eplaMm, & 2170 wdtrainA,wdtrainM,wght_cvfd) 2172 wdtrainA,wdtrainM,wght_cvfd,qtc_cv,sigt_cv, & 2173 tau_cld_cv,coefw_cld_cv) 2171 2174 ! RomP <<< 2172 2175 … … 2218 2221 ! calcul des proprietes des nuages convectifs 2219 2222 clwcon0(:,:)=fact_cldcon*clwcon0(:,:) 2223 IF (iflag_cld_cv <= 1) THEN 2220 2224 call clouds_gno & 2221 2225 (klon,klev,q_seri,zqsat,clwcon0,ptconv,ratqsc,rnebcon0) 2226 ELSE 2227 call clouds_bigauss & 2228 (klon,klev,q_seri,zqsat,qtc_cv,sigt_cv,ptconv,ratqsc,rnebcon0) 2229 ENDIF 2230 2222 2231 2223 2232 ! =================================================================== c … … 2452 2461 END IF 2453 2462 2454 ! print*,'apres callwake iflag_cld con=', iflag_cldcon2463 ! print*,'apres callwake iflag_cldth=', iflag_cldth 2455 2464 ! 2456 2465 !=================================================================== … … 2622 2631 enddo 2623 2632 2624 ELSE IF (iflag_trig_bl. eq.2) then2633 ELSE IF (iflag_trig_bl.ge.2) then 2625 2634 2626 2635 do i=1,klon … … 2773 2782 ! water distribution 2774 2783 CALL calcratqs(klon,klev,prt_level,lunout, & 2775 iflag_ratqs,iflag_con,iflag_cld con,pdtphys, &2784 iflag_ratqs,iflag_con,iflag_cldth,pdtphys, & 2776 2785 ratqsbas,ratqshaut,tau_ratqs,fact_cldcon, & 2777 2786 ptconv,ptconvth,clwcon0th, rnebcon0th, & … … 2795 2804 frac_impa, frac_nucl, beta_prec_fisrt, & 2796 2805 prfl, psfl, rhcl, & 2797 zqasc, fraca,ztv,zpspsk,ztla,zthl,iflag_cld con, &2806 zqasc, fraca,ztv,zpspsk,ztla,zthl,iflag_cldth, & 2798 2807 iflag_ice_thermo) 2799 2808 ! … … 2851 2860 ! 2852 2861 !IM cf FH 2853 ! IF (iflag_cld con.eq.-1) THEN ! seulement pour Tiedtke2854 IF (iflag_cld con.le.-1) THEN ! seulement pour Tiedtke2862 ! IF (iflag_cldth.eq.-1) THEN ! seulement pour Tiedtke 2863 IF (iflag_cldth.le.-1) THEN ! seulement pour Tiedtke 2855 2864 snow_tiedtke=0. 2856 2865 ! print*,'avant calcul de la pseudo precip ' 2857 ! print*,'iflag_cld con',iflag_cldcon2858 if (iflag_cld con.eq.-1) then2866 ! print*,'iflag_cldth',iflag_cldth 2867 if (iflag_cldth.eq.-1) then 2859 2868 rain_tiedtke=rain_con 2860 2869 else … … 2889 2898 ENDDO 2890 2899 2891 ELSE IF (iflag_cld con.ge.3) THEN2900 ELSE IF (iflag_cldth.ge.3) THEN 2892 2901 ! On prend pour les nuages convectifs le max du calcul de la 2893 2902 ! convection et du calcul du pas de temps precedent diminue d'un facteur … … 2932 2941 tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm, & 2933 2942 tausum_aero, tau3d_aero) 2943 2944 CALL aeropt_lw_rrtm 2934 2945 #else 2935 2946 … … 2976 2987 ! On prend la somme des fractions nuageuses et des contenus en eau 2977 2988 2978 if (iflag_cld con>=5) then2989 if (iflag_cldth>=5) then 2979 2990 2980 2991 do k=1,klev … … 3132 3143 calday = REAL(days_elapsed + 1) + jH_cur 3133 3144 3134 call chemtime(itap+itau_phy-1, date0, dtime )3145 call chemtime(itap+itau_phy-1, date0, dtime, itap) 3135 3146 IF (config_inca == 'aero' .OR. config_inca == 'aeNP') THEN 3136 3147 CALL AEROSOL_METEO_CALC( & … … 3455 3466 ! Ajouter la tendance des rayonnements (tous les pas) 3456 3467 ! 3457 DO k = 1, klev 3458 DO i = 1, klon 3459 t_seri(i,k) = t_seri(i,k) & 3460 + (heat(i,k)-cool(i,k)) * dtime/RDAY 3461 ENDDO 3462 ENDDO 3468 d_t_swr(:,:)=heat(:,:)*dtime/RDAY 3469 d_t_lwr(:,:)=-cool(:,:)*dtime/RDAY 3470 d_t_sw0(:,:)=heat0(:,:)*dtime/RDAY 3471 d_t_lw0(:,:)=-cool0(:,:)*dtime/RDAY 3472 CALL add_phys_tend(du0,dv0,d_t_swr,dq0,dql0,dqi0,paprs,'SW') 3473 CALL add_phys_tend(du0,dv0,d_t_lwr,dq0,dql0,dqi0,paprs,'LW') 3474 3463 3475 ! 3464 3476 if (mydebug) then
Note: See TracChangeset
for help on using the changeset viewer.