Changeset 5896 for LMDZ6/branches
- Timestamp:
- Dec 2, 2025, 4:32:09 PM (13 hours ago)
- Location:
- LMDZ6/branches/PBLSURF_GPUPORT/libf
- Files:
-
- 13 edited
-
phy_common/mod_phys_lmdz_mpi_data.f90 (modified) (1 diff)
-
phy_common/mod_phys_lmdz_omp_data.F90 (modified) (1 diff)
-
phylmd/albedo.f90 (modified) (3 diffs)
-
phylmd/calcul_fluxs_mod.f90 (modified) (1 diff)
-
phylmd/limit_read_mod.f90 (modified) (4 diffs)
-
phylmd/o3_chem_m.f90 (modified) (1 diff)
-
phylmd/ocean_albedo.f90 (modified) (3 diffs)
-
phylmd/ocean_forced_mod.F90 (modified) (1 diff)
-
phylmd/orbite.f90 (modified) (2 diffs)
-
phylmd/physiq_mod.F90 (modified) (1 diff)
-
phylmd/s2s.F90 (modified) (2 diffs)
-
phylmd/surf_ocean_mod.F90 (modified) (7 diffs)
-
phylmd/surface_data.f90 (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/PBLSURF_GPUPORT/libf/phy_common/mod_phys_lmdz_mpi_data.f90
r5268 r5896 46 46 INTEGER,SAVE :: MPI_REAL_LMDZ ! MPI_REAL8 47 47 48 ! PRIVATE : print_module_data 48 49 CONTAINS 49 50 -
LMDZ6/branches/PBLSURF_GPUPORT/libf/phy_common/mod_phys_lmdz_omp_data.F90
r5291 r5896 21 21 !$OMP THREADPRIVATE(is_north_pole_phy, is_south_pole_phy) 22 22 23 ! PRIVATE : print_module_data 23 24 CONTAINS 24 25 -
LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/albedo.f90
r5868 r5896 2 2 module albedo 3 3 4 USE clesphys_mod_h5 USE yomcst_mod_h6 4 IMPLICIT NONE 7 5 … … 9 7 10 8 SUBROUTINE alboc(klon, rjour, rlat, albedo) 11 USE clesphys_mod_h 9 !$gpum horizontal klon 10 ! USE clesphys_mod_h 11 USE yomcst_mod_h, ONLY : r_incl 12 USE orbite_mod, ONLY : orbite 13 IMPLICIT NONE 12 14 ! ====================================================================== 13 15 ! Auteur(s): Z.X. Li (LMD/CNRS) (adaptation du GCM du LMD) … … 122 124 ! ===================================================================== 123 125 SUBROUTINE alboc_cd(klon, rmu0, albedo) 126 !$gpum horizontal klon 127 IMPLICIT NONE 124 128 125 129 ! Auteur(s): Z.X. Li (LMD/CNRS) -
LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/calcul_fluxs_mod.f90
r5889 r5896 141 141 dflux_s = 0. 142 142 dflux_l = 0. 143 if (PRESENT(lat_prec_liq)) lat_prec_liq = 0. 144 if (PRESENT(lat_prec_sol)) lat_prec_sol = 0. 143 DO i=1, knon 144 if (PRESENT(lat_prec_liq)) lat_prec_liq(i) = 0. 145 if (PRESENT(lat_prec_sol)) lat_prec_sol(i) = 0. 146 ENDDO 145 147 ! 146 148 ! zx_qs = qsat en kg/kg -
LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/limit_read_mod.f90
r5889 r5896 90 90 knon, knindex, & 91 91 rugos_out, alb_out) 92 !$gpum horizontal knon klon 92 93 ! 93 94 ! This subroutine is called from surf_land_bucket. … … 95 96 ! then this routine will call limit_read_tot. 96 97 ! 97 USE dimphy 98 USE surface_data 98 USE surface_data, ONLY: type_ocean, version_ocean 99 99 100 100 ! Input arguments … … 116 116 !**************************************************************************************** 117 117 118 IF (type_ocean == 'couple'.OR. &118 IF (type_ocean == 'couple'.OR. & 119 119 (type_ocean == 'slab' .AND. version_ocean == 'sicINT')) THEN 120 120 ! limit.nc has not yet been read. Do it now! 121 !$gpum nocall 121 122 CALL limit_read_tot(itime, dtime, jour, is_modified) 122 123 END IF … … 132 133 133 134 SUBROUTINE limit_read_sst(knon, knindex, sst_out) 135 !$gpum horizontal knon klon 134 136 ! 135 137 ! This subroutine returns the sea surface temperature already read from limit.nc. -
LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/o3_chem_m.f90
r5390 r5896 22 22 use mod_grid_phy_lmdz, only: nbp_lev 23 23 use nrtype, only: pi 24 use orbite_mod, only : zenang, orbite 24 25 25 26 integer, intent(in):: julien ! jour julien, 1 <= julien <= 360 -
LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/ocean_albedo.f90
r5868 r5896 2 2 ! $Id$ 3 3 ! 4 MODULE ocean_albedo_mod 5 6 CONTAINS 4 7 5 8 SUBROUTINE ocean_albedo(knon,zrmu0,knindex,pwind,SFRWL,alb_dir_new,alb_dif_new) 9 !$gpum horizontal knon klon 10 6 11 !! 7 12 !!**** *ALBEDO_RS14* … … 43 48 ! ------------ 44 49 ! 45 USE ocean_albedo_para 50 USE ocean_albedo_para, ONLY : nnwl, xakwl, xakrefm, xakachl, xakaw3, xakbw, xaw440, xfrwl, xrwc 46 51 USE phys_state_var_mod, ONLY : chl_con 47 USE clesphys_mod_h 52 USE clesphys_mod_h, ONLY: nsw, ok_chlorophyll 48 53 ! 49 54 ! … … 254 259 255 260 END SUBROUTINE ocean_albedo 261 262 END MODULE ocean_albedo_mod -
LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/ocean_forced_mod.F90
r5889 r5896 29 29 #endif 30 30 ) 31 !$gpum horizontal knon klon 32 31 33 ! 32 34 ! This subroutine treats the "open ocean", all grid points that are not entierly covered -
LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/orbite.f90
r5285 r5896 3 3 4 4 ! ====================================================================== 5 MODULE orbite_mod 6 7 8 CONTAINS 9 5 10 SUBROUTINE orbite(xjour, longi, dist) 6 11 USE yomcst_mod_h … … 297 302 RETURN 298 303 END SUBROUTINE zenith 304 305 END MODULE orbite_mod -
LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/physiq_mod.F90
r5868 r5896 398 398 USE phys_output_write_spl_mod, ONLY: phys_output_write_spl 399 399 USE phytracr_spl_mod, ONLY: phytracr_spl_out_init, phytracr_spl 400 USE orbite_mod, ONLY : zenang, angle 400 401 USE s2s, ONLY : s2s_initialize, s2s_finalize 401 402 IMPLICIT NONE -
LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/s2s.F90
r5764 r5896 2 2 MODULE s2s 3 3 USE s2s_mod 4 INTEGER, PUBLIC, PARAMETER :: s2s_str_maxlen = 256 4 5 END MODULE s2s 5 6 #else … … 8 9 MODULE s2s 9 10 10 PRIVATE 11 PUBLIC s2s_initialize, s2s_finalize, s2s_gpu_activated, s2s_register_activated 11 PRIVATE 12 INTEGER, PARAMETER :: s2s_str_maxlen = 256 13 14 PUBLIC s2s_initialize, s2s_finalize, s2s_gpu_activated, s2s_register_activated, s2s_str_maxlen 12 15 13 16 CONTAINS -
LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/surf_ocean_mod.F90
r5868 r5896 30 30 #endif 31 31 & ) 32 !$gpum horizontal knon klon 32 33 33 34 use albedo, only: alboc, alboc_cd … … 39 40 USE ocean_cpl_mod, ONLY : ocean_cpl_noice 40 41 USE indice_sol_mod, ONLY : nbsrf, is_oce 42 USE ocean_albedo_mod, ONLY : ocean_albedo 41 43 #ifdef ISO 42 44 USE infotrac_phy, ONLY : ntraciso=>ntiso,niso … … 175 177 INTEGER :: i, k 176 178 REAL :: tmp 177 REAL, PARAMETER :: cepdu2=(0.1)* *2179 REAL, PARAMETER :: cepdu2=(0.1)*(0.1) 178 180 REAL, DIMENSION(knon) :: alb_eau, z0_lim 179 181 REAL, DIMENSION(knon) :: radsol … … 188 190 REAL, DIMENSION(knon) :: yrlat ! compressed latitude 189 191 !************************************************************************** 192 !$gpum nocall checksum 190 193 191 194 #ifdef ISO … … 245 248 SELECT CASE(type_ocean) 246 249 CASE('couple') 250 !$gpum nocall 247 251 CALL ocean_cpl_noice( & 248 252 swnet, lwnet, alb1, & … … 259 263 260 264 CASE('slab') 265 !$gpum nocall 261 266 CALL ocean_slab_noice( & 262 267 itime, dtime, jour, knon, knindex, & … … 403 408 !ym not porting to GPU for now 404 409 if (type_ocean /= 'couple') sss(:knon) = 35. 410 !$gpum nocall 405 411 call bulk_flux(tkt, tks, taur, dter, dser, t_int, s_int, ds_ns, dt_ns, & 406 412 u = windsp(:knon), t_ocean_1 = tsurf_new(:knon), s1 = sss(:knon), & -
LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/surface_data.f90
r5662 r5896 3 3 ! 4 4 MODULE surface_data 5 5 USE s2s, ONLY : s2s_str_maxlen 6 6 IMPLICIT NONE 7 7 … … 15 15 !$OMP THREADPRIVATE(type_veget) 16 16 17 CHARACTER(len= 6), SAVE :: type_ocean ! force/slab/couple17 CHARACTER(len=s2s_str_maxlen), SAVE :: type_ocean ! force/slab/couple 18 18 !$OMP THREADPRIVATE(type_ocean) 19 19 … … 63 63 ! if type_ocean=couple : version_ocean=opa8 ou nemo 64 64 ! if type_ocean=slab : version_ocean=sicOBS or sicINT or sicNO 65 CHARACTER(len= 6), SAVE :: version_ocean65 CHARACTER(len=s2s_str_maxlen), SAVE :: version_ocean 66 66 !$OMP THREADPRIVATE(version_ocean) 67 67
Note: See TracChangeset
for help on using the changeset viewer.
