Changeset 5839


Ignore:
Timestamp:
Sep 25, 2025, 10:51:30 AM (3 months ago)
Author:
rkazeroni
Message:

For GPU porting of water_int routine:

  • Add "horizontal" comment to specify possible names of horizontal variables
  • Explicit horizontal loop (needed for GPU parallelization)


Location:
LMDZ6/trunk/libf
Files:
4 edited

Legend:

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

    r5813 r5839  
    3333    USE vertical_layers_mod, ONLY : ap, bp, aps, bps
    3434    USE phystokenc_mod, ONLY: offline
     35    USE water_int_mod, ONLY: water_int
    3536    USE phys_output_ctrlout_mod, ONLY: o_phis, o_aire, is_ter, is_lic, is_oce, &
    3637         o_longitude, o_latitude, &
  • LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r5837 r5839  
    8989    USE tropopause_m,     ONLY: dyn_tropopause
    9090    USE vampir
     91    USE water_int_mod, ONLY: water_int
    9192    USE write_field_phy
    9293    use wxios_mod, ONLY: g_ctx, wxios_set_context
  • LMDZ6/trunk/libf/phylmd/water_int.f90

    r5390 r5839  
     1!$gpum horizontal klon
     2MODULE water_int_mod
     3  PRIVATE
     4
     5  PUBLIC water_int
     6
     7  CONTAINS
     8
    19subroutine water_int(klon,klev,field3d,mass,field2d)
    210
     
    1321REAL, DIMENSION(klon),     INTENT(OUT) :: field2d
    1422
    15 INTEGER k
     23INTEGER i, k
    1624
    1725field2d(:)=0.0
    1826DO k=1, klev
    19 field2d(:)=field2d(:)+field3d(:,k)*mass(:,k)
     27  DO i=1, klon
     28    field2d(i)=field2d(i)+field3d(i,k)*mass(i,k)
     29  ENDDO
    2030ENDDO
    2131
    2232RETURN
    2333END SUBROUTINE water_int
     34
     35END MODULE water_int_mod
  • LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90

    r5837 r5839  
    8686    USE tropopause_m,     ONLY: dyn_tropopause
    8787    USE vampir
     88    USE water_int_mod, ONLY: water_int
    8889    USE write_field_phy
    8990    use wxios_mod, ONLY: g_ctx, wxios_set_context
Note: See TracChangeset for help on using the changeset viewer.