Ignore:
Timestamp:
Dec 4, 2025, 8:02:43 PM (3 weeks ago)
Author:
yann meurdesoif
Message:

gpu port of surf_land
YM

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

Legend:

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

    r5268 r5914  
    33! fairhead Exp $
    44!
     5MODULE calbeta_clim_mod
     6
     7
     8CONTAINS
    59
    610SUBROUTINE calbeta_clim(klon,time,lat_radian,beta)
     11!$gpum horizontal klon
    712
    813  !======================================================================
     
    7176
    7277end SUBROUTINE calbeta_clim
     78
     79END MODULE calbeta_clim_mod
  • LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/surf_land_bucket_hetero_mod.F90

    r5889 r5914  
    4343    USE albsno_mod, ONLY :  albsno
    4444    USE calbeta_mod, ONLY :  calbeta
     45    USE calbeta_clim_mod, ONLY :  calbeta_clim
    4546
    4647#ifdef ISO
  • LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/surf_land_bucket_mod.F90

    r5889 r5914  
    2323#endif           
    2424            )
    25 
     25!$gpum horizontal knon klon
    2626    USE limit_read_mod
    2727    USE surface_data
     
    5050    USE soil_mod, ONLY :  soil
    5151    USE calbeta_mod, ONLY :  calbeta
     52    USE calbeta_clim_mod, ONLY :  calbeta_clim
     53
    5254
    5355!****************************************************************************************
     
    125127    REAL :: coeff_rel_diag
    126128#endif
     129    REAL :: lat(knon), lon(knon)
     130
    127131!
    128132!****************************************************************************************
     
    169173    CALL calbeta(dtime, is_ter, knon, snow, qsol, beta, capsol, dif_grnd)
    170174    if (type_veget=='betaclim') then
    171        CALL calbeta_clim(knon,jour,latitude(knindex(1:knon)),beta)
     175       lat(1:knon) = latitude(knindex(1:knon))
     176       CALL calbeta_clim(knon,jour,lat ,beta)
    172177    endif
    173178       
    174179! calculate temperature, heat capacity and conduction flux in soil
    175180    IF (soil_model) THEN
     181       lat(1:knon) = latitude(knindex(1:knon))
     182       lon(1:knon) = longitude(knindex(1:knon))
    176183       CALL soil(dtime, is_ter, knon, snow, tsurf, qsol,  &
    177         & longitude(knindex(1:knon)), latitude(knindex(1:knon)), tsoil, soilcap, soilflux)
     184        & lon, lat, tsoil, soilcap, soilflux)
    178185
    179186       DO i=1, knon
     
    337344       dummy_riverflow(:)   = 0.0
    338345       dummy_coastalflow(:) = 0.0
     346!$gpum nocall
    339347       CALL cpl_send_land_fields(itime, knon, knindex, &
    340348            dummy_riverflow, dummy_coastalflow)
  • LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/surf_land_mod.F90

    r5868 r5914  
    2929#endif               
    3030               )
     31!$gpum horizontal knon klon
    3132
    3233    USE dimphy
    3334    USE surface_data, ONLY    : ok_veget
    34     USE carbon_cycle_mod
    35 
    3635
    3736    ! See comments in each module surf_land_orchidee_xxx for compatiblity with ORCHIDEE
     
    5756#else
    5857    ! Default version
    59     USE surf_land_orchidee_mod
     58    USE surf_land_orchidee_mod, ONLY : surf_land_orchidee
    6059#endif
    6160#endif
     
    6463#endif
    6564   
    66     USE surf_land_bucket_mod
    67     USE surf_land_bucket_hetero_mod
    68     USE calcul_fluxs_mod
    69     USE indice_sol_mod
     65    USE surf_land_bucket_mod, ONLY : surf_land_bucket
     66    USE surf_land_bucket_hetero_mod, ONLY : surf_land_bucket_hetero
     67    USE calcul_fluxs_mod, ONLY : calcul_flux_wind
     68    USE indice_sol_mod, ONLY: nbsrf
    7069#ifdef ISO
    7170    use infotrac_phy, ONLY: ntiso,niso
     
    7675#endif
    7776
    78 USE dimpft_mod_h
    79         USE clesphys_mod_h
    80     USE yomcst_mod_h
    81 USE print_control_mod, ONLY: lunout
     77    USE dimpft_mod_h, ONLY: nvm_lmdz
     78    USE clesphys_mod_h, ONLY : nsw, ok_bs
     79    USE yomcst_mod_h, ONLY: RCPD, RKAPPA
     80    USE print_control_mod, ONLY: lunout
    8281    USE dimsoil_mod_h, ONLY: nsoilmx
    83     USE compbl_mod_h
     82    USE compbl_mod_h, ONLY: iflag_hetero_surf
    8483
    8584! Input variables 
     
    250249
    251250       ! temporary for keeping same results using lwdown_m instead of lwdown
     251!$gpum nocall
    252252       CALL surf_land_orchidee(itime, dtime, date0, knon, &
    253253            knindex, rlon, rlat, yrmu0, pctsrf, &
     
    306306        IF (klon .EQ. 1) THEN
    307307          !
     308!$gpum nocall
    308309          CALL surf_land_bucket_hetero(itime, jour, knon, knindex, debut, dtime,&
    309310              tsurf, p1lay, cdragh, precip_rain, precip_totsnow, temp_air, &
  • LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/surface_data.f90

    r5896 r5914  
    1212  !$OMP THREADPRIVATE(ok_veget)
    1313
    14   CHARACTER(len=10), SAVE :: type_veget   ! orchidee/y/bucket/n/betaclim
     14  CHARACTER(len=s2s_str_maxlen), SAVE :: type_veget   ! orchidee/y/bucket/n/betaclim
    1515  !$OMP THREADPRIVATE(type_veget)
    1616
Note: See TracChangeset for help on using the changeset viewer.