- Timestamp:
- Mar 14, 2022, 1:45:50 AM (3 years ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 1 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/calwake.F90
r4089 r4094 210 210 211 211 212 ! SUBROUTINE wake(klon,klev,znatsurf, p, ph, pi, dtime, &213 ! tenv0, qe0, omgb, &214 ! dtdwn, dqdwn, amdwn, amup, dta, dqa, wgen, &215 ! sigd_con, Cin, &216 ! deltatw, deltaqw, sigmaw, awdens, wdens, & ! state variables217 ! dth, hw, wape, fip, gfl, &218 ! dtls, dqls, ktopw, omgbdth, dp_omgb, tu, qu, &219 ! dtke, dqke, omg, dp_deltomg, wkspread, cstar, &220 ! d_deltat_gw, &221 ! d_deltatw2, d_deltaqw2, d_sigmaw2, d_awdens2, d_wdens2) ! tendencies222 !223 ! retour a un Pupper fixe *224 212 CALL wake(klon,klev,znatsurf, p, ph, pi, dtime, & 225 213 te, qe, omgbe, & -
LMDZ6/trunk/libf/phylmd/thermcell_closure.F90
r4089 r4094 3 3 ! 4 4 SUBROUTINE thermcell_closure(ngrid,nlay,r_aspect,ptimestep,rho, & 5 & zlev,lalim,alim_star, f_star,zmax,wmax,f,lev_out)5 & zlev,lalim,alim_star,zmax,wmax,f) 6 6 7 7 !------------------------------------------------------------------------- … … 17 17 IMPLICIT NONE 18 18 19 INTEGER ngrid,nlay 19 ! --- arguments ------------------------------------------ 20 integer, intent(in) :: ngrid,nlay 21 real, intent(in) :: r_aspect,ptimestep 22 real, intent(in), dimension(ngrid,nlay) :: alim_star,rho,zlev 23 integer, intent(in), dimension(ngrid) :: lalim 24 real, intent(in), dimension(ngrid) :: zmax,wmax 25 26 real, intent(out), dimension(ngrid) :: f 27 28 29 ! --- local ------------------------------------------ 30 real, dimension(ngrid) :: zdenom,alim_star2,alim_star_tot 31 INTEGER llmax 20 32 INTEGER ig,k 21 REAL r_aspect,ptimestep22 integer lev_out ! niveau pour les print23 24 INTEGER lalim(ngrid)25 REAL alim_star(ngrid,nlay)26 REAL f_star(ngrid,nlay+1)27 REAL rho(ngrid,nlay)28 REAL zlev(ngrid,nlay)29 REAL zmax(ngrid)30 REAL wmax(ngrid)31 REAL zdenom(ngrid)32 REAL alim_star2(ngrid)33 REAL f(ngrid)34 35 REAL alim_star_tot(ngrid)36 INTEGER llmax37 33 38 34 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 71 67 72 68 73 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!74 ! TESTS POUR UNE NOUVELLE FERMETURE DANS LAQUELLE ALIM_STAR NE SERAIT75 ! PAS NORMALISE76 ! f(ig)=f(ig)*f_star(ig,2)/(f_star(ig,lalim(ig)))77 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!78 69 79 return70 RETURN 80 71 end -
LMDZ6/trunk/libf/phylmd/thermcell_dry.F90
r2311 r4094 3 3 ! 4 4 SUBROUTINE thermcell_dry(ngrid,nlay,zlev,pphi,ztv,alim_star, & 5 & lalim,lmin,zmax,wmax ,lev_out)5 & lalim,lmin,zmax,wmax) 6 6 7 7 !-------------------------------------------------------------------------- … … 14 14 ! la temperature potentielle virtuelle pondérée par alim_star. 15 15 !-------------------------------------------------------------------------- 16 USE thermcell_ini_mod, ONLY: prt_level, RG 17 IMPLICIT NONE 16 18 17 USE print_control_mod, ONLY: prt_level 18 IMPLICIT NONE 19 #include "YOMCST.h" 20 INTEGER l,ig 21 22 INTEGER ngrid,nlay 23 REAL zlev(ngrid,nlay+1) 24 REAL pphi(ngrid,nlay) 25 REAl ztv(ngrid,nlay) 26 REAL alim_star(ngrid,nlay) 27 INTEGER lalim(ngrid) 28 integer lev_out ! niveau pour les print 29 30 REAL zmax(ngrid) 31 REAL wmax(ngrid) 19 integer, intent(in) :: ngrid,nlay 20 real, intent(in), dimension(ngrid,nlay+1) :: zlev,pphi,ztv,alim_star 21 integer, intent(in), dimension(ngrid) :: lalim 22 real, intent(out), dimension(ngrid) :: zmax,wmax 32 23 33 24 !variables locales … … 41 32 CHARACTER (LEN=20) :: modname='thermcell_dry' 42 33 CHARACTER (LEN=80) :: abort_message 34 INTEGER l,ig 43 35 44 36 !initialisations … … 170 162 enddo 171 163 172 164 RETURN 173 165 END -
LMDZ6/trunk/libf/phylmd/thermcell_env.F90
r4089 r4094 75 75 enddo 76 76 77 77 RETURN 78 78 END -
LMDZ6/trunk/libf/phylmd/thermcell_height.F90
r4089 r4094 1 1 SUBROUTINE thermcell_height(ngrid,nlay,lalim,lmin,linter,lmix, & 2 & zw2,zlev,lmax,zmax,zmax0,zmix,wmax,lev_out) 2 & zw2,zlev,lmax,zmax,zmax0,zmix,wmax) 3 IMPLICIT NONE 3 4 4 5 !----------------------------------------------------------------------------- 5 6 !thermcell_height: calcul des caracteristiques du thermique: zmax,wmax,zmix 6 7 !----------------------------------------------------------------------------- 7 IMPLICIT NONE8 8 9 INTEGER ig,l 10 INTEGER ngrid,nlay 11 INTEGER lalim(ngrid),lmin(ngrid) 12 INTEGER lmix(ngrid) 13 REAL linter(ngrid) 14 integer lev_out ! niveau pour les print 9 ! arguments 15 10 16 REAL zw2(ngrid,nlay+1) 17 REAL zlev(ngrid,nlay+1) 11 ! Entree 12 integer, intent(in) :: ngrid,nlay 13 real, intent(in), dimension(ngrid) :: linter 14 real, intent(in), dimension(ngrid,nlay+1) :: zlev 15 ! Sortie 16 real, intent(out), dimension(ngrid) :: wmax,zmax,zmax0,zmix 17 integer, intent(out), dimension(ngrid) :: lmax 18 ! Les deux 19 integer, intent(inout), dimension(ngrid) :: lmix,lalim,lmin 20 real, intent(inout), dimension(ngrid,nlay+1) :: zw2 18 21 19 REAL wmax(ngrid) 20 INTEGER lmax(ngrid) 21 REAL zmax(ngrid) 22 REAL zmax0(ngrid) 23 REAL zmix(ngrid) 24 REAL num(ngrid) 25 REAL denom(ngrid) 26 27 REAL zlevinter(ngrid) 22 ! local 23 real, dimension(ngrid) :: num,denom,zlevinter 24 integer ig,l 28 25 29 26 !calcul de la hauteur max du thermique … … 159 156 enddo 160 157 ! 161 return158 RETURN 162 159 end -
LMDZ6/trunk/libf/phylmd/thermcell_ini_mod.F90
r4090 r4094 97 97 98 98 99 !===================================================================== 99 include "dump_ini.h" ! replay automatic include 100 RETURN 100 101 101 102 END SUBROUTINE thermcell_ini -
LMDZ6/trunk/libf/phylmd/thermcell_main.F90
r4089 r4094 351 351 ! 352 352 CALL thermcell_height(ngrid,nlay,lalim,lmin,linter,lmix,zw2, & 353 & zlev,lmax,zmax,zmax0,zmix,wmax ,lev_out)353 & zlev,lmax,zmax,zmax0,zmix,wmax) 354 354 ! Attention, w2 est transforme en sa racine carree dans cette routine 355 355 ! Le probleme vient du fait que linter et lmix sont souvent égaux à 1. … … 374 374 ! 375 375 ! 376 !! write(lunout,*)'THERM NOUVEAU XXXXX'377 376 CALL thermcell_dry(ngrid,nlay,zlev,pphi,ztv,alim_star, & 378 & lalim,lmin,zmax_sec,wmax_sec ,lev_out)377 & lalim,lmin,zmax_sec,wmax_sec) 379 378 380 379 … … 403 402 if (iflag_thermals_closure.eq.1) then 404 403 405 406 & zlev,lalim,alim_star_clos,f_star,zmax_sec,wmax_sec,f,lev_out)404 CALL thermcell_closure(ngrid,nlay,r_aspect_thermals,ptimestep,rho, & 405 & zlev,lalim,alim_star_clos,zmax_sec,wmax_sec,f) 407 406 408 407 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 412 411 413 412 CALL thermcell_closure(ngrid,nlay,r_aspect_thermals,ptimestep,rho, & 414 & zlev,lalim,alim_star,f_star,zmax,wmax,f,lev_out) 413 & zlev,lalim,alim_star,zmax,wmax,f) 414 415 415 416 416 endif … … 690 690 if (prt_level.ge.1) print*,'thermcell_main FIN OK' 691 691 692 return692 RETURN 693 693 end subroutine thermcell_main 694 694 -
LMDZ6/trunk/libf/phylmd/thermcell_plume_6A.F90
r4089 r4094 2 2 ! $Id$ 3 3 ! 4 SUBROUTINE thermcell_plume_6A(itap,ngrid, klev,ptimestep,ztv,zthl,po,zl,rhobarz, &4 SUBROUTINE thermcell_plume_6A(itap,ngrid,nlay,ptimestep,ztv,zthl,po,zl,rhobarz, & 5 5 & zlev,pplev,pphi,zpspsk,alim_star,alim_star_tot, & 6 6 & lalim,f0,detr_star,entr_star,f_star,csc,ztva, & … … 19 19 IMPLICIT NONE 20 20 21 integer,intent(in) :: itap,lev_out,lunout1,igout,ngrid, klev21 integer,intent(in) :: itap,lev_out,lunout1,igout,ngrid,nlay 22 22 real,intent(in) :: ptimestep 23 real,intent(in),dimension(ngrid, klev) :: ztv24 real,intent(in),dimension(ngrid, klev) :: zthl25 real,intent(in),dimension(ngrid, klev) :: po26 real,intent(in),dimension(ngrid, klev) :: zl27 real,intent(in),dimension(ngrid, klev) :: rhobarz28 real,intent(in),dimension(ngrid, klev+1) :: zlev29 real,intent(in),dimension(ngrid, klev+1) :: pplev30 real,intent(in),dimension(ngrid, klev) :: pphi31 real,intent(in),dimension(ngrid, klev) :: zpspsk23 real,intent(in),dimension(ngrid,nlay) :: ztv 24 real,intent(in),dimension(ngrid,nlay) :: zthl 25 real,intent(in),dimension(ngrid,nlay) :: po 26 real,intent(in),dimension(ngrid,nlay) :: zl 27 real,intent(in),dimension(ngrid,nlay) :: rhobarz 28 real,intent(in),dimension(ngrid,nlay+1) :: zlev 29 real,intent(in),dimension(ngrid,nlay+1) :: pplev 30 real,intent(in),dimension(ngrid,nlay) :: pphi 31 real,intent(in),dimension(ngrid,nlay) :: zpspsk 32 32 real,intent(in),dimension(ngrid) :: f0 33 33 34 34 integer,intent(out) :: lalim(ngrid) 35 real,intent(out),dimension(ngrid, klev) :: alim_star35 real,intent(out),dimension(ngrid,nlay) :: alim_star 36 36 real,intent(out),dimension(ngrid) :: alim_star_tot 37 real,intent(out),dimension(ngrid, klev) :: detr_star38 real,intent(out),dimension(ngrid, klev) :: entr_star39 real,intent(out),dimension(ngrid, klev+1) :: f_star40 real,intent(out),dimension(ngrid, klev) :: csc41 real,intent(out),dimension(ngrid, klev) :: ztva42 real,intent(out),dimension(ngrid, klev) :: ztla43 real,intent(out),dimension(ngrid, klev) :: zqla44 real,intent(out),dimension(ngrid, klev) :: zqta45 real,intent(out),dimension(ngrid, klev) :: zha46 real,intent(out),dimension(ngrid, klev+1) :: zw247 real,intent(out),dimension(ngrid, klev+1) :: w_est48 real,intent(out),dimension(ngrid, klev) :: ztva_est49 real,intent(out),dimension(ngrid, klev) :: zqsatth50 integer,intent(out),dimension(ngrid) :: lmix (ngrid)51 integer,intent(out),dimension(ngrid) :: lmix_bis (ngrid)52 real,intent(out),dimension(ngrid) :: linter (ngrid)37 real,intent(out),dimension(ngrid,nlay) :: detr_star 38 real,intent(out),dimension(ngrid,nlay) :: entr_star 39 real,intent(out),dimension(ngrid,nlay+1) :: f_star 40 real,intent(out),dimension(ngrid,nlay) :: csc 41 real,intent(out),dimension(ngrid,nlay) :: ztva 42 real,intent(out),dimension(ngrid,nlay) :: ztla 43 real,intent(out),dimension(ngrid,nlay) :: zqla 44 real,intent(out),dimension(ngrid,nlay) :: zqta 45 real,intent(out),dimension(ngrid,nlay) :: zha 46 real,intent(out),dimension(ngrid,nlay+1) :: zw2 47 real,intent(out),dimension(ngrid,nlay+1) :: w_est 48 real,intent(out),dimension(ngrid,nlay) :: ztva_est 49 real,intent(out),dimension(ngrid,nlay) :: zqsatth 50 integer,intent(out),dimension(ngrid) :: lmix 51 integer,intent(out),dimension(ngrid) :: lmix_bis 52 real,intent(out),dimension(ngrid) :: linter 53 53 54 54 REAL zdw2,zdw2bis 55 55 REAL zw2modif 56 56 REAL zw2fact,zw2factbis 57 REAL zeps(ngrid, klev)57 REAL zeps(ngrid,nlay) 58 58 59 59 REAL wmaxa(ngrid) … … 62 62 integer nbpb 63 63 64 real,dimension(ngrid, klev) :: detr65 real,dimension(ngrid, klev) :: entr66 real,dimension(ngrid, klev+1) :: wa_moy67 real,dimension(ngrid, klev) :: ztv_est64 real,dimension(ngrid,nlay) :: detr 65 real,dimension(ngrid,nlay) :: entr 66 real,dimension(ngrid,nlay+1) :: wa_moy 67 real,dimension(ngrid,nlay) :: ztv_est 68 68 real,dimension(ngrid) :: ztemp,zqsat 69 real,dimension(ngrid, klev) :: zqla_est70 real,dimension(ngrid, klev) :: zta_est71 72 real zdz,zbuoy(ngrid, klev),zalpha,gamma(ngrid,klev),zdqt(ngrid,klev),zw2m73 real zbuoyjam(ngrid, klev),zdqtjam(ngrid,klev)69 real,dimension(ngrid,nlay) :: zqla_est 70 real,dimension(ngrid,nlay) :: zta_est 71 72 real zdz,zbuoy(ngrid,nlay),zalpha,gamma(ngrid,nlay),zdqt(ngrid,nlay),zw2m 73 real zbuoyjam(ngrid,nlay),zdqtjam(ngrid,nlay) 74 74 real zbuoybis,zdz2,zdz3,lmel,entrbis,zdzbis 75 75 real d_temp(ngrid) … … 85 85 REAL fact_gamma,fact_gamma2,fact_epsilon2 86 86 REAL coefc 87 REAL c2(ngrid, klev)87 REAL c2(ngrid,nlay) 88 88 89 89 if (ngrid==1) print*,'THERMCELL PLUME MODIFIE 2014/07/11' … … 148 148 ! du panache 149 149 ! Cet appel pourrait être fait avant thermcell_plume dans thermcell_main 150 CALL thermcell_alim(thermals_flag_alim,ngrid, klev,ztv,d_temp,zlev,alim_star,lalim)150 CALL thermcell_alim(thermals_flag_alim,ngrid,nlay,ztv,d_temp,zlev,alim_star,lalim) 151 151 152 152 !------------------------------------------------------------------------------ … … 177 177 !boucle de calcul de la vitesse verticale dans le thermique 178 178 !============================================================================== 179 do l=2, klev-1179 do l=2,nlay-1 180 180 !============================================================================== 181 181 … … 372 372 ! & (exp(-zw2factbis)*(w_est(ig,l-1)-zdw2bis)+zdw2)) 373 373 374 374 w_est(ig,l+1)=Max(0.0001,exp(-zw2fact)*(w_est(ig,l)-zdw2)+zdw2) 375 375 376 376 ! Nouvelle version Arnaud … … 380 380 ! & (exp(-zw2factbis)*(w_est(ig,l-1)-zdw2bis)+zdw2)) 381 381 382 382 w_est(ig,l+1)=Max(0.0001,exp(-zw2fact)*(w_est(ig,l)-zdw2bis)+zdw2) 383 383 384 384 ! w_est(ig,l+1)=Max(0.0001,(zdz/(zdzbis+zdz))*(exp(-zw2fact)* & … … 413 413 ! & (exp(-zw2factbis)*(zw2(ig,l-1)-zdw2bis)+zdw2)) 414 414 415 415 w_est(ig,l+1)=Max(0.0001,exp(-zw2fact)*(w_est(ig,l)-zdw2bis)+zdw2) 416 416 417 417 … … 478 478 & + detr_q_coef*(zdqt(ig,l)/zw2m)**detr_q_power)) 479 479 480 ! 481 ! & 480 ! detr_star(ig,l)=(zdz/zdzbis)*detr_star(ig,l)+ & 481 ! & ((zdzbis-zdz)/zdzbis)*detr_star(ig,l-1) 482 482 483 483 zbuoy(ig,l)=RG*(ztva_est(ig,l)-ztv(ig,l))/ztv(ig,l) … … 496 496 497 497 498 ! 499 ! & 498 ! entr_star(ig,l)=(zdz/zdzbis)*entr_star(ig,l)+ & 499 ! & ((zdzbis-zdz)/zdzbis)*entr_star(ig,l-1) 500 500 501 501 ! entr_star(ig,l)=Max(0.,f_star(ig,l)*zdz*zbetalpha* & … … 576 576 ! & (exp(-zw2factbis)*(zw2(ig,l-1)-zdw2bis)+zdw2)) 577 577 if (iflag_thermals_ed==8) then 578 578 zw2(ig,l+1)=Max(0.0001,exp(-zw2fact)*(zw2(ig,l)-zdw2)+zdw2) 579 579 else 580 580 zw2(ig,l+1)=Max(0.0001,exp(-zw2fact)*(zw2(ig,l)-zdw2bis)+zdw2) 581 581 endif 582 582 ! zw2(ig,l+1)=Max(0.0001,(zdz/(zdz+zdzbis))*(exp(-zw2fact)* & … … 599 599 ! & (exp(-zw2factbis)*(zw2(ig,l-1)-zdw2bis)+zdw2)) 600 600 ! zw2(ig,l+1)=Max(0.0001,(zw2(ig,l)+zdw2*zw2fact)*exp(-zw2fact)) 601 601 zw2(ig,l+1)=Max(0.0001,exp(-zw2fact)*(zw2(ig,l)-zdw2bis)+zdw2) 602 602 603 603 endif … … 672 672 #undef wrgrads_thermcell 673 673 #ifdef wrgrads_thermcell 674 call wrgradsfi(1, klev,entr_star(igout,1:klev),'esta ','esta ')675 call wrgradsfi(1, klev,detr_star(igout,1:klev),'dsta ','dsta ')676 call wrgradsfi(1, klev,zbuoy(igout,1:klev),'buoy ','buoy ')677 call wrgradsfi(1, klev,zdqt(igout,1:klev),'dqt ','dqt ')678 call wrgradsfi(1, klev,w_est(igout,1:klev),'w_est ','w_est ')679 call wrgradsfi(1, klev,w_est(igout,2:klev+1),'w_es2 ','w_es2 ')680 call wrgradsfi(1, klev,zw2(igout,1:klev),'zw2A ','zw2A ')674 call wrgradsfi(1,nlay,entr_star(igout,1:nlay),'esta ','esta ') 675 call wrgradsfi(1,nlay,detr_star(igout,1:nlay),'dsta ','dsta ') 676 call wrgradsfi(1,nlay,zbuoy(igout,1:nlay),'buoy ','buoy ') 677 call wrgradsfi(1,nlay,zdqt(igout,1:nlay),'dqt ','dqt ') 678 call wrgradsfi(1,nlay,w_est(igout,1:nlay),'w_est ','w_est ') 679 call wrgradsfi(1,nlay,w_est(igout,2:nlay+1),'w_es2 ','w_es2 ') 680 call wrgradsfi(1,nlay,zw2(igout,1:nlay),'zw2A ','zw2A ') 681 681 #endif 682 682 683 683 684 return 684 include "dump_param.h" ! replay automatic include 685 RETURN 685 686 end 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 687 715 688 … … 725 698 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 726 699 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 727 SUBROUTINE thermcell_plume_5B(itap,ngrid, klev,ptimestep,ztv,zthl,po,zl,rhobarz, &700 SUBROUTINE thermcell_plume_5B(itap,ngrid,nlay,ptimestep,ztv,zthl,po,zl,rhobarz, & 728 701 & zlev,pplev,pphi,zpspsk,alim_star,alim_star_tot, & 729 702 & lalim,f0,detr_star,entr_star,f_star,csc,ztva, & … … 743 716 INTEGER itap 744 717 INTEGER lunout1,igout 745 INTEGER ngrid, klev718 INTEGER ngrid,nlay 746 719 REAL ptimestep 747 REAL ztv(ngrid, klev)748 REAL zthl(ngrid, klev)749 REAL po(ngrid, klev)750 REAL zl(ngrid, klev)751 REAL rhobarz(ngrid, klev)752 REAL zlev(ngrid, klev+1)753 REAL pplev(ngrid, klev+1)754 REAL pphi(ngrid, klev)755 REAL zpspsk(ngrid, klev)756 REAL alim_star(ngrid, klev)720 REAL ztv(ngrid,nlay) 721 REAL zthl(ngrid,nlay) 722 REAL po(ngrid,nlay) 723 REAL zl(ngrid,nlay) 724 REAL rhobarz(ngrid,nlay) 725 REAL zlev(ngrid,nlay+1) 726 REAL pplev(ngrid,nlay+1) 727 REAL pphi(ngrid,nlay) 728 REAL zpspsk(ngrid,nlay) 729 REAL alim_star(ngrid,nlay) 757 730 REAL f0(ngrid) 758 731 INTEGER lalim(ngrid) … … 762 735 real alim_star_tot(ngrid) 763 736 764 REAL ztva(ngrid, klev)765 REAL ztla(ngrid, klev)766 REAL zqla(ngrid, klev)767 REAL zqta(ngrid, klev)768 REAL zha(ngrid, klev)769 770 REAL detr_star(ngrid, klev)737 REAL ztva(ngrid,nlay) 738 REAL ztla(ngrid,nlay) 739 REAL zqla(ngrid,nlay) 740 REAL zqta(ngrid,nlay) 741 REAL zha(ngrid,nlay) 742 743 REAL detr_star(ngrid,nlay) 771 744 REAL coefc 772 REAL entr_star(ngrid, klev)773 REAL detr(ngrid, klev)774 REAL entr(ngrid, klev)775 776 REAL csc(ngrid, klev)777 778 REAL zw2(ngrid, klev+1)779 REAL w_est(ngrid, klev+1)780 REAL f_star(ngrid, klev+1)781 REAL wa_moy(ngrid, klev+1)782 783 REAL ztva_est(ngrid, klev)784 REAL zqla_est(ngrid, klev)785 REAL zqsatth(ngrid, klev)786 REAL zta_est(ngrid, klev)787 REAL zbuoyjam(ngrid, klev)745 REAL entr_star(ngrid,nlay) 746 REAL detr(ngrid,nlay) 747 REAL entr(ngrid,nlay) 748 749 REAL csc(ngrid,nlay) 750 751 REAL zw2(ngrid,nlay+1) 752 REAL w_est(ngrid,nlay+1) 753 REAL f_star(ngrid,nlay+1) 754 REAL wa_moy(ngrid,nlay+1) 755 756 REAL ztva_est(ngrid,nlay) 757 REAL zqla_est(ngrid,nlay) 758 REAL zqsatth(ngrid,nlay) 759 REAL zta_est(ngrid,nlay) 760 REAL zbuoyjam(ngrid,nlay) 788 761 REAL ztemp(ngrid),zqsat(ngrid) 789 762 REAL zdw2 790 763 REAL zw2modif 791 764 REAL zw2fact 792 REAL zeps(ngrid, klev)765 REAL zeps(ngrid,nlay) 793 766 794 767 REAL linter(ngrid) … … 799 772 INTEGER ig,l,k 800 773 801 real zdz,zbuoy(ngrid, klev),zalpha,gamma(ngrid,klev),zdqt(ngrid,klev),zw2m774 real zdz,zbuoy(ngrid,nlay),zalpha,gamma(ngrid,nlay),zdqt(ngrid,nlay),zw2m 802 775 real zbuoybis 803 776 real zcor,zdelta,zcvm5,qlbef,zdz2 … … 807 780 LOGICAL active(ngrid),activetmp(ngrid) 808 781 REAL fact_gamma,fact_epsilon,fact_gamma2,fact_epsilon2 809 REAL c2(ngrid, klev)782 REAL c2(ngrid,nlay) 810 783 Zsat=.false. 811 784 ! Initialisation … … 869 842 ! Definition de l'alimentation 870 843 !------------------------------------------------------------------------- 871 do l=1, klev-1844 do l=1,nlay-1 872 845 do ig=1,ngrid 873 846 if (ztv(ig,l)> ztv(ig,l+1) .and. ztv(ig,1)>=ztv(ig,l) ) then … … 879 852 enddo 880 853 enddo 881 do l=1, klev854 do l=1,nlay 882 855 do ig=1,ngrid 883 856 if (alim_star_tot(ig) > 1.e-10 ) then … … 917 890 !boucle de calcul de la vitesse verticale dans le thermique 918 891 !============================================================================== 919 do l=2, klev-1892 do l=2,nlay-1 920 893 !============================================================================== 921 894 … … 1117 1090 #undef wrgrads_thermcell 1118 1091 #ifdef wrgrads_thermcell 1119 call wrgradsfi(1, klev,entr_star(igout,1:klev),'esta ','esta ')1120 call wrgradsfi(1, klev,detr_star(igout,1:klev),'dsta ','dsta ')1121 call wrgradsfi(1, klev,zbuoy(igout,1:klev),'buoy ','buoy ')1122 call wrgradsfi(1, klev,zdqt(igout,1:klev),'dqt ','dqt ')1123 call wrgradsfi(1, klev,w_est(igout,1:klev),'w_est ','w_est ')1124 call wrgradsfi(1, klev,w_est(igout,2:klev+1),'w_es2 ','w_es2 ')1125 call wrgradsfi(1, klev,zw2(igout,1:klev),'zw2A ','zw2A ')1092 call wrgradsfi(1,nlay,entr_star(igout,1:nlay),'esta ','esta ') 1093 call wrgradsfi(1,nlay,detr_star(igout,1:nlay),'dsta ','dsta ') 1094 call wrgradsfi(1,nlay,zbuoy(igout,1:nlay),'buoy ','buoy ') 1095 call wrgradsfi(1,nlay,zdqt(igout,1:nlay),'dqt ','dqt ') 1096 call wrgradsfi(1,nlay,w_est(igout,1:nlay),'w_est ','w_est ') 1097 call wrgradsfi(1,nlay,w_est(igout,2:nlay+1),'w_es2 ','w_es2 ') 1098 call wrgradsfi(1,nlay,zw2(igout,1:nlay),'zw2A ','zw2A ') 1126 1099 #endif 1127 1100
Note: See TracChangeset
for help on using the changeset viewer.