Ignore:
Timestamp:
Feb 1, 2021, 3:30:57 PM (3 years ago)
Author:
lguez
Message:

Merge Ocean_skin branch back into trunk

Location:
LMDZ6/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk

  • LMDZ6/trunk/libf/phylmd/ocean_forced_mod.F90

    r3784 r3815  
    1919       AcoefH, AcoefQ, BcoefH, BcoefQ, &
    2020       AcoefU, AcoefV, BcoefU, BcoefV, &
    21        ps, u1, v1, gustiness, &
     21       ps, u1, v1, gustiness, tsurf_in, &
    2222       radsol, snow, agesno, &
    2323       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)
    2525!
    2626! This subroutine treats the "open ocean", all grid points that are not entierly covered
     
    3535    USE indice_sol_mod
    3636    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
    3738
    3839    INCLUDE "YOMCST.h"
     
    5354    REAL, DIMENSION(klon), INTENT(IN)        :: ps
    5455    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)
    5558
    5659! In/Output arguments
     
    6770    REAL, DIMENSION(klon), INTENT(OUT)       :: tsurf_new
    6871    REAL, DIMENSION(klon), INTENT(OUT)       :: dflux_s, dflux_l
     72    REAL, intent(out):: sens_prec_liq(:) ! (knon)
    6973
    7074! Local variables
     
    7680    REAL, DIMENSION(klon)       :: u1_lay, v1_lay
    7781    LOGICAL                     :: check=.FALSE.
    78     REAL, DIMENSION(klon) :: sens_prec_liq, sens_prec_sol   
     82    REAL sens_prec_sol(knon)
    7983    REAL, DIMENSION(klon) :: lat_prec_liq, lat_prec_sol   
    8084
     
    122126    alb_neig(:) = 0.
    123127    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.
    125129
    126130! Suppose zero surface speed
     
    132136! Calcul de tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l and qsurf
    133137    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, &
    135140         precip_rain, precip_snow, snow, qsurf,  &
    136141         radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, &
    137142         f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, &
    138143         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
    140146
    141147    do j = 1, knon
     
    167173       radsol, snow, qsol, agesno, tsoil, &
    168174       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)
    170176!
    171177! This subroutine treats the ocean where there is ice.
     
    201207    REAL, DIMENSION(klon), INTENT(IN)    :: ps
    202208    REAL, DIMENSION(klon), INTENT(IN)    :: u1, v1, gustiness
     209    real, intent(in):: rhoa(:) ! (knon) density of moist air  (kg / m3)
    203210
    204211! In/Output arguments
     
    230237    REAL, DIMENSION(klon)       :: u0, v0
    231238    REAL, DIMENSION(klon)       :: u1_lay, v1_lay
    232     REAL, DIMENSION(klon)       :: sens_prec_liq, sens_prec_sol    
     239    REAL sens_prec_liq(knon), sens_prec_sol (knon)   
    233240    REAL, DIMENSION(klon)       :: lat_prec_liq, lat_prec_sol   
    234241
     
    264271
    265272!    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.
    267274
    268275! Suppose zero surface speed
     
    277284         f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, &
    278285         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)
    280287    do j = 1, knon
    281288      i = knindex(j)
Note: See TracChangeset for help on using the changeset viewer.