Ignore:
Timestamp:
Nov 24, 2025, 2:51:09 PM (5 weeks ago)
Author:
yann meurdesoif
Message:

GPU port of freinage subroutine
untested (need orchidee)
YM

Location:
LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/freinage.f90

    r5868 r5883  
     1MODULE freinage_mod
    12!
    23! $Id$
    34!
     5
     6CONTAINS
     7
    48  SUBROUTINE freinage(klon, knon, uu, vv,  &
    59       tt,veget,lai, height,ypaprs,ypplay,drag_pro,d_u,d_v)
     10!$gpum horizontal knon klon
    611
    712    !ONLINE:
     
    120125      enddo
    121126     enddo
     127     
    122128      do k=1,klev
    123         where (sumveg(1:knon,k) > 0.05 )
    124 !        drag_pro(1:knon,k)=Cd_frein*drag_pro(1:knon,k)/sumveg(1:knon,k)
    125         drag_pro(1:knon,k)=Cd_frein*drag_pro(1:knon,k)
    126         elsewhere
    127         drag_pro(1:knon,k)=0.0
    128        endwhere
     129
     130!ym where are not correctly supported by gpumorphosis switch to LOOP, IF/ENDIF
     131!ym         where (sumveg(1:knon,k) > 0.05 )
     132!ym !        drag_pro(1:knon,k)=Cd_frein*drag_pro(1:knon,k)/sumveg(1:knon,k)
     133!ym         drag_pro(1:knon,k)=Cd_frein*drag_pro(1:knon,k)
     134!ym         elsewhere
     135!ym         drag_pro(1:knon,k)=0.0
     136!ym        endwhere
     137
     138        DO i=1,knon
     139          IF (sumveg(i,k) > 0.05) THEN
     140            drag_pro(i,k)=Cd_frein*drag_pro(i,k)
     141          ELSE
     142           drag_pro(i,k)=0.0
     143          ENDIF
     144        ENDDO
    129145        d_u(1:knon,k) =(-1)*drag_pro(1:knon,k)*uu(1:knon,k)*wind(1:knon,k)
    130146        d_v(1:knon,k) =(-1)*drag_pro(1:knon,k)*vv(1:knon,k)*wind(1:knon,k)
     
    134150 END SUBROUTINE freinage
    135151
     152END MODULE freinage_mod
     153
  • LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/pbl_surface_mod.F90

    r5880 r5883  
    24502450    USE mod_phys_lmdz_para, ONLY : is_master
    24512451    USE cdrag_mod, ONLY : cdrag
     2452    USE freinage_mod, ONLY : freinage
    24522453
    24532454IMPLICIT NONE
Note: See TracChangeset for help on using the changeset viewer.