Ignore:
Timestamp:
Jun 13, 2020, 12:23:29 AM (4 years ago)
Author:
lguez
Message:

Output bulk sea surface salinity

Output bulk sea surface salinity when activate_ocean_skin >= 1. So
add variable sss in module phys_output_var_mod. In procedure
surf_ocean, promote sss from local variable to dummy argument.

Location:
LMDZ6/branches/Ocean_skin/libf/phylmd
Files:
5 edited

Legend:

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

    r3719 r3720  
    293293    USE ioipsl_getin_p_mod, ONLY : getin_p
    294294    use phys_state_var_mod, only: s_int, ds_ns, dt_ns
    295     use phys_output_var_mod, only: sst_nff, dter, dser, tkt, tks, taur
     295    use phys_output_var_mod, only: sst_nff, dter, dser, tkt, tks, taur, sss
    296296#ifdef CPP_XIOS
    297297    USE wxios, ONLY: missing_val
     
    831831
    832832    real, DIMENSION(klon):: ysst_nff, ys_int, yds_ns, ydt_ns, ydter, ydser, &
    833          ytkt, ytks, ytaur
     833         ytkt, ytks, ytaur, ysss
    834834    ! compression of sst_nff, s_int, ds_ns, dt_ns, dter, dser, tkt, tks,
    835     ! taur on ocean points
     835    ! taur, sss on ocean points
    836836
    837837!****************************************************************************************
     
    19561956               y_flux_u1, y_flux_v1, ysst_nff(:knon), ys_int(:knon), &
    19571957               yds_ns(:knon), ydt_ns(:knon), ydter(:knon), ydser(:knon), &
    1958                ytkt(:knon), ytks(:knon), ytaur(:knon))
     1958               ytkt(:knon), ytks(:knon), ytaur(:knon), ysss)
    19591959      IF (prt_level >=10) THEN
    19601960          print *,'arg de surf_ocean: ycdragh ',ycdragh
     
    25702570          tks = missing_val
    25712571          taur = missing_val
     2572          sss = missing_val
    25722573         
    25732574          s_int(ni(:knon)) = ys_int(:knon)
     
    25802581          tks(ni(:knon)) = ytks(:knon)
    25812582          taur(ni(:knon)) = ytaur(:knon)
     2583          sss(ni(:knon)) = ysss(:knon)
    25822584       end if
    25832585
  • LMDZ6/branches/Ocean_skin/libf/phylmd/phys_output_ctrlout_mod.F90

    r3719 r3720  
    19831983        "momentum flux due to rain", "Pa", '')
    19841984
     1985   type(ctrl_out), save:: o_sss &
     1986        = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'SSS', &
     1987        "bulk sea-surface salinity", "ppt", '')
     1988
    19851989END MODULE phys_output_ctrlout_mod
  • LMDZ6/branches/Ocean_skin/libf/phylmd/phys_output_var_mod.F90

    r3719 r3720  
    156156  ! épaisseur (m) de la couche de diffusion de masse (microlayer)
    157157 
    158   REAL, SAVE, ALLOCATABLE:: taur(:)
    159   ! momentum flux due to rain, in Pa
     158  REAL, SAVE, ALLOCATABLE:: taur(:) ! momentum flux due to rain, in Pa
     159
     160  REAL, SAVE, ALLOCATABLE:: sss(:)
     161  ! bulk salinity of the surface layer of the ocean, in ppt
    160162 
    161   !$OMP THREADPRIVATE(sst_nff, dter, dser, tkt, tks, taur)
     163  !$OMP THREADPRIVATE(sst_nff, dter, dser, tkt, tks, taur, sss)
    162164
    163165CONTAINS
     
    221223
    222224    if (activate_ocean_skin >= 1) allocate(sst_nff(klon), dter(klon), &
    223          dser(klon), tkt(klon), tks(klon), taur(klon))
     225         dser(klon), tkt(klon), tks(klon), taur(klon), sss(klon))
    224226
    225227  END SUBROUTINE phys_output_var_init
  • LMDZ6/branches/Ocean_skin/libf/phylmd/phys_output_write_mod.F90

    r3719 r3720  
    203203         o_flx_co2_ocean, o_flx_co2_land, o_flx_co2_ff, o_flx_co2_bb, &
    204204         o_sst_nff, o_s_int, o_ds_ns, o_dt_ns, o_dter, o_dser, o_tkt, o_tks, &
    205          o_taur
     205         o_taur, o_sss
    206206
    207207#ifdef CPP_StratAer
     
    360360         alt_tropo, &
    361361!Ionela
    362          ok_4xCO2atm, sst_nff, dter, dser, tkt, tks, taur
     362         ok_4xCO2atm, sst_nff, dter, dser, tkt, tks, taur, sss
    363363
    364364    USE ocean_slab_mod, ONLY: nslay, tslab, slab_bilg, tice, seaice, &
     
    23132313          CALL histwrite_phy(o_tks, tks)
    23142314          CALL histwrite_phy(o_taur, taur)
     2315          CALL histwrite_phy(o_sss, sss)
    23152316       end if
    23162317
  • LMDZ6/branches/Ocean_skin/libf/phylmd/surf_ocean_mod.F90

    r3719 r3720  
    2020       z0m, z0h, SFRWL, alb_dir_new, alb_dif_new, evap, fluxsens, fluxlat, &
    2121       tsurf_new, dflux_s, dflux_l, lmt_bils, &
    22        flux_u1, flux_v1, sst_nff, s_int, ds_ns, dt_ns, dter, dser, tkt, tks, taur)
     22       flux_u1, flux_v1, sst_nff, s_int, ds_ns, dt_ns, dter, dser, tkt, tks, &
     23       taur, sss)
    2324
    2425    use albedo, only: alboc, alboc_cd
     
    127128    ! momentum flux due to rain, in Pa
    128129
     130    real, intent(out):: sss(:) ! (klon)
     131    ! Bulk salinity of the surface layer of the ocean, in ppt. (Only
     132    ! defined for subscripts 1:knon, but we have to declare it with
     133    ! size klon because of the coupling machinery.)
     134
    129135    ! Local variables
    130136    !******************************************************************************
     
    138144    real rhoa(knon) ! density of moist air  (kg / m3)
    139145    REAL sens_prec_liq(knon)
    140 
    141     real sss(klon)
    142     ! Bulk salinity of the surface layer of the ocean, in ppt. (Only
    143     ! defined for subscripts 1:knon, but we have to declare it with
    144     ! size klon because of the coupling machinery.)
    145146
    146147    REAL t_int(knon) ! ocean-air interface temperature, in K
Note: See TracChangeset for help on using the changeset viewer.