Changeset 4845 for LMDZ6


Ignore:
Timestamp:
Mar 5, 2024, 9:48:28 PM (9 months ago)
Author:
fhourdin
Message:

Suite travail sur les poches

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

Legend:

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

    r4842 r4845  
    395395  ! -------------------------------------------------------------------------
    396396
    397   delta_t_min = 0.2
    398 ! delta_t_min = 0.001
     397   delta_t_min = 0.2
    399398
    400399  ! 1. - Save initial values, initialize tendencies, initialize output fields
     
    24162415
    24172416SUBROUTINE pkupper (klon, klev, ptop, ph, p, pupper, kupper, &
    2418                     dth, hw_, rho, delta_t_min, &
     2417                    dth, hw_, rho, delta_t_min_in, &
    24192418                    ktop, wk_adv, h_zzz, ptop1, ktop1)
    24202419
     
    24222421USE lmdz_wake_ini , ONLY : RG
    24232422USE lmdz_wake_ini , ONLY : hwmin
    2424 USE lmdz_wake_ini , ONLY : iflag_wk_new_ptop
     2423USE lmdz_wake_ini , ONLY : iflag_wk_new_ptop, wk_delta_t_min, wk_frac_int_delta_t
    24252424
    24262425IMPLICIT NONE
     
    24312430LOGICAL,    DIMENSION (klon)        , INTENT(IN) :: wk_adv
    24322431REAL,       DIMENSION (klon,klev+1) , INTENT(IN) :: dth
    2433 REAL,                                 INTENT(IN) :: delta_t_min
     2432REAL,                                 INTENT(IN) :: delta_t_min_in
     2433
    24342434
    24352435REAL,       DIMENSION (klon)  , INTENT(OUT)        :: hw_
     
    24442444INTEGER :: i,k
    24452445
     2446REAL                               :: delta_t_min
    24462447REAL,     DIMENSION (klon)         :: dthmin
    24472448REAL,     DIMENSION (klon)         :: ptop_provis,ptop_new
     
    24552456REAL,     DIMENSION (klon,klev+1)                 :: zzz          !!
    24562457REAL,     DIMENSION (klon)                 :: frac_int_dth          !!
    2457 REAL                                              :: epsil        !!
    24582458REAL                                              :: ddd!!
    24592459
     
    24762476    ! -     1/ Pressure of the level where dth changes sign.
    24772477    !print*,'WAKE LJYF'
     2478
     2479
     2480if (iflag_wk_new_ptop==0) then
     2481    delta_t_min=delta_t_min_in
     2482else
     2483    delta_t_min=wk_delta_t_min
     2484endif
    24782485
    24792486    DO i = 1, klon
     
    24932500      END DO
    24942501    END DO
     2502
    24952503
    24962504    ! -     2/ dth integral
     
    25862594    ! nouveau calcul de hw et ptop
    25872595    ! -----------------------------------------------------------------------
    2588 if (iflag_wk_new_ptop>0) then
     2596!if (iflag_wk_new_ptop>0) then
    25892597   
    2590     epsil = 0.05                            ! 5 pour cent
    2591    !  epsil = 0.20
     2598IF (iflag_wk_new_ptop/=0) THEN
     2599
    25922600   
    25932601       DO i = 1, klon
     
    26032611          IF (wk_adv(i)) THEN
    26042612             if (k<=k_ptop_provis(i)) then
    2605                   ddd=dth(i,k-1)*(ph(i,k-1) - min(ptop_provis(i),ph(i,k)))
     2613                !  ddd=dth(i,k-1)*(ph(i,k-1) - min(ptop_provis(i),ph(i,k)))
     2614                  ddd=dth(i,k-1)*(ph(i,k-1) - ph(i,k))
    26062615             else
    26072616                  ddd=0.
     
    26192628    DO i=1,klon
    26202629       IF (wk_adv(i)) THEN
    2621         frac_int_dth(i)=(1.-epsil)*int_dth(i,k_ptop_provis(i))
     2630        frac_int_dth(i)=wk_frac_int_delta_t*int_dth(i,k_ptop_provis(i))
    26222631       !ELSE
    26232632       ! frac_int_dth(i)=0.
     
    26812690    END DO
    26822691
    2683 endif
    2684 
    2685 if (iflag_wk_new_ptop==2) then
     2692ENDIF
     2693
     2694!if (iflag_wk_new_ptop==2) then
     2695IF (iflag_wk_new_ptop>0) THEN
    26862696   do i=1,klon
    26872697      ptop(i)=ptop1(i)
     
    26892699      hw_(i)=h_zzz(i)
    26902700   enddo
    2691 endif
    2692 
     2701
     2702!endif
     2703ENDIF
    26932704
    26942705 kupper = 0
  • LMDZ6/trunk/libf/phylmd/lmdz_wake_ini.F90

    r4842 r4845  
    3131  REAL, SAVE, PROTECTED                                       :: tau_cv
    3232  !$OMP THREADPRIVATE(tau_cv)
     33
     34   REAL, SAVE, PROTECTED                                       :: wk_delta_t_min
     35  !$OMP THREADPRIVATE(wk_delta_t_min)
     36
     37   REAL, SAVE, PROTECTED                                       :: wk_frac_int_delta_t
     38  !$OMP THREADPRIVATE(wk_frac_int_delta_t)
     39
    3340  REAL, SAVE, PROTECTED                                       :: rzero, aa0 ! minimal wake radius and area
    3441  !$OMP THREADPRIVATE(rzero, aa0)
     
    215222  CALL getin_p('iflag_wk_profile',iflag_wk_profile) ! switch between wdens prescribed
    216223                                                    ! and wdens prognostic
    217   iflag_wk_profile = 0
     224 ! iflag_wk_profile = 0
     225  iflag_wk_new_ptop = 0
    218226  CALL getin_p('iflag_wk_new_ptop',iflag_wk_new_ptop)
    219227
    220228  tau_cv = 4000.
    221229  CALL getin_p('tau_cv', tau_cv)
     230 
     231  wk_delta_t_min = 0.
     232  CALL getin_p('wk_delta_t_min', wk_delta_t_min)
     233 
     234  wk_frac_int_delta_t = 0.9
     235  CALL getin_p('wk_frac_int_delta_t', wk_frac_int_delta_t)
     236
    222237
    223238!------------------------------------------------------------------------
     
    245260  CALL getin_p('iflag_wk_check_trgl ', iflag_wk_check_trgl)
    246261  WRITE(*,*) 'iflag_wk_check_trgl=', iflag_wk_check_trgl
     262 
     263  WRITE(*,*) 'wk_delta_t_min=', wk_delta_t_min
     264  WRITE(*,*) 'wk_frac_int_delta_t=', wk_frac_int_delta_t
     265  WRITE(*,*) 'iflag_wk_new_ptop=', iflag_wk_new_ptop
    247266
    248267 RETURN
Note: See TracChangeset for help on using the changeset viewer.