Ignore:
Timestamp:
Jun 11, 2014, 3:46:46 PM (10 years ago)
Author:
Laurent Fairhead
Message:

Merged trunk changes r1997:2055 into testing branch

Location:
LMDZ5/branches/testing
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/testing

  • LMDZ5/branches/testing/libf/phylmd/ener_conserv.F90

    r1910 r2056  
    2020! From module
    2121USE phys_local_var_mod, ONLY : d_u_vdf,d_v_vdf,d_t_vdf,d_u_ajs,d_v_ajs,d_t_ajs,d_u_con,d_v_con,d_t_con,d_t_diss
    22 USE phys_output_var_mod, ONLY : bils_ec,bils_tke,bils_kinetic,bils_enthalp,bils_latent,bils_diss
     22USE phys_local_var_mod, ONLY : d_t_eva,d_t_lsc,d_q_eva,d_q_lsc
     23USE phys_output_var_mod, ONLY : bils_ec,bils_ech,bils_tke,bils_kinetic,bils_enthalp,bils_latent,bils_diss
    2324
    2425IMPLICIT none
     
    4142REAL, DIMENSION(klon,klev+1) :: fluxu,fluxv,fluxt
    4243REAL, DIMENSION(klon,klev+1) :: dddu,dddv,dddt
    43 REAL, DIMENSION(klon,klev) :: d_u,d_v,d_t,zv,zu
     44REAL, DIMENSION(klon,klev) :: d_u,d_v,d_t,zv,zu,d_t_ech
    4445REAL ZRCPD
    4546
     
    131132
    132133   do k=1,klev
    133       d_t_ec(:,k)=-(dddu(:,k)+dddu(:,k+1)+dddv(:,k)+dddv(:,k+1) &
    134    &  +rcpd*(dddt(:,k)+dddt(:,k+1)))/(2.*rcpd*masse(:,k))
     134      d_t_ech(:,k)=-(rcpd*(dddt(:,k)+dddt(:,k+1)))/(2.*rcpd*masse(:,k))
     135      d_t_ec(:,k)=-(dddu(:,k)+dddu(:,k+1)+dddv(:,k)+dddv(:,k+1))/(2.*rcpd*masse(:,k))+d_t_ech(:,k)
    135136   enddo
    136 ! d_t_ec=0.
    137137
    138138ENDIF
     
    141141!  Computation of integrated enthalpie and kinetic energy variation
    142142!  FH (hourdin@lmd.jussieu.fr), 2013/04/25
     143!  bils_ec : energie conservation term
     144!  bils_ech : part of this term linked to temperature
     145!  bils_tke : change of TKE
     146!  bils_diss : dissipation of TKE (when activated)
     147!  bils_kinetic : change of kinetic energie of the column
     148!  bils_enthalp : change of enthalpie
     149!  bils_latent  : change of latent heat. Computed between
     150!          after reevaporation (at the beginning of the physics)
     151!          and before large scale condensation (fisrtilp)
    143152!================================================================
    144153
     
    157166     &            -puo(:,k)*puo(:,k)-pvo(:,k)*pvo(:,k))
    158167        bils_enthalp(:)= &
    159      &  bils_enthalp(:)+masse(:,k)*(ptn(:,k)-pto(:,k)+d_t_ec(:,k))
     168     &  bils_enthalp(:)+masse(:,k)*(ptn(:,k)-pto(:,k)+d_t_ec(:,k)-d_t_eva(:,k)-d_t_lsc(:,k))
     169!    &  bils_enthalp(:)+masse(:,k)*(ptn(:,k)-pto(:,k)+d_t_ec(:,k))
    160170        bils_latent(:)=bils_latent(:)+masse(:,k)* &
    161      &             (pqn(:,k)-pqo(:,k))
     171!    &             (pqn(:,k)-pqo(:,k))
     172     &             (pqn(:,k)-pqo(:,k)-d_q_eva(:,k)-d_q_lsc(:,k))
    162173      ENDDO
    163174      bils_ec(:)=rcpd*bils_ec(:)/pdtphys
     
    167178      bils_enthalp(:)=rcpd*bils_enthalp(:)/pdtphys
    168179      bils_latent(:)=rlvtt*bils_latent(:)/pdtphys
     180
     181IF (iflag_ener_conserv>=1) THEN
     182      bils_ech(:)=0.
     183      DO k=1,klev
     184        bils_ech(:)=bils_ech(:)-d_t_ech(:,k)*masse(:,k)
     185      ENDDO
     186      bils_ech(:)=rcpd*bils_ech(:)/pdtphys
     187ENDIF
     188
    169189RETURN
    170190
Note: See TracChangeset for help on using the changeset viewer.