Ignore:
Timestamp:
Feb 18, 2010, 2:14:02 PM (14 years ago)
Author:
Laurent Fairhead
Message:

Modifications to thermals for TKE transport


Modifications aux thermiques pour le transport de la TKE

pbl_surface_mode.F90 : ok_flux_surf=.false. seulement pour klon>1
physiq.F : option iflag_pbl=10 pour transporter la TKE avec les thermiques.
calltherm.F90 : passage de iflag_thermals_ed en argument pour thermcell_plume
thermcell_main.F90 : Appel a plusieurs version de thermcell_plume en option
thermcell_plume.F90 : plusieurs versions dans le meme fichier (temporaire)
thermcell_height.F90 : verrue pour les cas ou les thermiques montent tout

en haut

yamada4 : inclusion de la diffusion verticale en option iflag_pbl=9

+ variables anciennement common, puis save/allocatable, remises en local

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/thermcell_main.F90

    r1299 r1311  
    88     &                  ,fm0,entr0,detr0,zqta,zqla,lmax  &
    99     &                  ,ratqscth,ratqsdiff,zqsatth  &
    10      &                  ,r_aspect,l_mix,tau_thermals &
     10     &                  ,r_aspect,l_mix,tau_thermals,iflag_thermals_ed &
    1111     &                  ,Ale_bl,Alp_bl,lalim_conv,wght_th &
    1212     &                  ,zmax0, f0,zw2,fraca)
     
    5555      INTEGER ngrid,nlay,w2di
    5656      real tau_thermals
     57      integer iflag_thermals_ed
    5758      real ptimestep,l_mix,r_aspect
    5859      REAL pt(ngrid,nlay),pdtadj(ngrid,nlay)
     
    228229      ENDIF
    229230!
    230      write(lunout,*)'WARNING thermcell_main f0=max(f0,1.e-2)'
     231!     write(lunout,*)'WARNING thermcell_main f0=max(f0,1.e-2)'
    231232     do ig=1,klon
    232233      if (prt_level.ge.20) then
     
    380381      if (prt_level.ge.1) print*,'avant thermcell_plume ',lev_out
    381382!IM 140508   CALL thermcell_plume(ngrid,nlay,ptimestep,ztv,zthl,po,zl,rhobarz,  &
    382       CALL thermcell_plume(itap,ngrid,nlay,ptimestep,ztv,zthl,po,zl,rhobarz,  &
    383      &           zlev,pplev,pphi,zpspsk,alim_star,alim_star_tot,  &
    384      &           lalim,f0,detr_star,entr_star,f_star,csc,ztva,  &
    385      &           ztla,zqla,zqta,zha,zw2,zw_est,ztva_est,zqsatth,lmix,lmix_bis,linter &
    386      &            ,lev_out,lunout1,igout)
     383
     384! Gestion temporaire de plusieurs appels à thermcell_plume au travers
     385! de la variable iflag_thermals
     386
     387!      print*,'THERM thermcell_main iflag_thermals_ed=',iflag_thermals_ed
     388      if (iflag_thermals_ed<=9) then
     389!         print*,'THERM NOVUELLE/NOUVELLE/ANCIENNE'
     390         CALL thermcell_plume(itap,ngrid,nlay,ptimestep,ztv,zthl,po,zl,rhobarz,&
     391     &    zlev,pplev,pphi,zpspsk,alim_star,alim_star_tot,  &
     392     &    lalim,f0,detr_star,entr_star,f_star,csc,ztva,  &
     393     &    ztla,zqla,zqta,zha,zw2,zw_est,ztva_est,zqsatth,lmix,lmix_bis,linter &
     394     &    ,lev_out,lunout1,igout)
     395
     396      elseif (iflag_thermals_ed<=19) then
     397! Version d'Arnaud Jam
     398!         print*,'THERM RIO et al 2010'
     399         CALL thermcellV1_plume(itap,ngrid,nlay,ptimestep,ztv,zthl,po,zl,rhobarz,&
     400     &    zlev,pplev,pphi,zpspsk,alim_star,alim_star_tot,  &
     401     &    lalim,f0,detr_star,entr_star,f_star,csc,ztva,  &
     402     &    ztla,zqla,zqta,zha,zw2,zw_est,ztva_est,zqsatth,lmix,lmix_bis,linter &
     403     &    ,lev_out,lunout1,igout)
     404
     405      endif
     406
    387407      if (prt_level.ge.1) print*,'apres thermcell_plume ',lev_out
    388408
     
    421441!
    422442!
    423       write(lunout,*)'THERM NOUVEAU RIO2009 31B'
     443!!      write(lunout,*)'THERM NOUVEAU XXXXX'
    424444      CALL thermcell_dry(ngrid,nlay,zlev,pphi,ztv,alim_star,  &
    425445    &                      lalim,lmin,zmax_sec,wmax_sec,lev_out)
     
    440460
    441461
    442 print*,'THERM 26JJJ'
     462!print*,'THERM 26JJJ'
    443463
    444464! Choix de la fonction d'alimentation utilisee pour la fermeture.
Note: See TracChangeset for help on using the changeset viewer.