Changeset 2201
- Timestamp:
- Feb 10, 2015, 3:23:19 PM (10 years ago)
- Location:
- LMDZ5/trunk/libf/phylmd
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/YOMCST2.h
r1907 r2201 3 3 REAL gammas, alphas, betas, Fmax, qqa1, qqa2, qqa3, scut 4 4 REAL Qcoef1max,Qcoef2max,Supcrit1,Supcrit2 5 REAL coef_clos_ls 5 6 ! 6 7 COMMON/YOMCST2/gammas, alphas, betas, Fmax, scut, & … … 8 9 & Qcoef1max,Qcoef2max, & 9 10 & Supcrit1, Supcrit2, & 10 & choice,iflag_mix 11 & choice,iflag_mix,coef_clos_ls 11 12 !$OMP THREADPRIVATE(/YOMCST2/) 12 13 ! -------------------------------------------------------------------- -
LMDZ5/trunk/libf/phylmd/concvl.F90
r2007 r2201 29 29 USE dimphy 30 30 USE infotrac, ONLY: nbtr 31 USE phys_local_var_mod, ONLY: omega 31 32 IMPLICIT NONE 32 33 ! ====================================================================== … … 398 399 t, q, qs, t_wake, q_wake, qs_wake, s_wake, u, v, tra, & 399 400 em_p, em_ph, & 400 Ale, Alp, &401 Ale, Alp, omega, & 401 402 em_sig1feed, em_sig2feed, em_wght, & 402 403 iflag, d_t, d_q, d_u, d_v, d_tra, rain, kbas, ktop, & -
LMDZ5/trunk/libf/phylmd/conf_phys_m.F90
r2179 r2201 132 132 integer,SAVE :: iflag_coupl_omp,iflag_clos_omp,iflag_wake_omp 133 133 integer,SAVE :: iflag_cvl_sigd_omp 134 REAL, SAVE :: coef_clos_ls_omp 134 135 REAL, SAVE :: supcrit1_omp, supcrit2_omp 135 136 INTEGER, SAVE :: iflag_mix_omp … … 1343 1344 iflag_clos_omp = 1 1344 1345 call getin('iflag_clos',iflag_clos_omp) 1346 ! 1347 !Config Key = coef_clos_ls 1348 !Config Desc = 1349 !Config Def = 0 1350 !Config Help = 1351 ! 1352 coef_clos_ls_omp = 0. 1353 call getin('coef_clos_ls',coef_clos_ls_omp) 1354 1345 1355 ! 1346 1356 !Config Key = iflag_cvl_sigd … … 1946 1956 iflag_clos = iflag_clos_omp 1947 1957 iflag_wake = iflag_wake_omp 1958 coef_clos_ls = coef_clos_ls_omp 1948 1959 alp_offset = alp_offset_omp 1949 1960 iflag_cvl_sigd = iflag_cvl_sigd_omp … … 2135 2146 write(lunout,*)' iflag_thermals_closure = ', iflag_thermals_closure 2136 2147 write(lunout,*)' iflag_clos = ', iflag_clos 2148 write(lunout,*)' coef_clos_ls = ', coef_clos_ls 2137 2149 write(lunout,*)' type_run = ',type_run 2138 2150 write(lunout,*)' ok_cosp = ',ok_cosp -
LMDZ5/trunk/libf/phylmd/cv3a_compress.F90
r1992 r2201 4 4 th1_wake, tra1, h1, lv1, lf1, cpn1, p1, ph1, tv1, tp1, tvp1, clw1, & 5 5 h1_wake, lv1_wake, lf1_wake, cpn1_wake, tv1_wake, sig1, w01, ptop21, & 6 ale1, alp1, iflag, nk, icb, icbs, plcl, tnk, qnk, gznk, hnk, unk, vnk, &6 ale1, alp1, omega1, iflag, nk, icb, icbs, plcl, tnk, qnk, gznk, hnk, unk, vnk, & 7 7 wghti, pbase, buoybase, t, q, qs, t_wake, q_wake, qs_wake, s_wake, u, v, & 8 8 gz, th, th_wake, tra, h, lv, lf, cpn, p, ph, tv, tp, tvp, clw, h_wake, & 9 lv_wake, lf_wake, cpn_wake, tv_wake, sig, w0, ptop2, ale, alp )9 lv_wake, lf_wake, cpn_wake, tv_wake, sig, w0, ptop2, ale, alp, omega) 10 10 ! ************************************************************** 11 11 ! * … … 40 40 REAL sig1(len, nd), w01(len, nd), ptop21(len) 41 41 REAL ale1(len), alp1(len) 42 REAL omega1(len,nd) 42 43 43 44 ! outputs: … … 60 61 REAL sig(len, nd), w0(len, nd), ptop2(len) 61 62 REAL ale(len), alp(len) 63 REAL omega(len,nd) 62 64 63 65 ! local variables: … … 102 104 sig(nn, k) = sig1(i, k) 103 105 w0(nn, k) = w01(i, k) 106 omega(nn, k) = omega1(i, k) 104 107 END IF 105 108 END DO -
LMDZ5/trunk/libf/phylmd/cv3p1_closure.F90
r1992 r2201 3 3 4 4 SUBROUTINE cv3p1_closure(nloc, ncum, nd, icb, inb, pbase, plcl, p, ph, tv, & 5 tvp, buoy, supmax, ok_inhib, ale, alp, sig, w0, ptop2, cape, cin, m, &5 tvp, buoy, supmax, ok_inhib, ale, alp, omega,sig, w0, ptop2, cape, cin, m, & 6 6 iflag, coef, plim1, plim2, asupmax, supmax0, asupmaxmin, cbmf, plfc, & 7 7 wbeff) … … 37 37 LOGICAL ok_inhib ! enable convection inhibition by dryness 38 38 REAL ale(nloc), alp(nloc) 39 REAL omega(nloc,nd) 39 40 40 41 ! input/output: … … 52 53 53 54 ! local variables: 54 INTEGER il, i, j, k, icbmax, i0(nloc) 55 INTEGER il, i, j, k, icbmax, i0(nloc), klfc 55 56 REAL deltap, fac, w, amu 56 57 REAL rhodp … … 523 524 END DO 524 525 526 !CR:Compute k at plfc 527 DO k=1,nl 528 DO il=1,ncum 529 if ((plfc(il).lt.ph(il,k)).and.(plfc(il).ge.ph(il,k+1))) then 530 klfc=k 531 endif 532 ENDDO 533 ENDDO 534 !RC 525 535 526 536 DO il = 1, ncum … … 528 538 ! c cbmf1(il) = alp2(il)/(0.5*wb*wb-Cin(il)) 529 539 cbmf1(il) = alp2(il)/(2.*wbeff(il)*wbeff(il)-cin(il)) 540 !CR: Add large-scale component to the mass-flux 541 !encore connu sous le nom "Experience du tube de dentifrice" 542 if (coef_clos_ls.gt.0.) then 543 cbmf1(il) = cbmf1(il) - coef_clos_ls*min(0.,1./RG*omega(il,klfc)) 544 endif 545 !RC 530 546 IF (cbmf1(il)==0 .AND. alp2(il)/=0.) THEN 531 547 WRITE (lunout, *) 'cv3p1_closure cbmf1=0 and alp NE 0 il alp2 alp cin ' & -
LMDZ5/trunk/libf/phylmd/cva_driver.F90
r2079 r2201 7 7 u1, v1, tra1, & 8 8 p1, ph1, & 9 Ale1, Alp1, &9 Ale1, Alp1, omega1, & 10 10 sig1feed1, sig2feed1, wght1, & 11 11 iflag1, ft1, fq1, fu1, fv1, ftra1, & … … 178 178 REAL Ale1(len) 179 179 REAL Alp1(len) 180 REAL omega1(len,nd) 180 181 REAL sig1feed1 ! pressure at lower bound of feeding layer 181 182 REAL sig2feed1 ! pressure at upper bound of feeding layer … … 455 456 REAL supmax(nloc, klev) 456 457 REAL Ale(nloc), Alp(nloc), coef_clos(nloc) 458 REAL omega(nloc,klev) 457 459 REAL sigd(nloc) 458 460 ! real mp(nloc,klev), qp(nloc,klev), up(nloc,klev), vp(nloc,klev) … … 776 778 h1_wake, lv1_wake, lf1_wake, cpn1_wake, tv1_wake, & 777 779 sig1, w01, ptop21, & 778 Ale1, Alp1, &780 Ale1, Alp1, omega1, & 779 781 iflag, nk, icb, icbs, & 780 782 plcl, tnk, qnk, gznk, hnk, unk, vnk, & … … 786 788 h_wake, lv_wake, lf_wake, cpn_wake, tv_wake, & 787 789 sig, w0, ptop2, & 788 Ale, Alp )790 Ale, Alp, omega) 789 791 790 792 ! print*,'tv ',tv … … 877 879 CALL cv3p1_closure(nloc, ncum, nd, icb, inb, & ! na->nd 878 880 pbase, plcl, p, ph, tv, tvp, buoy, & 879 supmax, ok_inhib, Ale, Alp, &881 supmax, ok_inhib, Ale, Alp, omega, & 880 882 sig, w0, ptop2, cape, cin, m, iflag, coef_clos, & 881 883 Plim1, plim2, asupmax, supmax0, &
Note: See TracChangeset
for help on using the changeset viewer.