Changeset 6011


Ignore:
Timestamp:
Jan 9, 2026, 9:14:13 PM (2 days ago)
Author:
evignon
Message:

mise en place d'une interface bien claire entre physiq_mod et les routines lscp et de neige soufflee
creation de la routine lmdz_call_lscp

Location:
LMDZ6/trunk/libf
Files:
1 added
1 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/lmdz_blowing_snow_sublim_sedim.f90

    r5912 r6011  
    2929!INPUT
    3030!=====
    31 
    3231integer, intent(in)                     :: ngrid ! number of horizontal grid points
    3332integer, intent(in)                     :: nlay  ! number of vertical layers
     
    4443! OUTPUT
    4544!========
    46 
    47 
    4845real, intent(out), dimension(ngrid,nlay) :: dtemp_bs ! temperature tendency [K/s]
    4946real, intent(out), dimension(ngrid,nlay) :: dqv_bs   ! water vapor tendency [kg/kg/s]
  • LMDZ6/trunk/libf/phylmd/lmdz_call_blowing_snow.f90

    r5912 r6011  
    44contains
    55
    6 subroutine call_blowing_snow_sublim_sedim(ngrid,nlay,dtime,ustar,temp,q,qbs,pplay,paprs, &
    7                                   dtemp_bs,dq_bs,dqbs_bs,bsfl,precip_bs)
     6   subroutine call_blowing_snow(ngrid, nlay, abortphy, flag_inhib_tend, itap, dtime, ustar, temp, q, qb, pplay, paprs, &
     7                                dtemp_bs, dq_bs, dqb_bs, bsfl, precip_bs)
    88
    9 use lmdz_blowing_snow_sublim_sedim, only : blowing_snow_sublim_sedim
    10 implicit none
     9!==================================================================================================
     10! call_blowing_snow in the main interface between the LMDZ physics monitor physiq_mod
     11! and the blowing snow parameterizations
     12!
     13! contact: Etienne Vignon etienne.vignon@lmd.ipsl.fr
     14!================================================================================================
     15
     16      use lmdz_blowing_snow_sublim_sedim, only: blowing_snow_sublim_sedim
     17      USE add_phys_tend_mod, ONLY: add_phys_tend, prt_enerbil
     18
     19      implicit none
     20!======================================================
     21! Declarations
     22!======================================================
    1123
    1224!INPUT
    1325!=====
    1426
    15 integer, intent(in)                     :: ngrid,nlay
    16 real, intent(in)                        :: dtime
    17 real, intent(in), dimension(ngrid)      :: ustar
    18 real, intent(in), dimension(ngrid,nlay) :: temp
    19 real, intent(in), dimension(ngrid,nlay) :: q
    20 real, intent(in), dimension(ngrid,nlay) :: qbs
    21 real, intent(in), dimension(ngrid,nlay) :: pplay
    22 real, intent(in), dimension(ngrid,nlay+1) :: paprs
    23 
     27      INTEGER, INTENT(IN)                     :: abortphy, flag_inhib_tend, itap ! flag and physics time counter for add_phys_tend
     28      integer, intent(in)                     :: ngrid ! number of horizontal grid points
     29      integer, intent(in)                     :: nlay  ! number of vertical layers
     30      real, intent(in)                        :: dtime ! physics time step [s]
     31      real, intent(in), dimension(ngrid)      :: ustar ! surface friction velocity [m/s]
     32      real, intent(in), dimension(ngrid, nlay) :: temp  ! temperature of the air [K]
     33      real, intent(in), dimension(ngrid, nlay) :: q     ! specific content of water [kg/kg]
     34      real, intent(in), dimension(ngrid, nlay) :: qb    ! specific content of blowing snow [kg/kg]
     35      real, intent(in), dimension(ngrid, nlay) :: pplay ! pressure at the middle of layers [Pa]
     36      real, intent(in), dimension(ngrid, nlay + 1) :: paprs ! pressure at the layer bottom interface [Pa]
    2437
    2538! OUTPUT
    2639!========
     40      real, intent(out), dimension(ngrid, nlay) :: dtemp_bs ! temperature tendency [K/s]
     41      real, intent(out), dimension(ngrid, nlay) :: dq_bs    ! water vapor tendency [kg/kg/s]
     42      real, intent(out), dimension(ngrid, nlay) :: dqb_bs   ! blowing snow mass tendancy [kg/kg/s]
     43      real, intent(out), dimension(ngrid, nlay + 1) :: bsfl   ! vertical profile of blowing snow vertical flux [kg/m2/s]
     44      real, intent(out), dimension(ngrid)      :: precip_bs ! surface sedimentation flux of blowing snow [kg/s/m2]
    2745
     46! LOCAL
     47!========
     48      real, dimension(ngrid, nlay)              :: du0, dv0, dql0, dqi0
    2849
    29 real, intent(out), dimension(ngrid,nlay) :: dtemp_bs
    30 real, intent(out), dimension(ngrid,nlay) :: dq_bs
    31 real, intent(out), dimension(ngrid,nlay) :: dqbs_bs
    32 real, intent(out), dimension(ngrid,nlay+1) :: bsfl
    33 real, intent(out), dimension(ngrid)      :: precip_bs
     50!=================================================================
     51! Call to main routine of blowing snow sublimation and sedim.
     52!=================================================================
     53      call blowing_snow_sublim_sedim(ngrid, nlay, dtime, ustar, temp, q, qb, pplay, paprs, &
     54                                     dtemp_bs, dq_bs, dqb_bs, bsfl, precip_bs)
    3455
    35      
     56!=================================================================
     57! Add tendencies
     58!=================================================================
     59      du0(:, :) = 0.
     60      dv0(:, :) = 0.
     61      dql0(:, :) = 0.
     62      dqi0(:, :) = 0.
    3663
     64      CALL add_phys_tend(du0, dv0, dtemp_bs, dq_bs, dql0, dqi0, dqb_bs, paprs, &
     65                         'bsss', abortphy, flag_inhib_tend, itap, 0)
    3766
    38 call blowing_snow_sublim_sedim(ngrid,nlay,dtime,ustar,temp,q,qbs,pplay,paprs, &
    39                                   dtemp_bs,dq_bs,dqbs_bs,bsfl,precip_bs)
    40 
    41 
    42 
    43 
    44 
    45 end subroutine call_blowing_snow_sublim_sedim
     67   end subroutine call_blowing_snow
    4668
    4769end module lmdz_call_blowing_snow
  • LMDZ6/trunk/libf/phylmd/lmdz_lscp_ini.f90

    r6006 r6011  
    2323  REAL, SAVE, PROTECTED :: min_frac_thermals=1.e-10   ! minimum thermals fraction for use of bigaussian distribution
    2424  !$OMP THREADPRIVATE(min_frac_thermals)
     25
     26  REAL, SAVE, PROTECTED :: qlmax=999.           ! maximum possible liquid water specific content in a mesh [kg/kg]
     27  !$OMP THREADPRIVATE(qlmax)
     28
     29  REAL, SAVE, PROTECTED :: qimax=999.           ! maximum possible ice water specific content in a mesh [kg/kg]
     30  !$OMP THREADPRIVATE(qimax)
     31
    2532
    2633  INTEGER, SAVE :: lunout, prt_level            ! Logical unit number and level for standard output
     
    443450    CALL getin_p('iflag_evap_prec',iflag_evap_prec)
    444451    CALL getin_p('seuil_neb',seuil_neb)
     452
     453    CALL getin_p('oliqmax',qlmax)
     454    CALL getin_p('qlmax',qlmax)
     455
     456    CALL getin_p('oicemax',qimax)
     457    CALL getin_p('qimax',qimax)
     458
    445459    CALL getin_p('ok_radocond_snow',ok_radocond_snow)
    446460    CALL getin_p('t_glace_max',t_glace_max)
     
    562576    WRITE(lunout,*) 'lscp_ini, iflag_evap_prec:', iflag_evap_prec
    563577    WRITE(lunout,*) 'lscp_ini, seuil_neb:', seuil_neb
     578    WRITE(lunout,*) 'lscp_ini, qlmax:', qlmax
     579    WRITE(lunout,*) 'lscp_ini, qimax:', qimax
    564580    WRITE(lunout,*) 'lscp_ini, ok_radocond_snow:', ok_radocond_snow
    565581    WRITE(lunout,*) 'lscp_ini, t_glace_max:', t_glace_max
  • LMDZ6/trunk/libf/phylmd/lmdz_lscp_phase.f90

    r5999 r6011  
     1!$gpum horizontal klon
    12MODULE lmdz_lscp_phase
    23
  • LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r6007 r6011  
    9595    USE write_field_phy
    9696    use wxios_mod, ONLY: g_ctx, wxios_set_context
    97     USE lmdz_lscp_main, ONLY : lscp
    9897    USE lmdz_call_cloud_optics_prop, ONLY : call_cloud_optics_prop, call_cloud_optics_prop_post
    99     USE lmdz_lscp_old, ONLY : fisrtilp, fisrtilp_first
    100     USE lmdz_call_blowing_snow, ONLY : call_blowing_snow_sublim_sedim
     98    USE lmdz_call_blowing_snow, ONLY : call_blowing_snow
     99    USE lmdz_call_lscp, ONLY: call_lscp
    101100    USE calwake_mod, ONLY : calwake, calwake_first
    102101    USE lmdz_wake_ini, ONLY : wake_ini
     
    110109    USE lmdz_blowing_snow_ini, ONLY : blowing_snow_ini , qbst_bs
    111110    USE lmdz_lscp_ini, ONLY : lscp_ini, ratqsbas
    112     USE lmdz_lscp_subgridvarq, ONLY : ratqs_main, ratqs_main_first
    113111    USE lmdz_cloud_optics_prop_ini, ONLY : cloud_optics_prop_ini
    114112    USE phys_output_var_mod, ONLY :      cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv
     
    748746    INTEGER,SAVE :: iflag_adjwk=0            !jyg
    749747    !$OMP THREADPRIVATE(iflag_adjwk)         !jyg
    750     REAL,SAVE :: oliqmax=999.,oicemax=999.
    751     !$OMP THREADPRIVATE(oliqmax,oicemax)
    752748    REAL, SAVE :: alp_offset
    753749    !$OMP THREADPRIVATE(alp_offset)
     
    893889    REAL dialiq(klon,klev)  ! eau liquide nuageuse
    894890    REAL diafra(klon,klev)  ! fraction nuageuse
    895     REAL radocond(klon,klev)  ! eau condensee nuageuse
     891    REAL radocond(klon,klev)  ! condensed water content seen by radiative scheme [kg/kg]
     892    REAL radicefrac(klon,klev)! fraction of radocond that is ice [-]
    896893    !
    897894    !XXX PB
     
    10351032    !$OMP THREADPRIVATE(iflag_cld_th)
    10361033    LOGICAL ptconvth(klon,klev)
    1037     REAL picefra(klon,klev)
    10381034    REAL nm_oro(klon)
    10391035    ! Variables liees a l'ecriture de la bande histoire physique
     
    15011497       CALL getin_p('dtcon_multistep_max',dtcon_multistep_max)
    15021498       CALL getin_p('dqcon_multistep_max',dqcon_multistep_max)
    1503        CALL getin_p('oliqmax',oliqmax)
    1504        CALL getin_p('oicemax',oicemax)
    15051499       iflag_wake_tend = 0
    15061500       CALL getin_p('iflag_wake_tend',iflag_wake_tend)
     
    30873081    IF (ok_bs) THEN
    30883082
    3089        CALL call_blowing_snow_sublim_sedim(klon,klev,phys_tstep,zustar,t_seri,q_seri,qbs_seri,pplay,paprs, &
    3090             d_t_bsss,d_q_bsss,d_qbs_bsss,bsfl,bs_fall)
    3091 
    3092        CALL add_phys_tend &
    3093             (du0,dv0,d_t_bsss,d_q_bsss,dql0,dqi0,d_qbs_bsss,paprs,&
    3094             'bsss',abortphy,flag_inhib_tend,itap,0)
     3083       CALL call_blowing_snow(klon,klev,abortphy,flag_inhib_tend,itap,phys_tstep,zustar, &
     3084                              t_seri,q_seri,qbs_seri,pplay,paprs, &
     3085                               d_t_bsss,d_q_bsss,d_qbs_bsss,bsfl,bs_fall)
    30953086
    30963087    ENDIF
     
    39563947    ! water distribution
    39573948
    3958 
    3959     CALL ratqs_main_first(klon, cell_area)
    3960     CALL ratqs_main(klon,klev,nbsrf,is_ter,is_lic,        &
    3961          iflag_cld_th, pdtphys,  &
    3962          pctsrf,s_pblh,zstd, wake_s, wake_deltaq,   &
    3963          paprs,pplay,t_seri,q_seri, &
    3964          qtc_cv, sigt_cv,detrain_cv,fm_cv,fqd,fqcomp,sigd,zqsat, &
    3965          fm_therm,entr_therm,detr_therm,cell_area, &
    3966          ratqsc,ratqs,ratqs_inter_,sigma_qtherm)
    3967 
    3968 
    3969     picefra(:,:)=0.
    3970 
    3971     IF (ok_new_lscp) THEN
    3972 
    3973        DO k = 1, klev
    3974           DO i = 1, klon
    3975              ql_seri_lscp(i,k) = ratio_ql_qtot(i,k) * q_seri(i,k)
    3976              qi_seri_lscp(i,k) = ratio_qi_qtot(i,k) * q_seri(i,k)
    3977           ENDDO
    3978        ENDDO
    3979 
    3980 
    3981        !--mise à jour de flight_m et flight_h2o dans leur module
    3982        !IF (ok_plane_h2o .OR. ok_plane_contrail) THEN
    3983        !  CALL airplane(debut,pphis,pplay,paprs,t_seri)
    3984        !ENDIF
    3985 
    3986 
    3987        CALL lscp(klon,klev,phys_tstep,missing_val,paprs,pplay,omega, &
    3988             t_seri, q_seri, ql_seri_lscp, qi_seri_lscp, ptconv, ratqs, sigma_qtherm, &
    3989             d_t_lsc, d_q_lsc, d_ql_lsc, d_qi_lsc, rneb, rneblsvol, &
    3990             pfraclr, pfracld, cldfraliq, cldfraliqth,              &
    3991             sigma2_icefracturb, sigma2_icefracturbth,              &
    3992             mean_icefracturb,  mean_icefracturbth,                 &
    3993             radocond, picefra, rain_lsc, snow_lsc, &
    3994             frac_impa, frac_nucl, beta_prec_fisrt, &
    3995             prfl, psfl, rhcl,  &
    3996             zqasc, fraca,ztv,zpspsk,ztla,zthl,zw2,iflag_cld_th, &
    3997             iflag_ice_thermo, distcltop, temp_cltop,   &
    3998             pbl_tke(:,:,is_ave), pbl_eps(:,:,is_ave), &
    3999             entr_therm, detr_therm, &
    4000             cell_area, &
    4001             cf_seri, rvc_seri, u_seri, v_seri, &
    4002             qsub, qissr, qcld, subfra, issrfra, gamma_cond,  &
    4003             dcf_sub, dcf_con, dcf_mix, dqi_adj, dqi_sub, dqi_con, dqi_mix, &
    4004             dqvc_adj, dqvc_sub, dqvc_con, dqvc_mix, qsatliq, qsatice, &
    4005             Tcontr, qcontr, qcontr2, fcontrN, fcontrP, &
    4006             dcf_avi, dqi_avi, dqvc_avi, flight_dist, flight_h2o, &
    4007             cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv, &
    4008             qraindiag, qsnowdiag, dqreva, dqssub, dqrauto, dqrcol, dqrmelt, &
    4009             dqrfreez, dqsauto, dqsagg, dqsrim, dqsmelt, dqsfreez)
    4010 
    4011 
    4012     ELSE
    4013 
    4014        CALL fisrtilp_first(klon, klev, phys_tstep, pfrac_impa, pfrac_nucl, pfrac_1nucl)
    4015        CALL fisrtilp(klon,klev,phys_tstep,paprs,pplay, &
    4016             t_seri, q_seri,ptconv,ratqs,sigma_qtherm, &
    4017             d_t_lsc, d_q_lsc, d_ql_lsc, d_qi_lsc, rneb, rneblsvol, radocond, &
    4018             rain_lsc, snow_lsc, &
    4019             pfrac_impa, pfrac_nucl, pfrac_1nucl, &
    4020             frac_impa, frac_nucl, beta_prec_fisrt, &
    4021             prfl, psfl, rhcl,  &
    4022             zqasc, fraca,ztv,zpspsk,ztla,zthl,iflag_cld_th, &
    4023             iflag_ice_thermo, &
    4024             cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv)
    4025 
    4026     ENDIF
    4027    
    4028     WHERE (rain_lsc < 0) rain_lsc = 0.
    4029     WHERE (snow_lsc < 0) snow_lsc = 0.
     3949    CALL call_lscp(klon, klev, nbsrf, is_ter, is_lic,             &
     3950     abortphy, flag_inhib_tend, itap,                             &
     3951     nqo, pdtphys, missing_val, ok_new_lscp,                      &
     3952     paprs, pplay, omega, t_seri, q_seri, ql_seri, qs_seri,       &
     3953     zmasse, ptconv, ratqsc, ratqs, ratqs_inter_, sigma_qtherm,   &
     3954     qtc_cv, sigt_cv,detrain_cv,fm_cv,fqd,fqcomp,       &
     3955     sigd, zqsat, ratio_ql_qtot, ratio_qi_qtot,         &
     3956     pctsrf, s_pblh, zstd, wake_s, wake_deltaq,         &
     3957     d_t_lsc, d_q_lsc, d_ql_lsc, d_qi_lsc, rneb, rneblsvol,  &
     3958     pfraclr, pfracld,                                  &
     3959     cldfraliq, cldfraliqth,                            &
     3960     sigma2_icefracturb,sigma2_icefracturbth,           &
     3961     mean_icefracturb,mean_icefracturbth,               &
     3962     radocond, radicefrac, rain_lsc, snow_lsc,          &
     3963     frac_impa, frac_nucl, beta,                        &
     3964     pfrac_impa, pfrac_nucl, pfrac_1nucl,               &
     3965     prfl, psfl, rhcl, zqasc, fraca,                    &
     3966     ztv, zpspsk, ztla, zthl, zw2, iflag_cld_th,        &
     3967     iflag_ice_thermo, distcltop, temp_cltop,           &
     3968     pbl_tke(:,:,is_ave), pbl_eps(:,:,is_ave),          &
     3969     fm_therm, entr_therm, detr_therm,                  &
     3970     cell_area,                                         &
     3971     cf_seri, rvc_seri, u_seri, v_seri,                 &
     3972     qsub, qissr, qcld, subfra, issrfra, gamma_cond,    &
     3973     dcf_sub, dcf_con, dcf_mix,                         &
     3974     dqi_adj, dqi_sub, dqi_con, dqi_mix, dqvc_adj,      &
     3975     dqvc_sub, dqvc_con, dqvc_mix, qsatliq, qsatice,    &
     3976     Tcontr, qcontr, qcontr2, fcontrN, fcontrP, dcf_avi,&
     3977     dqi_avi, dqvc_avi, flight_dist, flight_h2o,        &
     3978     cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv, &
     3979     qraindiag, qsnowdiag, dqreva, dqssub, dqrauto,     &
     3980     dqrcol, dqrmelt, dqrfreez, dqsauto, dqsagg, dqsrim,&
     3981     dqsmelt, dqsfreez)
     3982
    40303983
    40313984    CALL add_phys_tend(du0,dv0,d_t_lsc,d_q_lsc,d_ql_lsc,d_qi_lsc,dqbs0,paprs, &
    40323985         'lsc',abortphy,flag_inhib_tend,itap,0)
    40333986    CALL prt_enerbil('lsc',itap)
    4034    
    4035     rain_num(:)=0.
    4036     DO k = 1, klev
    4037        DO i = 1, klon
    4038           IF (ql_seri(i,k)>oliqmax) THEN
    4039              rain_num(i)=rain_num(i)+(ql_seri(i,k)-oliqmax)*zmasse(i,k)/pdtphys
    4040              ql_seri(i,k)=oliqmax
    4041           ENDIF
    4042        ENDDO
    4043     ENDDO
    4044    
    4045     IF (nqo >= 3) THEN
    4046        DO k = 1, klev
    4047           DO i = 1, klon
    4048              IF (qs_seri(i,k)>oicemax) THEN
    4049                 rain_num(i)=rain_num(i)+(qs_seri(i,k)-oicemax)*zmasse(i,k)/pdtphys
    4050                 qs_seri(i,k)=oicemax
    4051              ENDIF
    4052           ENDDO
    4053        ENDDO
    4054     ENDIF
    40553987
    40563988
    40573989    !===============================================================================
     3990    ! from Clouds to Radiation (cloud2rad)
     3991    ! computation of cloud variables that are useful for the radiative transfer
     3992
     3993
     3994
    40583995    DO k = 1, klev
    40593996       DO i = 1, klon
     
    40704007
    40714008    IF (ok_bs .AND. ok_rad_bs) THEN
    4072        IF (ok_new_lscp .AND. ok_icefra_lscp) THEN
     4009       IF (ok_icefra_lscp) THEN
    40734010          DO k=1,klev
    40744011             DO i=1,klon
    40754012                radocond(i,k)=radocond(i,k)+qbs_seri(i,k)
    4076                 picefra(i,k)=(radocond(i,k)*picefra(i,k)+qbs_seri(i,k))/(radocond(i,k))
     4013                radicefrac(i,k)=(radocond(i,k)*radicefrac(i,k)+qbs_seri(i,k))/(radocond(i,k))
    40774014                qbsfra=min(qbs_seri(i,k)/qbst_bs,1.0)
    40784015                cldfra(i,k)=max(cldfra(i,k),qbsfra)
     
    40814018       ELSE
    40824019          WRITE(lunout,*)"PAY ATTENTION, you try to activate the radiative effect of blowing snow"
    4083           WRITE(lunout,*)"with ok_new_lscp=false and/or ok_icefra_lscp=false"
     4020          WRITE(lunout,*)"with ok_icefra_lscp=false. You must use ok_icefra_lscp=y and ok_new_lscp=y."
    40844021          abort_message='inconsistency in cloud phase for blowing snow'
    40854022          CALL abort_physic(modname,abort_message,1)
     
    40954032    ENDIF
    40964033
    4097     !
    4098     !-------------------------------------------------------------------
    4099     !  PRESCRIPTION DES NUAGES POUR LE RAYONNEMENT
    4100     !-------------------------------------------------------------------
    41014034
    41024035    ! 1. NUAGES CONVECTIFS
     
    43014234            EXP((Lheat *qsat2m(i))/(RCPD*zt2m(i)))
    43024235    ENDDO
     4236
     4237
     4238
     4239    !===============================================================================
     4240    ! Aerosols and chemistry
     4241    !
     4242
     4243
    43034244
    43044245    IF (ANY(type_trac == ['inca','inco'])) THEN ! ModThL
     
    45414482       !Rajout appel a interface calcul proprietes optiques des nuages
    45424483       CALL call_cloud_optics_prop(klon, klev, ok_newmicro, &
    4543             paprs, pplay, t_seri, radocond, picefra, cldfra, &
     4484            paprs, pplay, t_seri, radocond, radicefrac, cldfra, &
    45444485            cldtau, cldemi, cldh, cldl, cldm, cldt, cldq, &
    45454486            flwp, fiwp, flwc, fiwc, ok_aie, &
     
    47334674          IF (carbon_cycle_rad) RCO2=RCO2_glo
    47344675          !
     4676
     4677    !===============================================================================
     4678    ! Radiative scheme
     4679    !
     4680
     4681
    47354682          IF (prt_level .GE.10) THEN
    47364683             print *,' ->radlwsw, number 1 '
     
    49944941       bils(i) = radsol(i) - sens(i) + zxfluxlat(i)
    49954942    ENDDO
    4996     !
    4997     !moddeblott(jan95)
    4998     ! Appeler le programme de parametrisation de l'orographie
    4999     ! a l'echelle sous-maille:
    5000     !
    5001 
     4943
     4944    !===============================================================================
     4945    ! Gravity waves' drag parameterizations
     4946    !
     4947    !
     4948    ! Drag by subgrid orography
     4949    !=========================
     4950    !
    50024951    ! calculation of nm_oro
    50034952    DO i=1,klon
     
    50655014    ENDIF
    50665015
     5016    ! Lifting by subgrid orography
     5017    !==============================
     5018
    50675019    IF (ok_orolf) THEN
    50685020       !
     
    51025054       CALL prt_enerbil('lif',itap)
    51035055    ENDIF ! fin de test sur ok_orolf
     5056
     5057    ! GW drag from Hines
     5058    !===================
    51045059
    51055060    IF (ok_hines) then
     
    51275082    ENDIF
    51285083
     5084    ! Drag by GWs generated by fronts (stochastic approach)
     5085    !======================================================
     5086
    51295087    IF (.not. ok_hines .and. ok_gwd_rando) then
    51305088       ! ym missing init for east_gwstress & west_gwstress -> added in phys_local_var_mod
     
    51465104       CALL prt_enerbil('front_gwd_rando',itap)
    51475105    ENDIF
     5106
     5107    ! Drag by convective GWs (stochastic approach)
     5108    !==============================================
    51485109
    51495110    IF (ok_gwd_rando) THEN
  • LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90

    r6008 r6011  
    9797    USE lmdz_call_cloud_optics_prop, ONLY : call_cloud_optics_prop, call_cloud_optics_prop_post
    9898    USE lmdz_lscp_old, ONLY : fisrtilp, fisrtilp_first
    99     USE lmdz_call_blowing_snow, ONLY : call_blowing_snow_sublim_sedim
     99    !USE lmdz_call_blowing_snow, ONLY : call_blowing_snow
    100100    USE calwake_mod, ONLY : calwake, calwake_first
    101101    USE lmdz_wake_ini, ONLY : wake_ini
     
    36083608    ! ==================================================================
    36093609    ! Blowing snow sublimation and sedimentation
     3610    ! cannot be activated with isotopes so far
    36103611
    36113612    d_t_bsss(:,:)=0.
     
    36143615    bsfl(:,:)=0.
    36153616    bs_fall(:)=0.
    3616     IF (ok_bs) THEN
    3617 
    3618      CALL call_blowing_snow_sublim_sedim(klon,klev,phys_tstep,zustar,t_seri,q_seri,qbs_seri,pplay,paprs, &
    3619                                          d_t_bsss,d_q_bsss,d_qbs_bsss,bsfl,bs_fall)
    3620 
    3621      CALL add_phys_tend &
    3622                (du0,dv0,d_t_bsss,d_q_bsss,dql0,dqi0,d_qbs_bsss,paprs,&
    3623                'bsss',abortphy,flag_inhib_tend,itap,0 &
    3624 #ifdef ISO
    3625        &       ,dxt0,dxtl0,dxti0 &
    3626 #endif
    3627        &       )
    3628 
    3629     ENDIF
     3617    !IF (ok_bs) THEN
     3618
     3619    ! CALL call_blowing_snow(klon,klev,abortphy,flag_inhib_tend,itap,phys_tstep,zustar, &
     3620    !                          t_seri,q_seri,qbs_seri,pplay,paprs, &
     3621    !                           d_t_bsss,d_q_bsss,d_qbs_bsss,bsfl,bs_fall)
     3622
     3623    !ENDIF
    36303624
    36313625    ! =================================================================== c
Note: See TracChangeset for help on using the changeset viewer.