Changeset 2205
- Timestamp:
- Feb 13, 2015, 8:22:32 AM (10 years ago)
- Location:
- LMDZ5/trunk/libf/phylmd
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/calcratqs.F90
r1907 r2205 1 1 SUBROUTINE calcratqs(klon,klev,prt_level,lunout, & 2 iflag_ratqs,iflag_con,iflag_cld con,pdtphys, &2 iflag_ratqs,iflag_con,iflag_cldth,pdtphys, & 3 3 ratqsbas,ratqshaut,tau_ratqs,fact_cldcon, & 4 4 ptconv,ptconvth,clwcon0th, rnebcon0th, & … … 19 19 ! Input 20 20 integer,intent(in) :: klon,klev,prt_level,lunout 21 integer,intent(in) :: iflag_con,iflag_cld con,iflag_ratqs21 integer,intent(in) :: iflag_con,iflag_cldth,iflag_ratqs 22 22 real,intent(in) :: pdtphys,ratqsbas,ratqshaut,fact_cldcon,tau_ratqs 23 23 real, dimension(klon,klev+1),intent(in) :: paprs … … 43 43 ! ---------------- 44 44 ! on ecrase le tableau ratqsc calcule par clouds_gno 45 if (iflag_cld con.eq.1) then45 if (iflag_cldth.eq.1) then 46 46 do k=1,klev 47 47 do i=1,klon … … 58 58 ! par nversion de la fonction log normale 59 59 !----------------------------------------------------------------------- 60 else if (iflag_cld con.eq.4) then60 else if (iflag_cldth.eq.4) then 61 61 ptconvth(:,:)=.false. 62 62 ratqsc(:,:)=0. … … 136 136 ! ----------- 137 137 138 if (iflag_cld con.eq.1 .or.iflag_cldcon.eq.2.or.iflag_cldcon.eq.4) then138 if (iflag_cldth.eq.1 .or.iflag_cldth.eq.2.or.iflag_cldth.eq.4) then 139 139 140 140 ! On ajoute une constante au ratqsc*2 pour tenir compte de … … 165 165 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 166 166 ratqs(:,:)=max(ratqs(:,:),ratqss(:,:)) 167 else if (iflag_cld con<=6) then167 else if (iflag_cldth<=6) then 168 168 ! on ne prend que le ratqs stable pour fisrtilp 169 169 ratqs(:,:)=ratqss(:,:) … … 174 174 do i=1,klon 175 175 if (ratqsc(i,k).gt.1.e-10) then 176 ratqs(i,k)=ratqs(i,k)*zfratqs2+(iflag_cld con/100.)*ratqsc(i,k)*(1.-zfratqs2)176 ratqs(i,k)=ratqs(i,k)*zfratqs2+(iflag_cldth/100.)*ratqsc(i,k)*(1.-zfratqs2) 177 177 endif 178 178 ratqs(i,k)=min(ratqs(i,k)*zfratqs1+ratqss(i,k)*(1.-zfratqs1),0.5) -
LMDZ5/trunk/libf/phylmd/concvl.F90
r2201 r2205 15 15 dd_t, dd_q, lalim_conv, wght_th, & ! RomP 16 16 evap, ep, epmlmMm, eplaMm, & ! RomP 17 wdtrainA, wdtrainM, wght) ! RomP+RL 17 wdtrainA, wdtrainM, wght, qtc, sigt, & 18 tau_cld_cv, coefw_cld_cv) ! RomP+RL, AJ 18 19 !RomP <<< 19 20 ! ************************************************************** … … 136 137 REAL dplcldt(klon), dplcldr(klon) 137 138 REAL qcondc(klon, klev) 139 REAL qtc(klon, klev) 140 REAL sigt(klon, klev) 138 141 REAL wd(klon) 139 142 REAL plim1(klon), plim2(klon), asupmax(klon, klev) … … 142 145 REAL sigd(klon) 143 146 REAL zx_t, zdelta, zx_qs, zcor 147 REAL tau_cld_cv, coefw_cld_cv 144 148 145 149 ! INTEGER iflag_mix … … 204 208 !$OMP THREADPRIVATE(itap, igout) 205 209 210 206 211 include "YOMCST.h" 207 212 include "YOMCST2.h" … … 412 417 da, phi, mp, phi2, d1a, dam, sij, wght, & ! RomP+RL 413 418 clw, elij, evap, ep, epmlmMm, eplaMm, & ! RomP+RL 414 wdtrainA, wdtrainM) ! RomP 419 wdtrainA, wdtrainM, qtc, sigt, & 420 tau_cld_cv, coefw_cld_cv) ! RomP,AJ 415 421 !AC!+!RomP+jyg 416 422 END IF -
LMDZ5/trunk/libf/phylmd/conf_phys_m.F90
r2201 r2205 15 15 solarlong0,seuil_inversion, & 16 16 fact_cldcon, facttemps,ok_newmicro,iflag_radia,& 17 iflag_cld con, &17 iflag_cldth, & 18 18 iflag_ratqs,ratqsbas,ratqshaut,tau_ratqs, & 19 19 ok_ade, ok_aie, ok_cdnc, aerosol_couple, & … … 81 81 REAL :: bl95_b0, bl95_b1 82 82 real :: fact_cldcon, facttemps,ratqsbas,ratqshaut,tau_ratqs 83 integer :: iflag_cld con83 integer :: iflag_cldth 84 84 integer :: iflag_ratqs 85 85 … … 101 101 REAL,SAVE :: freq_COSP_omp 102 102 real,SAVE :: fact_cldcon_omp, facttemps_omp,ratqsbas_omp 103 real,SAVE :: tau_cld_cv_omp, coefw_cld_cv_omp 104 integer,SAVE :: iflag_cld_cv_omp 105 106 103 107 real,SAVE :: ratqshaut_omp 104 108 real,SAVE :: tau_ratqs_omp … … 107 111 integer,SAVE :: iflag_rrtm_omp 108 112 integer,SAVE :: NSW_omp 109 integer,SAVE :: iflag_cld con_omp, ip_ebil_phy_omp113 integer,SAVE :: iflag_cldth_omp, ip_ebil_phy_omp 110 114 integer,SAVE :: iflag_ratqs_omp 111 115 … … 887 891 888 892 ! 889 !Config Key = iflag_cld con893 !Config Key = iflag_cldth 890 894 !Config Desc = 891 895 !Config Def = 1 892 896 !Config Help = 893 897 ! 894 iflag_cldcon_omp = 1 895 call getin('iflag_cldcon',iflag_cldcon_omp) 898 iflag_cldth_omp = 1 899 ! On lit deux fois avec l'ancien et le nouveau nom 900 ! pour assurer une retrocompatiblite. 901 ! A abandonner un jour 902 call getin('iflag_cldcon',iflag_cldth_omp) 903 call getin('iflag_cldth',iflag_cldth_omp) 904 905 ! 906 !Config Key = iflag_cld_cv 907 !Config Desc = 908 !Config Def = 1 909 !Config Help = 910 ! 911 iflag_cld_cv_omp = 1 912 call getin('iflag_cld_cv',iflag_cld_cv_omp) 913 914 ! 915 !Config Key = tau_cld_cv 916 !Config Desc = 917 !Config Def = 10. 918 !Config Help = 919 ! 920 tau_cld_cv_omp = 10. 921 call getin('tau_cld_cv',tau_cld_cv_omp) 922 923 ! 924 !Config Key = coefw_cld_cv 925 !Config Desc = 926 !Config Def = 0.1 927 !Config Help = 928 ! 929 coefw_cld_cv_omp = 0.1 930 call getin('coefw_cld_cv',coefw_cld_cv_omp) 931 932 933 896 934 897 935 ! … … 1935 1973 iflag_rrtm = iflag_rrtm_omp 1936 1974 NSW = NSW_omp 1937 iflag_cldcon = iflag_cldcon_omp 1975 iflag_cldth = iflag_cldth_omp 1976 iflag_cld_cv = iflag_cld_cv_omp 1977 tau_cld_cv = tau_cld_cv_omp 1978 coefw_cld_cv = coefw_cld_cv_omp 1938 1979 iflag_ratqs = iflag_ratqs_omp 1939 1980 ip_ebil_phy = ip_ebil_phy_omp … … 2087 2128 write(lunout,*)' reevap_ice = ', reevap_ice 2088 2129 write(lunout,*)' iflag_pdf = ', iflag_pdf 2089 write(lunout,*)' iflag_cldcon = ', iflag_cldcon 2130 write(lunout,*)' iflag_cldth = ', iflag_cldth 2131 write(lunout,*)' iflag_cld_cv = ', iflag_cld_cv 2132 write(lunout,*)' tau_cld_cv = ', tau_cld_cv 2133 write(lunout,*)' coefw_cld_cv = ', coefw_cld_cv 2090 2134 write(lunout,*)' iflag_radia = ', iflag_radia 2091 2135 write(lunout,*)' iflag_rrtm = ', iflag_rrtm -
LMDZ5/trunk/libf/phylmd/cv3_routines.F90
r2110 r2205 1 1 2 2 ! $Id$ 3 3 4 4 5 … … 2763 2764 cbmf, upwd, dnwd, dnwd0, ma, mip, & 2764 2765 tls, tps, qcondc, wd, & 2765 ftd, fqd )2766 ftd, fqd, qnk, qtc, sigt, tau_cld_cv, coefw_cld_cv) 2766 2767 2767 2768 IMPLICIT NONE … … 2800 2801 !input/output: 2801 2802 INTEGER iflag(nloc) 2803 REAL,INTENT(in) :: tau_cld_cv, coefw_cld_cv 2802 2804 ! 2803 2805 !outputs: … … 2811 2813 REAL tls(nloc, nd), tps(nloc, nd) 2812 2814 REAL qcondc(nloc, nd) ! cld 2815 REAL qtc(nloc,nd), sigt(nloc,nd) ! cld 2813 2816 REAL wd(nloc) ! gust 2814 2817 REAL cbmf(nloc) … … 2830 2833 REAL qcond(nloc, nd), nqcond(nloc, nd), wa(nloc, nd) ! cld 2831 2834 REAL siga(nloc, nd), sax(nloc, nd), mac(nloc, nd) ! cld 2832 2835 REAL sument(nloc), sigment(nloc,nd), qtment(nloc,nd) ! cld 2836 REAL qnk(nloc) 2833 2837 REAL sumdq !jyg 2834 2838 ! … … 2861 2865 qcondc(il, i) = 0.0 ! cld 2862 2866 qcond(il, i) = 0.0 ! cld 2867 qtc(il, i) = 0.0 ! cld 2868 qtment(il, i) = 0.0 ! cld 2869 sigment(il, i) = 0.0 ! cld 2870 sigt(il, i) = 0.0 ! cld 2863 2871 nqcond(il, i) = 0.0 ! cld 2864 2872 END DO … … 3234 3242 ! (saturated updrafts resulting from mixing) ! cld 3235 3243 qcond(il, i) = qcond(il, i) + (elij(il,k,i)-awat(il)) ! cld 3236 nqcond(il, i) = nqcond(il, i) + 1. ! cld 3244 qtment(il, i) = qtment(il, i) + qent(il,k,i) ! cld 3245 nqcond(il, i) = nqcond(il, i) + 1. ! cld 3237 3246 END IF ! i 3238 3247 END DO … … 3310 3319 ! (saturated downdrafts resulting from mixing) ! cld 3311 3320 qcond(il, i) = qcond(il, i) + elij(il, k, i) ! cld 3312 nqcond(il, i) = nqcond(il, i) + 1. ! cld 3321 qtment(il, i) = qent(il,k,i) + qtment(il,i) ! cld 3322 nqcond(il, i) = nqcond(il, i) + 1. ! cld 3313 3323 END IF ! cld 3314 3324 END DO ! cld … … 3319 3329 IF (i<=inb(il) .AND. nent(il,i)==0 .AND. iflag(il)<=1) THEN ! cld 3320 3330 qcond(il, i) = qcond(il, i) + (1.-ep(il,i))*clw(il, i) ! cld 3331 qtment(il, i) = qent(il,k,i) + qtment(il,i) ! cld 3321 3332 nqcond(il, i) = nqcond(il, i) + 1. ! cld 3322 3333 END IF ! cld … … 3326 3337 IF (i<=inb(il) .AND. nqcond(il,i)/=0 .AND. iflag(il)<=1) THEN ! cld 3327 3338 qcond(il, i) = qcond(il, i)/nqcond(il, i) ! cld 3339 qtment(il, i) = qtment(il,i)/nqcond(il, i) ! cld 3328 3340 END IF ! cld 3329 3341 END DO … … 3788 3800 END IF ! cld 3789 3801 END DO ! cld 3790 END DO ! cld 3791 3792 DO i = 1, nl ! cld 3802 END DO 3803 ! cld 3804 DO i = 1, nl 3805 3806 ! 14/01/15 AJ je remets les parties manquantes cf JYG 3807 ! Initialize sument to 0 3808 3809 DO il = 1,ncum 3810 sument(il) = 0. 3811 ENDDO 3812 3813 ! Sum mixed mass fluxes in sument 3814 3815 DO k = 1,nl 3816 DO il = 1,ncum 3817 IF (k<=inb(il) .AND. i<=inb(il) .AND. iflag(il)<=1) THEN ! cld 3818 sument(il) =sument(il) + abs(ment(il,k,i)) 3819 ENDIF 3820 ENDDO ! il 3821 ENDDO ! k 3822 3823 ! 14/01/15 AJ delta n'a rien à faire là... 3793 3824 DO il = 1, ncum ! cld 3794 3825 IF (wa(il,i)>0.0 .AND. iflag(il)<=1) & ! cld 3795 siga(il, i) = mac(il, i)/wa(il, i) & ! cld 3796 *rrd*tvp(il, i)/p(il, i)/100./delta ! cld 3826 siga(il, i) = mac(il, i)/(coefw_cld_cv*wa(il, i)) & ! cld 3827 *rrd*tvp(il, i)/p(il, i)/100. ! cld 3828 3797 3829 siga(il, i) = min(siga(il,i), 1.0) ! cld 3798 ! IM cf. FH 3830 3831 ! IM cf. FH 3832 ! 14/01/15 AJ ne correspond pas à ce qui a été codé par JYG et SB 3833 3799 3834 IF (iflag_clw==0) THEN ! cld 3800 3835 qcondc(il, i) = siga(il, i)*clw(il, i)*(1.-ep(il,i)) & ! cld 3801 3836 +(1.-siga(il,i))*qcond(il, i) ! cld 3837 3838 3839 sigment(il,i)=sument(il)*tau_cld_cv/(ph(il,i)-ph(il,i+1)) ! cld 3840 sigment(il, i) = min(1.e-4+sigment(il,i), 1.0 - siga(il,i)) ! cld 3841 qtc(il, i) = (siga(il,i)*qnk(il)+sigment(il,i)*qtment(il,i)) & ! cld 3842 /(siga(il,i)+sigment(il,i)) ! cld 3843 sigt(il,i) = sigment(il, i) + siga(il, i) 3844 3845 ! qtc(il, i) = siga(il,i)*qnk(il)+(1.-siga(il,i))*qtment(il,i) ! cld 3846 print*,'BIGAUSSIAN CONV',siga(il,i),sigment(il,i),qtc(il,i) 3847 3802 3848 ELSE IF (iflag_clw==1) THEN ! cld 3803 3849 qcondc(il, i) = qcond(il, i) ! cld 3850 qtc(il,i) = qtment(il,i) ! cld 3804 3851 END IF ! cld 3805 3852 -
LMDZ5/trunk/libf/phylmd/cva_driver.F90
r2201 r2205 24 24 da1, phi1, mp1, phi21, d1a1, dam1, sigij1, wghti1, & ! RomP, RL 25 25 clw1, elij1, evap1, ep1, epmlmMm1, eplaMm1, & ! RomP, RL 26 wdtrainA1, wdtrainM1) ! RomP 26 wdtrainA1, wdtrainM1, qtc, sigt, tau_cld_cv, & 27 coefw_cld_cv) ! RomP, AJ 27 28 ! ************************************************************** 28 29 ! * … … 55 56 ! iflag_ice_thermo Integer Input accounting for ice thermodynamics (0/1) 56 57 ! iflag_clos Integer Input version of closure (0/1) 58 ! tau_cld_cv Real Input characteristic time of dissipation of mixing fluxes 59 ! coefw_cld_cv Real Input coefficient for updraft velocity in convection 57 60 ! ok_conserv_q Logical Input when true corrections for water conservation are swtiched on 58 61 ! delt Real Input time step … … 119 122 ! phi1 Real Output used in tracer transport (cvltr) 120 123 ! mp1 Real Output used in tracer transport (cvltr) 121 124 ! qtc Real Output specific humidity in convection 125 ! sigt Real Output surface fraction in adiabatic updrafts 122 126 ! phi21 Real Output used in tracer transport (cvltr) 123 127 … … 163 167 INTEGER iflag_clos 164 168 LOGICAL ok_conserv_q 169 REAL tau_cld_cv 170 REAL coefw_cld_cv 165 171 REAL delt 166 172 REAL t1(len, nd) … … 479 485 REAL ftra(nloc, klev, ntra), traent(nloc, klev, klev, ntra) 480 486 REAL qcondc(nloc, klev) ! cld 487 REAL qtc(nloc, klev) ! cld 488 REAL sigt(nloc, klev) ! cld 481 489 REAL wd(nloc) ! gust 482 490 REAL Plim1(nloc), plim2(nloc) … … 980 988 cbmf, upwd, dnwd, dnwd0, ma, mip, & 981 989 tls, tps, qcondc, wd, & 982 ftd, fqd )990 ftd, fqd, qnk, qtc, sigt, tau_cld_cv, coefw_cld_cv) 983 991 END IF 984 992 -
LMDZ5/trunk/libf/phylmd/fisrtilp.F90
r2109 r2205 8 8 frac_impa, frac_nucl, beta, & 9 9 prfl, psfl, rhcl, zqta, fraca, & 10 ztv, zpspsk, ztla, zthl, iflag_cld con, &10 ztv, zpspsk, ztla, zthl, iflag_cldth, & 11 11 iflag_ice_thermo) 12 12 … … 82 82 INTEGER ninter ! sous-intervals pour la precipitation 83 83 INTEGER ncoreczq 84 INTEGER iflag_cld con84 INTEGER iflag_cldth 85 85 INTEGER iflag_ice_thermo 86 86 PARAMETER (ninter=5) … … 545 545 enddo 546 546 547 if (iflag_cld con>=5) then547 if (iflag_cldth>=5) then 548 548 549 549 call cloudth(klon,klev,k,ztv, & … … 559 559 endif 560 560 561 if (iflag_cld con<= 4) then561 if (iflag_cldth <= 4) then 562 562 lognormale = .true. 563 elseif (iflag_cld con>= 6) then563 elseif (iflag_cldth >= 6) then 564 564 ! lognormale en l'absence des thermiques 565 565 lognormale = fraca(:,k) < 1e-10 566 566 else 567 ! Dans le cas iflag_cld con=5, on prend systématiquement la567 ! Dans le cas iflag_cldth=5, on prend systématiquement la 568 568 ! bi-gaussienne 569 569 lognormale = .false. -
LMDZ5/trunk/libf/phylmd/nuage.h
r2006 r2205 5 5 REAL exposant_glace 6 6 REAL rei_min,rei_max 7 REAL tau_cld_cv,coefw_cld_cv 7 8 8 INTEGER iflag_t_glace 9 INTEGER iflag_t_glace,iflag_cld_cv 9 10 10 11 common /nuagecom/ rad_froid,rad_chau1, rad_chau2,t_glace_max, & 11 12 & t_glace_min,exposant_glace,rei_min,rei_max, & 12 & iflag_t_glace 13 & tau_cld_cv,coefw_cld_cv, & 14 & iflag_t_glace,iflag_cld_cv 13 15 !$OMP THREADPRIVATE(/nuagecom/) -
LMDZ5/trunk/libf/phylmd/phys_state_var_mod.F90
r2181 r2205 60 60 REAL, ALLOCATABLE, SAVE :: clwcon(:,:),rnebcon(:,:) 61 61 !$OMP THREADPRIVATE(clwcon,rnebcon) 62 REAL, ALLOCATABLE, SAVE :: qtc_cv(:,:),sigt_cv(:,:) 63 !$OMP THREADPRIVATE(qtc_cv,sigt_cv) 62 64 REAL, ALLOCATABLE, SAVE :: ratqs(:,:) 63 65 !$OMP THREADPRIVATE(ratqs) … … 416 418 !!! Rom P <<< 417 419 ALLOCATE(clwcon(klon,klev),rnebcon(klon,klev)) 420 ALLOCATE(qtc_cv(klon,klev),sigt_cv(klon,klev)) 418 421 ALLOCATE(ratqs(klon,klev)) 419 422 ALLOCATE(pbl_tke(klon,klev+1,nbsrf+1)) … … 566 569 deallocate(zthe, zpic, zval) 567 570 deallocate(rugoro, t_ancien, q_ancien, clwcon, rnebcon) 571 deallocate(qtc_cv,sigt_cv) 568 572 deallocate( u_ancien, v_ancien ) 569 573 deallocate( tr_ancien) !RomP -
LMDZ5/trunk/libf/phylmd/physiq.F90
r2200 r2205 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 … … 2170 2170 ftd,fqd,lalim_conv,wght_th, & 2171 2171 ev, ep,epmlmMm,eplaMm, & 2172 wdtrainA,wdtrainM,wght_cvfd) 2172 wdtrainA,wdtrainM,wght_cvfd,qtc_cv,sigt_cv, & 2173 tau_cld_cv,coefw_cld_cv) 2173 2174 ! RomP <<< 2174 2175 … … 2220 2221 ! calcul des proprietes des nuages convectifs 2221 2222 clwcon0(:,:)=fact_cldcon*clwcon0(:,:) 2223 IF (iflag_cld_cv <= 1) THEN 2222 2224 call clouds_gno & 2223 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 2224 2231 2225 2232 ! =================================================================== c … … 2454 2461 END IF 2455 2462 2456 ! print*,'apres callwake iflag_cld con=', iflag_cldcon2463 ! print*,'apres callwake iflag_cldth=', iflag_cldth 2457 2464 ! 2458 2465 !=================================================================== … … 2775 2782 ! water distribution 2776 2783 CALL calcratqs(klon,klev,prt_level,lunout, & 2777 iflag_ratqs,iflag_con,iflag_cld con,pdtphys, &2784 iflag_ratqs,iflag_con,iflag_cldth,pdtphys, & 2778 2785 ratqsbas,ratqshaut,tau_ratqs,fact_cldcon, & 2779 2786 ptconv,ptconvth,clwcon0th, rnebcon0th, & … … 2797 2804 frac_impa, frac_nucl, beta_prec_fisrt, & 2798 2805 prfl, psfl, rhcl, & 2799 zqasc, fraca,ztv,zpspsk,ztla,zthl,iflag_cld con, &2806 zqasc, fraca,ztv,zpspsk,ztla,zthl,iflag_cldth, & 2800 2807 iflag_ice_thermo) 2801 2808 ! … … 2853 2860 ! 2854 2861 !IM cf FH 2855 ! IF (iflag_cld con.eq.-1) THEN ! seulement pour Tiedtke2856 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 2857 2864 snow_tiedtke=0. 2858 2865 ! print*,'avant calcul de la pseudo precip ' 2859 ! print*,'iflag_cld con',iflag_cldcon2860 if (iflag_cld con.eq.-1) then2866 ! print*,'iflag_cldth',iflag_cldth 2867 if (iflag_cldth.eq.-1) then 2861 2868 rain_tiedtke=rain_con 2862 2869 else … … 2891 2898 ENDDO 2892 2899 2893 ELSE IF (iflag_cld con.ge.3) THEN2900 ELSE IF (iflag_cldth.ge.3) THEN 2894 2901 ! On prend pour les nuages convectifs le max du calcul de la 2895 2902 ! convection et du calcul du pas de temps precedent diminue d'un facteur … … 2978 2985 ! On prend la somme des fractions nuageuses et des contenus en eau 2979 2986 2980 if (iflag_cld con>=5) then2987 if (iflag_cldth>=5) then 2981 2988 2982 2989 do k=1,klev
Note: See TracChangeset
for help on using the changeset viewer.