Changeset 5826 for LMDZ6


Ignore:
Timestamp:
Sep 22, 2025, 3:22:58 PM (2 months ago)
Author:
rkazeroni
Message:

For GPU porting of ratqs_main routine:

  • Simplify refactoring of rev 5820
  • Add forgotten THREADPRIVATE
File:
1 edited

Legend:

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

    r5820 r5826  
    77
    88  REAL, SAVE :: resolmax
    9 
    10   REAL, SAVE, ALLOCATABLE :: resol(:)
    11   !$OMP THREADPRIVATE(resol)
     9  !$OMP THREADPRIVATE(resolmax)
    1210
    1311  PUBLIC ratqs_main_first, ratqs_main
     
    2018  INTEGER, INTENT(in) :: klon
    2119  REAL, DIMENSION(klon), INTENT(in) :: cell_area
    22   INTEGER :: i
    2320
    2421  IF (first) THEN
    25      ALLOCATE(resol(klon))
    2622     resolmax=sqrt(maxval(cell_area))
    27      DO i=1,klon
    28         resol(i) = sqrt(cell_area(i))
    29      END DO
    3023     first = .FALSE.
    3124  END IF
     
    9386real facteur,zfratqs1,zfratqs2
    9487real, dimension(klon,klev) :: ratqs_hetero_,ratqs_oro_,ratqs_tke_
    95 real, dimension(klon) :: fact
     88real :: resol, fact
    9689
    9790!-------------------------------------------------------------------------
     
    196189         do k=1,klev
    197190            do i=1,klon
    198               fact(i) = sqrt(resol(i)/resolmax)
    199               ratqss(i,k)=ratqsbas*fact(i)+0.5*(ratqshaut-ratqsbas)*fact(i) &
     191              resol=sqrt(cell_area(i))
     192              fact = sqrt(resol/resolmax)
     193              ratqss(i,k)=ratqsbas*fact+0.5*(ratqshaut-ratqsbas)*fact &
    200194              *( tanh( (ratqsp0-pplay(i,k))/ratqsdp) + 1.)
    201195           enddo
Note: See TracChangeset for help on using the changeset viewer.