Ignore:
Timestamp:
Aug 3, 2016, 5:41:26 PM (8 years ago)
Author:
jyg
Message:

Introduction of a new option inhibiting the
evolution of the state variables, while calling
all parametrizations. The option is controlled by
the parameter flag_inhib_tend.

For the time being the flag is set to 0 (= no

inhibition of tendencies).

jyg for jld.

File:
1 edited

Legend:

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

    r2606 r2611  
    216216
    217217    USE paramLMDZ_phy_mod
     218
     219    USE cmp_seri_mod
    218220
    219221    !IM stations CFMIP
     
    801803    ! eva: evaporation de l'eau liquide nuageuse
    802804    ! vdf: couche limite (Vertical DiFfusion)
    803 
     805    !
    804806    ! tendance nulles
    805807    REAL, dimension(klon,klev):: du0, dv0, dt0, dq0, dql0, dqi0
     808    !
     809    ! Flag pour pouvoir ne pas ajouter les tendances.
     810    ! Par defaut, les tendances doivente etre ajoutees et
     811    ! flag_inhib_tend = 0
     812    ! flag_inhib_tend > 0 : tendances non ajoutees, avec un nombre
     813    ! croissant de print quand la valeur du flag augmente
     814    !!! attention, ce flag doit etre change avec prudence !!!
     815    INTEGER :: flag_inhib_tend = 0 !  0 is the default value
     816!!    INTEGER :: flag_inhib_tend = 2
    806817
    807818    !
     
    17721783       ENDDO
    17731784    ENDDO
     1785    ! Initialize variables used for diagnostic purpose
     1786    if (flag_inhib_tend .ne. 0) call init_cmp_seri
    17741787    !IM
    17751788    IF (ip_ebil_phy.ge.1) THEN
     
    22172230          CALL add_pbl_tend &
    22182231               (d_u_vdf,d_v_vdf,d_t_vdf+d_t_diss,d_q_vdf,dql0,dqi0,paprs,&
    2219                'vdf',abortphy)
     2232               'vdf',abortphy,flag_inhib_tend)
    22202233       ELSE
    22212234          CALL add_phys_tend &
    22222235               (d_u_vdf,d_v_vdf,d_t_vdf+d_t_diss,d_q_vdf,dql0,dqi0,paprs,&
    2223                'vdf',abortphy)
     2236               'vdf',abortphy,flag_inhib_tend)
    22242237       ENDIF
    22252238       !--------------------------------------------------------------------
     
    25992612
    26002613    CALL add_phys_tend(d_u_con, d_v_con, d_t_con, d_q_con, dql0, dqi0, paprs, &
    2601          'convection',abortphy)
     2614         'convection',abortphy,flag_inhib_tend)
    26022615
    26032616    !-------------------------------------------------------------------------
     
    27722785       d_q_wake(:,:)=dq_wake(:,:)*dtime
    27732786       CALL add_phys_tend(du0,dv0,d_t_wake,d_q_wake,dql0,dqi0,paprs,'wake', &
    2774             abortphy)
     2787            abortphy,flag_inhib_tend)
    27752788       !------------------------------------------------------------------------
    27762789
     
    29192932          !
    29202933          CALL add_phys_tend(d_u_ajs,d_v_ajs,d_t_ajs,d_q_ajs,  &
    2921                              dql0,dqi0,paprs,'thermals', abortphy)
     2934                             dql0,dqi0,paprs,'thermals', abortphy,flag_inhib_tend)
    29222935          !
    29232936          !>jyg
     
    29832996          ! ajout des tendances de l'ajustement sec ou des thermiques
    29842997          CALL add_phys_tend(du0,dv0,d_t_ajsb,d_q_ajsb,dql0,dqi0,paprs, &
    2985                'ajsb',abortphy)
     2998               'ajsb',abortphy,flag_inhib_tend)
    29862999          d_t_ajs(:,:)=d_t_ajs(:,:)+d_t_ajsb(:,:)
    29873000          d_q_ajs(:,:)=d_q_ajs(:,:)+d_q_ajsb(:,:)
     
    30423055
    30433056    CALL add_phys_tend(du0,dv0,d_t_lsc,d_q_lsc,d_ql_lsc,d_qi_lsc,paprs, &
    3044          'lsc',abortphy)
     3057         'lsc',abortphy,flag_inhib_tend)
    30453058    !---------------------------------------------------------------------------
    30463059    DO k = 1, klev
     
    38043817    ENDDO
    38053818
    3806     CALL add_phys_tend(du0,dv0,d_t_swr,dq0,dql0,dqi0,paprs,'SW',abortphy)
    3807     CALL add_phys_tend(du0,dv0,d_t_lwr,dq0,dql0,dqi0,paprs,'LW',abortphy)
     3819    CALL add_phys_tend(du0,dv0,d_t_swr,dq0,dql0,dqi0,paprs,'SW',abortphy,flag_inhib_tend)
     3820    CALL add_phys_tend(du0,dv0,d_t_lwr,dq0,dql0,dqi0,paprs,'LW',abortphy,flag_inhib_tend)
    38083821
    38093822    !
     
    38893902       ! ajout des tendances de la trainee de l'orographie
    38903903       CALL add_phys_tend(d_u_oro,d_v_oro,d_t_oro,dq0,dql0,dqi0,paprs,'oro', &
    3891             abortphy)
     3904            abortphy,flag_inhib_tend)
    38923905       !----------------------------------------------------------------------
    38933906       !
     
    39353948       ! ajout des tendances de la portance de l'orographie
    39363949       CALL add_phys_tend(d_u_lif, d_v_lif, d_t_lif, dq0, dql0, dqi0, paprs, &
    3937             'lif', abortphy)
     3950            'lif', abortphy,flag_inhib_tend)
    39383951    ENDIF ! fin de test sur ok_orolf
    39393952
     
    39583971       d_t_hin(:, :)=0.
    39593972       CALL add_phys_tend(du_gwd_hines, dv_gwd_hines, d_t_hin, dq0, dql0, &
    3960             dqi0, paprs, 'hin', abortphy)
     3973            dqi0, paprs, 'hin', abortphy,flag_inhib_tend)
    39613974    ENDIF
    39623975
     
    39753988
    39763989       CALL add_phys_tend(du_gwd_front, dv_gwd_front, dt0, dq0, dql0, dqi0, &
    3977             paprs, 'front_gwd_rando', abortphy)
     3990            paprs, 'front_gwd_rando', abortphy,flag_inhib_tend)
    39783991    ENDIF
    39793992
     
    39833996            du_gwd_rando, dv_gwd_rando, east_gwstress, west_gwstress)
    39843997       CALL add_phys_tend(du_gwd_rando, dv_gwd_rando, dt0, dq0, dql0, dqi0, &
    3985             paprs, 'flott_gwd_rando', abortphy)
     3998            paprs, 'flott_gwd_rando', abortphy,flag_inhib_tend)
    39863999       zustr_gwd_rando=0.
    39874000       zvstr_gwd_rando=0.
     
    40464059       ! ajout de la tendance d'humidite due au methane
    40474060       CALL add_phys_tend(du0, dv0, dt0, d_q_ch4*dtime, dql0, dqi0, paprs, &
    4048             'q_ch4', abortphy)
     4061            'q_ch4', abortphy,flag_inhib_tend)
    40494062    END IF
    40504063    !
Note: See TracChangeset for help on using the changeset viewer.