Ignore:
Timestamp:
Apr 16, 2025, 9:25:21 PM (8 weeks ago)
Author:
evignon
Message:

commission pour la conservation de l'eau dans la convection profonde.
1/ integre les corrections apportees par JYG dans cv3routines.
2/ par defaut, conserve dx*masse quand on appelle la convection tous les n pas de temps
Cette commission conduit à une perte de convergence

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r5614 r5622  
    155155       d_q_dyn2d,d_ql_dyn2d,d_qs_dyn2d,d_qbs_dyn2d, &
    156156       ! Physic tendencies
    157        d_t_con,d_q_con,d_q_con_zmasse,d_u_con,d_v_con, &
     157       d_t_con,d_q_con,d_u_con,d_v_con, &
     158       d_t_con_zmasse,d_q_con_zmasse,d_u_con_zmasse,d_v_con_zmasse, &       
    158159       d_tr, &                              !! to be removed?? (jyg)
    159160       d_t_wake,d_q_wake, &
     
    12531254    REAL qql1(klon),qql2(klon),corrqql
    12541255
    1255     !--OB flag to activate better conservation of water tendency when convection is not called every timestep
    1256     LOGICAL, PARAMETER :: ok_conserv_d_q_con=.FALSE.
    1257 
    12581256    REAL, dimension(klon,klev) :: t_env,q_env
    12591257
     
    34163414    ENDIF
    34173415
    3418     !--saving d_q_con * zmass for next timestep if convection is not called every timestep
    3419     IF (ok_conserv_d_q_con) THEN
     3416    !--saving d_X_con * zmass for next timestep if convection is not called every timestep
     3417    IF (ok_mass_dqcon) THEN
    34203418      d_q_con_zmasse(:,:) = d_q_con(:,:) * zmasse(:,:)
    34213419    ENDIF
     3420
     3421    IF (ok_mass_dtcon) THEN
     3422      d_t_con_zmasse(:,:) = d_t_con(:,:) * zmasse(:,:)
     3423    ENDIF
     3424
     3425    IF (ok_mass_duvcon) THEN
     3426      d_u_con_zmasse(:,:) = d_u_con(:,:) * zmasse(:,:)
     3427      d_v_con_zmasse(:,:) = d_v_con(:,:) * zmasse(:,:)
     3428    ENDIF
     3429
    34223430
    34233431    !     CALL homogene(paprs, q_seri, d_q_con, u_seri,v_seri,
     
    34513459!!
    34523460
    3453     !--recompute d_q_con with zmasse from new timestep
    3454     IF (ok_conserv_d_q_con) THEN
     3461    !--recompute d_X_con with zmasse from new timestep
     3462    IF (ok_mass_dqcon) THEN
    34553463      d_q_con(:,:)=d_q_con_zmasse(:,:)/zmasse(:,:)
    34563464    ENDIF
     3465
     3466    IF (ok_mass_dtcon) THEN
     3467      d_t_con(:,:)=d_t_con_zmasse(:,:)/zmasse(:,:)
     3468    ENDIF
     3469
     3470    IF (ok_mass_duvcon) THEN
     3471      d_u_con(:,:)=d_u_con_zmasse(:,:)/zmasse(:,:)
     3472      d_v_con(:,:)=d_v_con_zmasse(:,:)/zmasse(:,:)
     3473    ENDIF
     3474
     3475
    34573476
    34583477    CALL add_phys_tend(d_u_con, d_v_con, d_t_con, d_q_con, dql0, dqi0, dqbs0, paprs, &
Note: See TracChangeset for help on using the changeset viewer.