Changeset 3815 for LMDZ6/trunk/libf/phylmd/ocean_forced_mod.F90
- Timestamp:
- Feb 1, 2021, 3:30:57 PM (3 years ago)
- Location:
- LMDZ6/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk
-
LMDZ6/trunk/libf/phylmd/ocean_forced_mod.F90
r3784 r3815 19 19 AcoefH, AcoefQ, BcoefH, BcoefQ, & 20 20 AcoefU, AcoefV, BcoefU, BcoefV, & 21 ps, u1, v1, gustiness, &21 ps, u1, v1, gustiness, tsurf_in, & 22 22 radsol, snow, agesno, & 23 23 qsurf, evap, fluxsens, fluxlat, flux_u1, flux_v1, & 24 tsurf_new, dflux_s, dflux_l )24 tsurf_new, dflux_s, dflux_l, sens_prec_liq, rhoa) 25 25 ! 26 26 ! This subroutine treats the "open ocean", all grid points that are not entierly covered … … 35 35 USE indice_sol_mod 36 36 USE phys_output_var_mod, ONLY : sens_prec_liq_o, sens_prec_sol_o, lat_prec_liq_o, lat_prec_sol_o 37 use config_ocean_skin_m, only: activate_ocean_skin 37 38 38 39 INCLUDE "YOMCST.h" … … 53 54 REAL, DIMENSION(klon), INTENT(IN) :: ps 54 55 REAL, DIMENSION(klon), INTENT(IN) :: u1, v1, gustiness 56 REAL, DIMENSION(klon), INTENT(IN) :: tsurf_in 57 real, intent(in):: rhoa(:) ! (knon) density of moist air (kg / m3) 55 58 56 59 ! In/Output arguments … … 67 70 REAL, DIMENSION(klon), INTENT(OUT) :: tsurf_new 68 71 REAL, DIMENSION(klon), INTENT(OUT) :: dflux_s, dflux_l 72 REAL, intent(out):: sens_prec_liq(:) ! (knon) 69 73 70 74 ! Local variables … … 76 80 REAL, DIMENSION(klon) :: u1_lay, v1_lay 77 81 LOGICAL :: check=.FALSE. 78 REAL , DIMENSION(klon) :: sens_prec_liq, sens_prec_sol82 REAL sens_prec_sol(knon) 79 83 REAL, DIMENSION(klon) :: lat_prec_liq, lat_prec_sol 80 84 … … 122 126 alb_neig(:) = 0. 123 127 agesno(:) = 0. 124 sens_prec_liq = 0.; sens_prec_sol = 0.;lat_prec_liq = 0.; lat_prec_sol = 0.128 lat_prec_liq = 0.; lat_prec_sol = 0. 125 129 126 130 ! Suppose zero surface speed … … 132 136 ! Calcul de tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l and qsurf 133 137 CALL calcul_fluxs(knon, is_oce, dtime, & 134 tsurf_lim, p1lay, cal, beta, cdragh, cdragq, ps, & 138 merge(tsurf_in, tsurf_lim, activate_ocean_skin == 2), p1lay, cal, & 139 beta, cdragh, cdragq, ps, & 135 140 precip_rain, precip_snow, snow, qsurf, & 136 141 radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, & 137 142 f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, & 138 143 tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, & 139 sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol) 144 sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol, rhoa) 145 if (activate_ocean_skin == 2) tsurf_new = tsurf_lim 140 146 141 147 do j = 1, knon … … 167 173 radsol, snow, qsol, agesno, tsoil, & 168 174 qsurf, alb1_new, alb2_new, evap, fluxsens, fluxlat, flux_u1, flux_v1, & 169 tsurf_new, dflux_s, dflux_l )175 tsurf_new, dflux_s, dflux_l, rhoa) 170 176 ! 171 177 ! This subroutine treats the ocean where there is ice. … … 201 207 REAL, DIMENSION(klon), INTENT(IN) :: ps 202 208 REAL, DIMENSION(klon), INTENT(IN) :: u1, v1, gustiness 209 real, intent(in):: rhoa(:) ! (knon) density of moist air (kg / m3) 203 210 204 211 ! In/Output arguments … … 230 237 REAL, DIMENSION(klon) :: u0, v0 231 238 REAL, DIMENSION(klon) :: u1_lay, v1_lay 232 REAL , DIMENSION(klon) :: sens_prec_liq, sens_prec_sol239 REAL sens_prec_liq(knon), sens_prec_sol (knon) 233 240 REAL, DIMENSION(klon) :: lat_prec_liq, lat_prec_sol 234 241 … … 264 271 265 272 ! beta = 1.0 266 sens_prec_liq = 0.; sens_prec_sol = 0.;lat_prec_liq = 0.; lat_prec_sol = 0.273 lat_prec_liq = 0.; lat_prec_sol = 0. 267 274 268 275 ! Suppose zero surface speed … … 277 284 f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, & 278 285 tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, & 279 sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol )286 sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol, rhoa) 280 287 do j = 1, knon 281 288 i = knindex(j)
Note: See TracChangeset
for help on using the changeset viewer.