Ignore:
Timestamp:
Dec 17, 2025, 7:33:39 PM (4 weeks ago)
Author:
yann meurdesoif
Message:

Separate pbl_surface into 3 subroutines for GPU port

pbl_surface_uncompress_pre : prepare computation for sub subsurface before compressing
pbl_surface_subsrf : each sub-surface is called one after other (horizontal = knon)
pbl_surface_uncompress_post : sub-surface are uncompressed, computation is done on whole domain (horizontal = klon)

pbl_surface_main becomes the driver, calling pbl_surface_uncompress_pre, and then looping under sub-surface (and calling pbl_surface_subsrf) and then calling pbl_surface_uncompress_post.

merge of commit r5868

YM

File:
1 edited

Legend:

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

    r5721 r5942  
    104104    REAL   , INTENT(IN) :: dtime                     ! pas de temps de la physique (en s)
    105105    INTEGER, INTENT(IN) :: knon                      ! nomber of points on compressed grid
    106     INTEGER, DIMENSION(klon), INTENT(IN) :: knindex  ! grid point number for compressed grid
     106    INTEGER, DIMENSION(knon), INTENT(IN) :: knindex  ! grid point number for compressed grid
    107107! Output arguments
    108108!****************************************************************************************
    109     REAL, DIMENSION(klon), INTENT(OUT) :: rugos_out
    110     REAL, DIMENSION(klon), INTENT(OUT) :: alb_out
     109    REAL, DIMENSION(knon), INTENT(OUT) :: rugos_out
     110    REAL, DIMENSION(knon), INTENT(OUT) :: alb_out
    111111   
    112112! Local variables
     
    138138
    139139    INTEGER, INTENT(IN)                  :: knon     ! nomber of points on compressed grid
    140     INTEGER, DIMENSION(klon), INTENT(IN) :: knindex  ! grid point number for compressed grid
    141     REAL, DIMENSION(klon), INTENT(OUT)   :: sst_out
     140    INTEGER, DIMENSION(knon), INTENT(IN) :: knindex  ! grid point number for compressed grid
     141    REAL, DIMENSION(knon), INTENT(OUT)   :: sst_out
    142142
    143143    INTEGER :: i
     
    157157
    158158    INTEGER, INTENT(IN)                  :: knon     ! nomber of points on compressed grid
    159     INTEGER, DIMENSION(klon), INTENT(IN) :: knindex  ! grid point number for compressed grid
    160     REAL, DIMENSION(klon), INTENT(OUT)   :: hice_out
     159    INTEGER, DIMENSION(knon), INTENT(IN) :: knindex  ! grid point number for compressed grid
     160    REAL, DIMENSION(knon), INTENT(OUT)   :: hice_out
    161161
    162162    INTEGER :: i
Note: See TracChangeset for help on using the changeset viewer.