Ignore:
Timestamp:
Feb 4, 2020, 10:36:32 PM (5 years ago)
Author:
lguez
Message:

If the ocean skin parameterization is working actively
(activate_ocean_skin == 2) and we are coupled to the ocean then send
ocean-air interface salinity to the ocean. New dummy argument s_int
of procedures ocean_cpl_noice and cpl_send_ocean_fields. We can
only send interface salinity from the previous time-step since
communication with the ocean is before the call to bulk_flux. So make
s_int a state variable: move s_int from phys_output_var_mod to
phys_state_var_mod. Still, we only read s_int from startphy,
define it before the call to surf_ocean and write it to restartphy
if activate_ocean_skin == 2 and type_ocean == 'couple'. In
procedure pbl_surface, for clarity, move the definition of output
variables t_int, dter, dser, tkt, tks, rf, taur to missing_val to
after the call to surf_ocean, with the definition of s_int,
ds_ns, dt_ns to missing_val. This does not change anything for
t_int, dter, dser, tkt, tks, rf, taur. In pbl_surface_newfrac, we
choose to set s_int to 35 for an appearing ocean point, this is
questionable. In surf_ocean, change the intent of s_int from out
to inout.

File:
1 edited

Legend:

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

    r3605 r3628  
    2727                                ale_wake, ale_bl_stat,                       &
    2828                                du_gwd_rando, du_gwd_front, u10m, v10m,      &
    29                                 treedrg, ds_ns, dt_ns
     29                                treedrg, s_int, ds_ns, dt_ns
    3030  USE geometry_mod, ONLY : longitude_deg, latitude_deg
    3131  USE iostart, ONLY: open_restartphy, close_restartphy, enddef_restartphy, put_field, put_var
     
    342342
    343343    if (activate_ocean_skin >= 1) then
    344        CALL put_field(pass, "ds_ns", "delta salinity near surface", ds_ns)
     344       if (activate_ocean_skin == 2 .and. type_ocean == 'couple') &
     345            CALL put_field(pass, "S_int", "salinity at air-ocean interface", &
     346            s_int)
     347       CALL put_field(pass, "dS_ns", "delta salinity near surface", ds_ns)
    345348       CALL put_field(pass, "dT_ns", "delta temperature near surface", dT_ns)
    346349    end if
Note: See TracChangeset for help on using the changeset viewer.