Changeset 5921
- Timestamp:
- Dec 9, 2025, 1:53:23 PM (2 days ago)
- Location:
- LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd
- Files:
-
- 2 edited
-
albedo.f90 (modified) (10 diffs)
-
surf_ocean_mod.F90 (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/albedo.f90
r5896 r5921 1 1 ! $Id$ 2 module albedo 2 module albedo_mod 3 3 4 4 IMPLICIT NONE … … 6 6 contains 7 7 8 SUBROUTINE alboc( klon, rjour, rlat, albedo)9 !$gpum horizontal klon8 SUBROUTINE alboc(ngrid, rjour, rlat, albedo) 9 !$gpum horizontal ngrid 10 10 ! USE clesphys_mod_h 11 11 USE yomcst_mod_h, ONLY : r_incl … … 23 23 ! albedo (out,R): albedo obtenu (de 0 a 1) 24 24 ! ====================================================================== 25 INTEGER, INTENT(IN) :: klon25 INTEGER, INTENT(IN) :: ngrid 26 26 INTEGER npts ! il controle la precision de l'integration 27 27 PARAMETER (npts=120) ! 120 correspond a l'interval 6 minutes 28 28 29 REAL rlat( klon), rjour, albedo(klon)29 REAL rlat(ngrid), rjour, albedo(ngrid) 30 30 REAL zdist, zlonsun, zpi, zdeclin 31 31 REAL rmu, alb, srmu, salb, fauxo, aa, bb … … 46 46 zdeclin = asin(sin(zlonsun*zpi/180.0)*sin(r_incl*zpi/180.0)) 47 47 48 DO i = 1, klon48 DO i = 1, ngrid 49 49 aa = sin(rlat(i)*zpi/180.0)*sin(zdeclin) 50 50 bb = cos(rlat(i)*zpi/180.0)*cos(zdeclin) … … 87 87 zdeclin = asin(sin(zlonsun*zpi/180.0)*sin(r_incl*zpi/180.0)) 88 88 89 DO i = 1, klon89 DO i = 1, ngrid 90 90 aa = sin(rlat(i)*zpi/180.0)*sin(zdeclin) 91 91 bb = cos(rlat(i)*zpi/180.0)*cos(zdeclin) … … 123 123 END SUBROUTINE alboc 124 124 ! ===================================================================== 125 SUBROUTINE alboc_cd( klon, rmu0, albedo)126 !$gpum horizontal klon125 SUBROUTINE alboc_cd(ngrid, rmu0, albedo) 126 !$gpum horizontal ngrid 127 127 IMPLICIT NONE 128 128 … … 138 138 ! albedo (out): albedo de surface de l'ocean 139 139 ! ====================================================================== 140 INTEGER, INTENT(IN) :: klon141 REAL, intent(in):: rmu0( klon)142 real, intent(out):: albedo( klon)140 INTEGER, INTENT(IN) :: ngrid 141 REAL, intent(in):: rmu0(ngrid) 142 real, intent(out):: albedo(ngrid) 143 143 144 144 REAL fauxo … … 148 148 149 149 IF (ancien_albedo) THEN 150 DO i = 1, klon150 DO i = 1, ngrid 151 151 fauxo = (1.47-acos(max(rmu0(i), 0.0)))/0.15 152 152 albedo(i) = 0.03+.630/(1.+fauxo*fauxo) … … 154 154 END DO 155 155 ELSE 156 DO i = 1, klon156 DO i = 1, ngrid 157 157 albedo(i) = 0.058/(max(rmu0(i), 0.0)+0.30) 158 158 albedo(i) = max(min(albedo(i),0.60), 0.04) … … 162 162 END SUBROUTINE alboc_cd 163 163 164 end module albedo 164 end module albedo_mod -
LMDZ6/branches/PBLSURF_GPUPORT/libf/phylmd/surf_ocean_mod.F90
r5896 r5921 32 32 !$gpum horizontal knon klon 33 33 34 use albedo , only: alboc, alboc_cd34 use albedo_mod, only: alboc, alboc_cd 35 35 use bulk_flux_m, only: bulk_flux 36 36 USE dimphy, ONLY: klon, zmasq … … 48 48 #endif 49 49 #endif 50 USE clesphys_mod_h 51 USE yomcst_mod_h 52 USE limit_read_mod 50 USE clesphys_mod_h, ONLY: nsw, ok_bs, f_z0qh_oce, iflag_albedo, iflag_cycle_diurne, fmagic, pmagic, iflag_z0_oce, z0min 51 USE yomcst_mod_h, ONLY: rd, retv, rg, rlvtt 52 USE limit_read_mod, ONLY: limit_read_rug_alb 53 53 USE config_ocean_skin_m, ONLY: activate_ocean_skin 54 USE lmdz_checksum 54 USE lmdz_checksum, ONLY : checksum 55 55 ! 56 56 ! This subroutine will make a call to ocean_XXX_noice according to the ocean mode (force,
Note: See TracChangeset
for help on using the changeset viewer.
