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_state_var_mod.F90

    r3605 r3628  
    431431
    432432      ! Ocean-atmosphere interface, subskin ocean and near-surface ocean:
     433
     434      REAL, ALLOCATABLE, SAVE:: s_int(:) ! interface salinity, in ppt
    433435     
    434436      REAL, ALLOCATABLE, SAVE:: ds_ns(:)
     
    442444      ! minus foundation temperature. (Can be negative.) In K.
    443445     
    444       !$OMP THREADPRIVATE(ds_ns, dt_ns)
     446      !$OMP THREADPRIVATE(s_int, ds_ns, dt_ns)
    445447
    446448    CONTAINS
     
    650652        du_gwd_front(:,:) = 0 !ym missing init   
    651653      ENDIF
    652       if (activate_ocean_skin >= 1) ALLOCATE(ds_ns(klon), dt_ns(klon))
     654      if (activate_ocean_skin >= 1) ALLOCATE(s_int(klon), ds_ns(klon), &
     655           dt_ns(klon))
    653656
    654657    END SUBROUTINE phys_state_var_init
     
    788791!!! fin nrlmd le 10/04/2012
    789792
    790       if (activate_ocean_skin >= 1) deALLOCATE(ds_ns, dt_ns)
     793      if (activate_ocean_skin >= 1) deALLOCATE(s_int, ds_ns, dt_ns)
    791794
    792795      is_initialized=.FALSE.
Note: See TracChangeset for help on using the changeset viewer.