Changeset 1373 for LMDZ4


Ignore:
Timestamp:
Apr 28, 2010, 4:27:15 PM (14 years ago)
Author:
musat
Message:

Some changes for new physics :

  • new formulation for wakes' alp_offset (physiq)
  • bug fix for lalim in thermals plume
  • add iflag_pbl=9 option (yamada4)

FH/IM

Location:
LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/physiq.F

    r1369 r1373  
    21052105       else
    21062106         IF(prt_level>9)WRITE(lunout,*)'ALE et ALP couples au thermique'
    2107           do i = 1,klon
    2108               ALE(i) = max(ale_wake(i),Ale_bl(i))
    2109 c avant        ALP(i) = alp_wake(i) + Alp_bl(i)
    2110               ALP(i) = alp_wake(i) + Alp_bl(i) + alp_offset ! modif sb
    2111 c         write(20,*)'ALE',ALE(i),Ale_bl(i),ale_wake(i)
    2112 c         write(21,*)'ALP',ALP(i),Alp_bl(i),alp_wake(i)
    2113           enddo
     2107!         do i = 1,klon
     2108!             ALE(i) = max(ale_wake(i),Ale_bl(i))
     2109! avant        ALP(i) = alp_wake(i) + Alp_bl(i)
     2110!             ALP(i) = alp_wake(i) + Alp_bl(i) + alp_offset ! modif sb
     2111!         write(20,*)'ALE',ALE(i),Ale_bl(i),ale_wake(i)
     2112!         write(21,*)'ALP',ALP(i),Alp_bl(i),alp_wake(i)
     2113!         enddo
     2114
     2115!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     2116! Modif FH 2010/04/27. Sans doute temporaire.
     2117! Deux options pour le alp_offset : constant si >Â 0 ou proportionnel Ãa
     2118! w si <0
     2119!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     2120       do i = 1,klon
     2121          ALE(i) = max(ale_wake(i),Ale_bl(i))
     2122          if (alp_offset>=0.) then
     2123            ALP(i) = alp_wake(i) + Alp_bl(i) + alp_offset ! modif sb
     2124          else
     2125            ALP(i)=alp_wake(i)+Alp_bl(i)+alp_offset*min(omega(i,6),0.)
     2126            if (alp(i)<0.) then
     2127               print*,'ALP ',alp(i),alp_wake(i)
     2128     s         ,Alp_bl(i),alp_offset*min(omega(i,6),0.)
     2129            endif
     2130          endif
     2131       enddo
     2132!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     2133
    21142134       endif
    21152135       do i=1,klon
  • LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/thermcell_plume.F90

    r1371 r1373  
    168168               alim_star(ig,l)=MAX((ztv(ig,l)-ztv(ig,l+1)),0.)  &
    169169     &                       *sqrt(zlev(ig,l+1))
    170                lalim(:)=l+1
     170               lalim(ig)=l+1
    171171               alim_star_tot(ig)=alim_star_tot(ig)+alim_star(ig,l)
    172172            endif
     
    651651               alim_star(ig,l)=MAX((ztv(ig,l)-ztv(ig,l+1)),0.)  &
    652652     &                       *sqrt(zlev(ig,l+1))
    653                lalim(:)=l+1
     653               lalim(ig)=l+1
    654654               alim_star_tot(ig)=alim_star_tot(ig)+alim_star(ig,l)
    655655            endif
  • LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/yamada4.F

    r1371 r1373  
    366366c     print*,'0L=',k,l(ig,k),delta(ig,k),km(ig,k)
    367367         qpre=sqrt(q2(ig,k))
    368 !        if (iflag_pbl.eq.8 ) then
     368         if (iflag_pbl.eq.8 ) then
    369369            if (aa(ig,k).gt.0.) then
    370370               q2(ig,k)=(qpre+aa(ig,k)*qpre*qpre)**2
     
    372372               q2(ig,k)=(qpre/(1.-aa(ig,k)*qpre))**2
    373373            endif
    374 !        else ! iflag_pbl=9
    375 !           if (aa(ig,k)*qpre.gt.0.9) then
    376 !              q2(ig,k)=(qpre*10.)**2
    377 !           else
    378 !              q2(ig,k)=(qpre/(1.-aa(ig,k)*qpre))**2
    379 !           endif
    380 !        endif
     374         else ! iflag_pbl=9
     375            if (aa(ig,k)*qpre.gt.0.9) then
     376               q2(ig,k)=(qpre*10.)**2
     377            else
     378               q2(ig,k)=(qpre/(1.-aa(ig,k)*qpre))**2
     379            endif
     380         endif
    381381         q2(ig,k)=min(max(q2(ig,k),1.e-10),1.e4)
    382382c     print*,'Q2 L=',k,q2(ig,k),qpre*qpre
Note: See TracChangeset for help on using the changeset viewer.