Ignore:
Timestamp:
Feb 5, 2015, 12:29:37 PM (10 years ago)
Author:
fhourdin
Message:

Use of add_phys_tend to add the tendencies from radiation.
In order to control temperature range after radiation.

Utilisation de add_phys_tend pour ajouter les tendances
du rayonnement, de façon à contrôler les températures après
cet ajout.

Location:
LMDZ5/trunk/libf/phylmd
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/phys_local_var_mod.F90

    r2181 r2194  
    3535      REAL, SAVE, ALLOCATABLE :: d_t_lsc(:,:),d_q_lsc(:,:),d_ql_lsc(:,:),d_qi_lsc(:,:)
    3636      !$OMP THREADPRIVATE(d_t_lsc,d_q_lsc,d_ql_lsc,d_qi_lsc)
     37      REAL, SAVE, ALLOCATABLE :: d_t_lwr(:,:),d_t_lw0(:,:),d_t_swr(:,:),d_t_sw0(:,:)
     38      !$OMP THREADPRIVATE(d_t_lwr,d_t_lw0,d_t_swr,d_t_sw0)
    3739      REAL, SAVE, ALLOCATABLE :: d_t_ajsb(:,:), d_q_ajsb(:,:)
    3840      !$OMP THREADPRIVATE(d_t_ajsb, d_q_ajsb)
     
    393395      allocate(d_t_wake(klon,klev),d_q_wake(klon,klev))
    394396      allocate(d_t_lsc(klon,klev),d_q_lsc(klon,klev))
     397      allocate(d_t_lwr(klon,klev),d_t_lw0(klon,klev))
     398      allocate(d_t_swr(klon,klev),d_t_sw0(klon,klev))
    395399      allocate(d_ql_lsc(klon,klev),d_qi_lsc(klon,klev))
    396400      allocate(d_t_ajsb(klon,klev),d_q_ajsb(klon,klev))
     
    599603      deallocate(d_t_wake,d_q_wake)
    600604      deallocate(d_t_lsc,d_q_lsc)
     605      deallocate(d_t_lwr,d_t_lw0)
     606      deallocate(d_t_swr,d_t_sw0)
    601607      deallocate(d_ql_lsc,d_qi_lsc)
    602608      deallocate(d_t_ajsb,d_q_ajsb)
  • LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90

    r2180 r2194  
    166166         wake_deltaq, ftd, fqd, ale_bl_trig, albsol1, &
    167167         rnebcon, wo, falb1, albsol2, coefh, clwcon0, &
    168          ratqs, entr_therm, zqasc, detr_therm, f0, heat, &
    169          heat0, cool, cool0, lwup, lwdn, lwup0, coefm, &
     168         ratqs, entr_therm, zqasc, detr_therm, f0, &
     169         lwup, lwdn, lwup0, coefm, &
    170170         swupp, lwupp, swup0p, lwup0p, swdnp, lwdnp, &
    171171         swdn0p, lwdn0p, tnondef, O3sumSTD, uvsumSTD, &
     
    215215         d_u_ajs, d_v_ajs, &
    216216         d_u_con, d_v_con, d_q_con, d_q_ajs, d_t_lsc, &
     217         d_t_lwr,d_t_lw0,d_t_swr,d_t_sw0, &
    217218         d_t_eva, d_q_lsc, beta_prec, d_t_lscth, &
    218219         d_t_lscst, d_q_lscth, d_q_lscst, plul_th, &
     
    11271128       IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_ajsb(1:klon,1:klev)/pdtphys
    11281129       CALL histwrite_phy(o_dqajs, zx_tmp_fi3d)
    1129        IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY
     1130       IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_swr(1:klon,1:klev)/pdtphys
    11301131       CALL histwrite_phy(o_dtswr, zx_tmp_fi3d)
    1131        IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)/RDAY
     1132       IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_sw0(1:klon,1:klev)/pdtphys
    11321133       CALL histwrite_phy(o_dtsw0, zx_tmp_fi3d)
    1133        IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY
     1134       IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_lwr(1:klon,1:klev)/pdtphys
    11341135       CALL histwrite_phy(o_dtlwr, zx_tmp_fi3d)
    1135        IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)/RDAY
     1136       IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_lw0(1:klon,1:klev)/pdtphys
    11361137       CALL histwrite_phy(o_dtlw0, zx_tmp_fi3d)
    11371138       IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)/pdtphys
     
    11931194       CALL histwrite_phy(o_tnt, zx_tmp_fi3d)
    11941195       IF(vars_defined) THEN
    1195           zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY - &
    1196                cool(1:klon,1:klev)/RDAY
     1196          zx_tmp_fi3d(1:klon,1:klev)=d_t_swr(1:klon,1:klev)/pdtphys + &
     1197               d_t_lwr(1:klon,1:klev)/pdtphys
    11971198       ENDIF
    11981199       CALL histwrite_phy(o_tntr, zx_tmp_fi3d)
  • LMDZ5/trunk/libf/phylmd/physiq.F90

    r2193 r2194  
    34553455  ! Ajouter la tendance des rayonnements (tous les pas)
    34563456  !
    3457   DO k = 1, klev
    3458      DO i = 1, klon
    3459         t_seri(i,k) = t_seri(i,k) &
    3460              + (heat(i,k)-cool(i,k)) * dtime/RDAY
    3461      ENDDO
    3462   ENDDO
     3457  d_t_swr(:,:)=heat(:,:)*dtime/RDAY
     3458  d_t_lwr(:,:)=-cool(:,:)*dtime/RDAY
     3459  d_t_sw0(:,:)=heat0(:,:)*dtime/RDAY
     3460  d_t_lw0(:,:)=-cool0(:,:)*dtime/RDAY
     3461  CALL add_phys_tend(du0,dv0,d_t_swr,dq0,dql0,dqi0,paprs,'SW')
     3462  CALL add_phys_tend(du0,dv0,d_t_lwr,dq0,dql0,dqi0,paprs,'LW')
     3463
    34633464  !
    34643465  if (mydebug) then
Note: See TracChangeset for help on using the changeset viewer.