Changeset 4093
- Timestamp:
- Mar 13, 2022, 3:58:55 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/thermcell_plume.F90
r4089 r4093 2 2 ! $Id: thermcell_plume.F90 3074 2017-11-15 13:31:44Z fhourdin $ 3 3 ! 4 SUBROUTINE thermcell_plume(itap,ngrid, klev,ptimestep,ztv,zthl,po,zl,rhobarz, &4 SUBROUTINE thermcell_plume(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, & … … 21 21 ! = 29 : an other way to compute the modified buoyancy (to be tested) 22 22 !-------------------------------------------------------------------------- 23 23 24 USE thermcell_ini_mod, ONLY: prt_level,fact_thermals_ed_dz,iflag_thermals_ed,RLvCP,RETV,RG 24 25 USE thermcell_ini_mod, ONLY: fact_epsilon, betalpha, afact, fact_shell … … 26 27 USE thermcell_ini_mod, ONLY: mix0, thermals_flag_alim 27 28 28 29 29 IMPLICIT NONE 30 30 31 INTEGER itap 32 INTEGER lunout1,igout 33 INTEGER ngrid,klev 34 REAL ptimestep 35 REAL ztv(ngrid,klev) 36 REAL zthl(ngrid,klev) 37 REAL po(ngrid,klev) 38 REAL zl(ngrid,klev) 39 REAL rhobarz(ngrid,klev) 40 REAL zlev(ngrid,klev+1) 41 REAL pplev(ngrid,klev+1) 42 REAL pphi(ngrid,klev) 43 REAL zpspsk(ngrid,klev) 44 REAL alim_star(ngrid,klev) 45 REAL f0(ngrid) 46 INTEGER lalim(ngrid) 47 integer lev_out ! niveau pour les print 48 integer nbpb 49 50 real alim_star_tot(ngrid) 51 52 REAL ztva(ngrid,klev) 53 REAL ztla(ngrid,klev) 54 REAL zqla(ngrid,klev) 55 REAL zqta(ngrid,klev) 56 REAL zha(ngrid,klev) 57 58 REAL detr_star(ngrid,klev) 59 REAL coefc 60 REAL entr_star(ngrid,klev) 61 REAL detr(ngrid,klev) 62 REAL entr(ngrid,klev) 63 64 REAL csc(ngrid,klev) 65 66 REAL zw2(ngrid,klev+1) 67 REAL w_est(ngrid,klev+1) 68 REAL f_star(ngrid,klev+1) 69 REAL wa_moy(ngrid,klev+1) 70 71 REAL ztva_est(ngrid,klev) 72 REAL ztv_est(ngrid,klev) 73 REAL zqla_est(ngrid,klev) 74 REAL zqsatth(ngrid,klev) 75 REAL zta_est(ngrid,klev) 31 integer,intent(in) :: itap,lev_out,lunout1,igout,ngrid,nlay 32 real,intent(in) :: ptimestep 33 real,intent(in),dimension(ngrid,nlay) :: ztv 34 real,intent(in),dimension(ngrid,nlay) :: zthl 35 real,intent(in),dimension(ngrid,nlay) :: po 36 real,intent(in),dimension(ngrid,nlay) :: zl 37 real,intent(in),dimension(ngrid,nlay) :: rhobarz 38 real,intent(in),dimension(ngrid,nlay+1) :: zlev 39 real,intent(in),dimension(ngrid,nlay+1) :: pplev 40 real,intent(in),dimension(ngrid,nlay) :: pphi 41 real,intent(in),dimension(ngrid,nlay) :: zpspsk 42 real,intent(in),dimension(ngrid) :: f0 43 44 integer,intent(out) :: lalim(ngrid) 45 real,intent(out),dimension(ngrid,nlay) :: alim_star 46 real,intent(out),dimension(ngrid) :: alim_star_tot 47 real,intent(out),dimension(ngrid,nlay) :: detr_star 48 real,intent(out),dimension(ngrid,nlay) :: entr_star 49 real,intent(out),dimension(ngrid,nlay+1) :: f_star 50 real,intent(out),dimension(ngrid,nlay) :: csc 51 real,intent(out),dimension(ngrid,nlay) :: ztva 52 real,intent(out),dimension(ngrid,nlay) :: ztla 53 real,intent(out),dimension(ngrid,nlay) :: zqla 54 real,intent(out),dimension(ngrid,nlay) :: zqta 55 real,intent(out),dimension(ngrid,nlay) :: zha 56 real,intent(out),dimension(ngrid,nlay+1) :: zw2 57 real,intent(out),dimension(ngrid,nlay+1) :: w_est 58 real,intent(out),dimension(ngrid,nlay) :: ztva_est 59 real,intent(out),dimension(ngrid,nlay) :: zqsatth 60 integer,intent(out),dimension(ngrid) :: lmix(ngrid) 61 integer,intent(out),dimension(ngrid) :: lmix_bis(ngrid) 62 real,intent(out),dimension(ngrid) :: linter(ngrid) 63 64 65 REAL wa_moy(ngrid,nlay+1) 66 REAL entr(ngrid,nlay),detr(ngrid,nlay) 67 REAL ztv_est(ngrid,nlay) 68 REAL zqla_est(ngrid,nlay) 69 REAL zta_est(ngrid,nlay) 76 70 REAL ztemp(ngrid),zqsat(ngrid) 77 71 REAL zdw2,zdw2bis 78 72 REAL zw2modif 79 73 REAL zw2fact,zw2factbis 80 REAL zeps(ngrid,klev) 81 82 REAL linter(ngrid) 83 INTEGER lmix(ngrid) 84 INTEGER lmix_bis(ngrid) 74 REAL zeps(ngrid,nlay) 75 85 76 REAL wmaxa(ngrid) 86 77 87 INTEGER ig,l,k,lt,it,lm 88 89 real zdz,zbuoy(ngrid, klev),zalpha,gamma(ngrid,klev),zdqt(ngrid,klev),zw2m90 real zbuoyjam(ngrid, klev),zdqtjam(ngrid,klev)78 INTEGER ig,l,k,lt,it,lm,nbpb 79 80 real zdz,zbuoy(ngrid,nlay),zalpha,gamma(ngrid,nlay),zdqt(ngrid,nlay),zw2m 81 real zbuoyjam(ngrid,nlay),zdqtjam(ngrid,nlay) 91 82 real zdz2,zdz3,lmel,entrbis,zdzbis 92 83 real d_temp(ngrid) … … 103 94 104 95 105 REAL c2(ngrid, klev)96 REAL c2(ngrid,nlay) 106 97 107 98 if (ngrid==1) print*,'THERMCELL PLUME MODIFIE 2014/07/11' … … 166 157 ! du panache 167 158 ! Cet appel pourrait être fait avant thermcell_plume dans thermcell_main 168 CALL thermcell_alim(thermals_flag_alim,ngrid, klev,ztv,d_temp,zlev,alim_star,lalim)159 CALL thermcell_alim(thermals_flag_alim,ngrid,nlay,ztv,d_temp,zlev,alim_star,lalim) 169 160 170 161 !------------------------------------------------------------------------------ … … 195 186 !boucle de calcul de la vitesse verticale dans le thermique 196 187 !============================================================================== 197 do l=2, klev-1188 do l=2,nlay-1 198 189 !============================================================================== 199 190 … … 442 433 #undef wrgrads_thermcell 443 434 #ifdef wrgrads_thermcell 444 call wrgradsfi(1, klev,entr_star(igout,1:klev),'esta ','esta ')445 call wrgradsfi(1, klev,detr_star(igout,1:klev),'dsta ','dsta ')446 call wrgradsfi(1, klev,zbuoy(igout,1:klev),'buoy ','buoy ')447 call wrgradsfi(1, klev,zdqt(igout,1:klev),'dqt ','dqt ')448 call wrgradsfi(1, klev,w_est(igout,1:klev),'w_est ','w_est ')449 call wrgradsfi(1, klev,w_est(igout,2:klev+1),'w_es2 ','w_es2 ')450 call wrgradsfi(1, klev,zw2(igout,1:klev),'zw2A ','zw2A ')435 call wrgradsfi(1,nlay,entr_star(igout,1:nlay),'esta ','esta ') 436 call wrgradsfi(1,nlay,detr_star(igout,1:nlay),'dsta ','dsta ') 437 call wrgradsfi(1,nlay,zbuoy(igout,1:nlay),'buoy ','buoy ') 438 call wrgradsfi(1,nlay,zdqt(igout,1:nlay),'dqt ','dqt ') 439 call wrgradsfi(1,nlay,w_est(igout,1:nlay),'w_est ','w_est ') 440 call wrgradsfi(1,nlay,w_est(igout,2:nlay+1),'w_es2 ','w_es2 ') 441 call wrgradsfi(1,nlay,zw2(igout,1:nlay),'zw2A ','zw2A ') 451 442 #endif 452 443
Note: See TracChangeset
for help on using the changeset viewer.