Ignore:
Timestamp:
Feb 4, 2020, 10:36:32 PM (4 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/phys_output_var_mod.F90

    r3601 r3628  
    136136 
    137137  REAL, ALLOCATABLE, SAVE:: t_int(:) ! interface temperature, in K
    138   REAL, ALLOCATABLE, SAVE:: s_int(:) ! interface salinity, in ppt
    139138
    140139  REAL, ALLOCATABLE, SAVE:: dter(:)
     
    160159  ! momentum flux due to rain, in Pa
    161160 
    162   !$OMP THREADPRIVATE(t_int, s_int, dter, dser, tkt, tks, rf, taur)
     161  !$OMP THREADPRIVATE(t_int, dter, dser, tkt, tks, rf, taur)
    163162
    164163CONTAINS
     
    221220    IF (ok_gwd_rando) allocate(zustr_gwd_rando(klon), zvstr_gwd_rando(klon))
    222221
    223     if (activate_ocean_skin >= 1) allocate(t_int(klon), s_int(klon), &
    224          dter(klon), dser(klon), tkt(klon), tks(klon), rf(klon), taur(klon))
     222    if (activate_ocean_skin >= 1) allocate(t_int(klon), dter(klon), &
     223         dser(klon), tkt(klon), tks(klon), rf(klon), taur(klon))
    225224
    226225  END SUBROUTINE phys_output_var_init
Note: See TracChangeset for help on using the changeset viewer.