Ignore:
Timestamp:
Jan 21, 2025, 11:18:55 AM (18 hours ago)
Author:
yann meurdesoif
Message:

Adapt calwake and wake for automatic GPU port.
YM

File:
1 edited

Legend:

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

    r5451 r5499  
    44
    55  IMPLICIT NONE; PRIVATE
    6   PUBLIC wake
     6 
     7  LOGICAL, PARAMETER :: phys_sub=.false.
     8  LOGICAL            :: first_call=.true.
     9  !$OMP THREADPRIVATE(first_call)
     10
     11  PUBLIC wake, wake_first
    712
    813CONTAINS
     14
     15SUBROUTINE wake_first(klev, dtime)           
     16USE lmdz_wake_ini , ONLY : wk_nsub
     17IMPLICIT NONE 
     18  INTEGER, INTENT(IN) :: klev
     19  REAL, INTENT(IN)    :: dtime
     20  REAL                :: dtimesub
     21
     22  dtimesub = dtime/wk_nsub
     23  !
     24  IF (first_call) THEN
     25    IF (CPPKEY_IOPHYS_WK) THEN
     26      IF (phys_sub) THEN
     27        call iophys_ini(dtimesub,klev)
     28      ELSE
     29        call iophys_ini(dtime,klev)
     30      ENDIF
     31    END IF
     32    first_call = .false.
     33  ENDIF   !(first_call)
     34
     35END SUBROUTINE wake_first
    936
    1037SUBROUTINE wake(klon,klev,znatsurf, p, ph, pi, dtime, &
     
    306333  REAL, DIMENSION(klon)                                 :: wdens_in, awdens_in   ! pour les prints
    307334
    308 !!!  LOGICAL                                               :: phys_sub=.true.
    309   LOGICAL                                               :: phys_sub=.false.
    310 
    311   LOGICAL                                               :: first_call=.true.
    312 
    313 
    314335  !!-- variables liees au nouveau calcul de ptop et hw
    315336  REAL, DIMENSION (klon, klev)                          :: int_dth
     
    350371  ! alpk = 0.05
    351372!
    352  igout = klon/2+1/klon
     373 igout = klon/2+1/klon 
    353374!
    354375!   sub-time-stepping parameters
    355376  dtimesub = dtime/wk_nsub
    356377!
    357 IF (first_call) THEN
    358 IF (CPPKEY_IOPHYS_WK) THEN
    359   IF (phys_sub) THEN
    360     call iophys_ini(dtimesub,klev)
    361   ELSE
    362     call iophys_ini(dtime,klev)
    363   ENDIF
    364 END IF
    365   first_call = .false.
    366 ENDIF   !(first_call)
    367 
    368378 IF (iflag_wk_pop_dyn == 0) THEN
    369379  ! Initialisation de toutes des densites a wdens_ref.
Note: See TracChangeset for help on using the changeset viewer.