Changeset 2714 for LMDZ5/trunk


Ignore:
Timestamp:
Nov 28, 2016, 10:17:30 AM (8 years ago)
Author:
fhourdin
Message:

Nettoyage des controles de la conservation d'energie dans physiq_mod
avant d'en reintroduire dans add_phys_tend

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

Legend:

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

    r2707 r2714  
    493493    ip_ebil_phy_omp = 0
    494494    CALL getin('ip_ebil_phy', ip_ebil_phy_omp)
     495    IF (ip_ebil_phy_omp/=0) THEN
     496       CALL abort_physic('conf_phys','ip_ebil_phy_omp doit etre 0 sur cette version',1)
     497    ENDIF
     498
    495499    !
    496500    !Config Key  = seuil_inversion
  • LMDZ5/trunk/libf/phylmd/physiq_mod.F90

    r2707 r2714  
    18341834    ! Initialize variables used for diagnostic purpose
    18351835    IF (flag_inhib_tend .ne. 0) CALL init_cmp_seri
    1836     !IM
    1837     IF (ip_ebil_phy.ge.1) THEN
    1838        ztit='after dynamic'
    1839        CALL diagetpq(cell_area,ztit,ip_ebil_phy,1,1,dtime &
    1840             , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay &
    1841             , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
    1842        !     Comme les tendances de la physique sont ajoute dans la dynamique,
    1843        !     on devrait avoir que la variation d'entalpie par la dynamique
    1844        !     est egale a la variation de la physique au pas de temps precedent.
    1845        !     Donc la somme de ces 2 variations devrait etre nulle.
    1846        CALL diagphy(cell_area,ztit,ip_ebil_phy &
    1847             , zero_v, zero_v, zero_v, zero_v, zero_v &
    1848             , zero_v, zero_v, zero_v, ztsol &
    1849             , d_h_vcol+d_h_vcol_phy, d_qt, 0. &
    1850             , fs_bound, fq_bound )
    1851     ENDIF
    18521836
    18531837    ! Diagnostiquer la tendance dynamique
     
    19911975               'eva',abortphy,flag_inhib_tend)
    19921976
    1993     IF (ip_ebil_phy.ge.2) THEN
    1994        ztit='after reevap'
    1995        CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,1,dtime &
    1996             , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay &
    1997             , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
    1998        CALL diagphy(cell_area,ztit,ip_ebil_phy &
    1999             , zero_v, zero_v, zero_v, zero_v, zero_v &
    2000             , zero_v, zero_v, zero_v, ztsol &
    2001             , d_h_vcol, d_qt, d_ec &
    2002             , fs_bound, fq_bound )
    2003        !
    2004     ENDIF
    2005 
    2006     !
    20071977    !=========================================================================
    20081978    ! Calculs de l'orbite.
     
    22802250            t_seri(:,1),q_seri(:,1),u_seri(:,1),v_seri(:,1),evap_pot)
    22812251
    2282 
    2283        IF (ip_ebil_phy.ge.2) THEN
    2284           ztit='after surface_main'
    2285           CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime &
    2286                , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay &
    2287                , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
    2288           CALL diagphy(cell_area,ztit,ip_ebil_phy &
    2289                , zero_v, zero_v, zero_v, zero_v, sens &
    2290                , evap  , zero_v, zero_v, ztsol &
    2291                , d_h_vcol, d_qt, d_ec &
    2292                , fs_bound, fq_bound )
    2293        ENDIF
    2294 
    22952252    ENDIF
    22962253    ! =================================================================== c
     
    26332590    ENDIF
    26342591
    2635     !IM
    2636     IF (ip_ebil_phy.ge.2) THEN
    2637        ztit='after convect'
    2638        CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime &
    2639             , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay &
    2640             , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
    2641        CALL diagphy(cell_area,ztit,ip_ebil_phy &
    2642             , zero_v, zero_v, zero_v, zero_v, zero_v &
    2643             , zero_v, rain_con, snow_con, ztsol &
    2644             , d_h_vcol, d_qt, d_ec &
    2645             , fs_bound, fq_bound )
    2646     ENDIF
    2647     !
    26482592    IF (check) THEN
    26492593       za = qcheck(klon,klev,paprs,q_seri,ql_seri,cell_area)
     
    27712715
    27722716    ENDIF  ! (iflag_wake>=1)
    2773     !
    2774     !===================================================================
    2775     !JYG
    2776     IF (ip_ebil_phy.ge.2) THEN
    2777        ztit='after wake'
    2778        CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime &
    2779             , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay &
    2780             , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
    2781        CALL diagphy(cell_area,ztit,ip_ebil_phy &
    2782             , zero_v, zero_v, zero_v, zero_v, zero_v &
    2783             , zero_v, zero_v, zero_v, ztsol &
    2784             , d_h_vcol, d_qt, d_ec &
    2785             , fs_bound, fq_bound )
    2786     ENDIF
    2787 
    2788     !      print*,'apres callwake iflag_cld_th=', iflag_cld_th
    27892717    !
    27902718    !===================================================================
     
    29812909    !
    29822910    !===================================================================
    2983     !IM
    2984     IF (ip_ebil_phy.ge.2) THEN
    2985        ztit='after dry_adjust'
    2986        CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime &
    2987             , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay &
    2988             , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
    2989        CALL diagphy(cell_area,ztit,ip_ebil_phy &
    2990             , zero_v, zero_v, zero_v, zero_v, zero_v &
    2991             , zero_v, zero_v, zero_v, ztsol &
    2992             , d_h_vcol, d_qt, d_ec &
    2993             , fs_bound, fq_bound )
    2994     ENDIF
    2995 
    2996 
    2997     !-------------------------------------------------------------------------
    29982911    ! Computation of ratqs, the width (normalized) of the subrid scale
    29992912    ! water distribution
     
    30702983       zx_t = zx_t/za*dtime
    30712984       WRITE(lunout,*)"Precip=", zx_t
    3072     ENDIF
    3073     !IM
    3074     IF (ip_ebil_phy.ge.2) THEN
    3075        ztit='after fisrt'
    3076        CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime &
    3077             , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay &
    3078             , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
    3079        CALL diagphy(cell_area,ztit,ip_ebil_phy &
    3080             , zero_v, zero_v, zero_v, zero_v, zero_v &
    3081             , zero_v, rain_lsc, snow_lsc, ztsol &
    3082             , d_h_vcol, d_qt, d_ec &
    3083             , fs_bound, fq_bound )
    30842985    ENDIF
    30852986
     
    32433144       snow_fall(i) = snow_con(i) + snow_lsc(i)
    32443145    ENDDO
    3245     !IM
    3246     IF (ip_ebil_phy.ge.2) THEN
    3247        ztit="after diagcld"
    3248        CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime &
    3249             , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay &
    3250             , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
    3251        CALL diagphy(cell_area,ztit,ip_ebil_phy &
    3252             , zero_v, zero_v, zero_v, zero_v, zero_v &
    3253             , zero_v, zero_v, zero_v, ztsol &
    3254             , d_h_vcol, d_qt, d_ec &
    3255             , fs_bound, fq_bound )
    3256     ENDIF
    32573146    !
    32583147    ! Calculer l'humidite relative pour diagnostique
     
    38353724    ENDIF
    38363725
    3837     !IM
    3838     IF (ip_ebil_phy.ge.2) THEN
    3839        ztit='after rad'
    3840        CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime &
    3841             , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay &
    3842             , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
    3843        CALL diagphy(cell_area,ztit,ip_ebil_phy &
    3844             , topsw, toplw, solsw, sollw, zero_v &
    3845             , zero_v, zero_v, zero_v, ztsol &
    3846             , d_h_vcol, d_qt, d_ec &
    3847             , fs_bound, fq_bound )
    3848     ENDIF
    3849     !
    3850     !
    38513726    ! Calculer l'hydrologie de la surface
    38523727    !
     
    40483923    ENDIF
    40493924    !IM cf. FLott END
    4050     !IM
    4051     IF (ip_ebil_phy.ge.2) THEN
    4052        ztit='after orography'
    4053        CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime &
    4054             , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay &
    4055             , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
    4056        CALL diagphy(cell_area,ztit,ip_ebil_phy &
    4057             , zero_v, zero_v, zero_v, zero_v, zero_v &
    4058             , zero_v, zero_v, zero_v, ztsol &
    4059             , d_h_vcol, d_qt, d_ec &
    4060             , fs_bound, fq_bound )
    4061     ENDIF
    4062 
    40633925    !DC Calcul de la tendance due au methane
    40643926    IF(ok_qch4) THEN
     
    42384100    t_seri(:,:)=t_seri(:,:)+d_t_ec(:,:)
    42394101
    4240     !IM
    4241     IF (ip_ebil_phy.ge.1) THEN
    4242        ztit='after physic'
    4243        CALL diagetpq(cell_area,ztit,ip_ebil_phy,1,1,dtime &
    4244             , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay &
    4245             , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
    4246        !     Comme les tendances de la physique sont ajoute dans la dynamique,
    4247        !     on devrait avoir que la variation d'entalpie par la dynamique
    4248        !     est egale a la variation de la physique au pas de temps precedent.
    4249        !     Donc la somme de ces 2 variations devrait etre nulle.
    4250 
    4251        CALL diagphy(cell_area,ztit,ip_ebil_phy &
    4252             , topsw, toplw, solsw, sollw, sens &
    4253             , evap, rain_fall, snow_fall, ztsol &
    4254             , d_h_vcol, d_qt, d_ec &
    4255             , fs_bound, fq_bound )
    4256        !
    4257        d_h_vcol_phy=d_h_vcol
    4258        !
    4259     ENDIF
    4260     !
    42614102    !=======================================================================
    42624103    !   SORTIES
Note: See TracChangeset for help on using the changeset viewer.