Ignore:
Timestamp:
Feb 8, 2019, 2:28:03 PM (5 years ago)
Author:
lguez
Message:

Compute surface sensible heat flux and latent heat flux using
ocean-atmosphere interface temperature instead of bulk SST, if
activate_ocean_skin == 2. So we add argument tsurf_in to
ocean_cpl_noice and ocean_forced_noice, and call calcul_fluxs with
tsurf_in. tsurf_in was already an argument of ocean_slab_noice, and
calcul_fluxs was already called with tsurf_in in ocean_slab_noice.

In procedure surf_ocean, when activate_ocean_skin == 2, rf should be
computed from the ocean-atmosphere interface temperature, tsurf_in,
not the SST bulk temperature, tsurf_new. So, for consistency, we also
use tsurf_in when activate_ocean_skin == 1. So this revision also
changes the results when activate_ocean_skin == 1.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Ocean_skin/libf/phylmd/ocean_cpl_mod.F90

    r3102 r3463  
    5252       AcoefH, AcoefQ, BcoefH, BcoefQ, &
    5353       AcoefU, AcoefV, BcoefU, BcoefV, &
    54        ps, u1, v1, gustiness, &
     54       ps, u1, v1, gustiness, tsurf_in, &
    5555       radsol, snow, agesno, &
    5656       qsurf, evap, fluxsens, fluxlat, flux_u1, flux_v1, &
     
    6868    USE phys_output_var_mod, ONLY : sens_prec_liq_o, sens_prec_sol_o, lat_prec_liq_o, lat_prec_sol_o
    6969    USE cpl_mod,             ONLY : gath2cpl
     70    use config_ocean_skin_m, only: activate_ocean_skin
    7071
    7172    INCLUDE "YOMCST.h"
     
    9091    REAL, DIMENSION(klon), INTENT(IN)        :: ps
    9192    REAL, DIMENSION(klon), INTENT(IN)        :: u1, v1, gustiness
     93    REAL, DIMENSION(klon), INTENT(IN)        :: tsurf_in
    9294
    9395! In/Output arguments
     
    147149
    148150    CALL calcul_fluxs(knon, is_oce, dtime, &
    149          tsurf_cpl, p1lay, cal, beta, cdragh, cdragq, ps, &
     151         merge(tsurf_in, tsurf_cpl, activate_ocean_skin == 2), p1lay, cal, &
     152         beta, cdragh, cdragq, ps, &
    150153         precip_rain, precip_snow, snow, qsurf,  &
    151154         radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, &
     
    153156         tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, &
    154157         sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol)
     158    if (activate_ocean_skin == 2) tsurf_new = tsurf_cpl
     159   
    155160    do j = 1, knon
    156161      i = knindex(j)
Note: See TracChangeset for help on using the changeset viewer.