Ignore:
Timestamp:
Jul 19, 2020, 5:25:06 PM (4 years ago)
Author:
lguez
Message:

Store delta_sal instead of s_int

Revision analoguous to revision [3744], for salinity. Store as a state
variable and send to the ocean delta_sal, the difference between
ocean-air interface salinity and bulk salinity, instead of s_int,
the interface salinity.

So replace dummy argument s_int of procedure cpl_send_ocean_fields
by dummy argument delta_sal. Replace dummy argument s_int of
procedures ocean_cpl_noice and surf_ocean by dummy argument
delta_sal. Replace variable s_int of module phys_state_var_mod
by variable delta_sal. Rename local variable ys_int of procedure
pbl_surface to ydelta_sal. Set variable delta_sal of module
phys_state_var_mod to 0 for an appearing ocean fraction and a
missing startup field. Replace variable o_s_int of module
phys_output_ctrlout_mod by variable o_delta_sal.

Rename variables cpl_s_int and cpl_s_int_2D of module cpl_mod to
cpl_delta_sal and cpl_delta_sal_2D. Rename variable ids_s_int of
module oasis to ids_delta_sal. Change infosend(ids_delta_sal)%name
to "CODELSSS".

File:
1 edited

Legend:

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

    r3744 r3767  
    4949  !$OMP THREADPRIVATE(cpl_snow,cpl_evap,cpl_tsol)
    5050
    51   REAL, ALLOCATABLE, SAVE:: cpl_delta_sst(:), cpl_s_int(:)
    52   !$OMP THREADPRIVATE(cpl_delta_sst, cpl_s_int)
     51  REAL, ALLOCATABLE, SAVE:: cpl_delta_sst(:), cpl_delta_sal(:)
     52  !$OMP THREADPRIVATE(cpl_delta_sst, cpl_delta_sal)
    5353 
    5454  REAL, ALLOCATABLE, DIMENSION(:,:), SAVE   :: cpl_fder, cpl_albe, cpl_taux, cpl_tauy
     
    9494  !$OMP THREADPRIVATE(cpl_snow2D, cpl_evap2D, cpl_tsol2D)
    9595
    96   REAL, ALLOCATABLE, SAVE:: cpl_delta_sst_2D(:,:), cpl_s_int_2D(:,:)
    97   !$OMP THREADPRIVATE(cpl_delta_sst_2D, cpl_s_int_2D)
     96  REAL, ALLOCATABLE, SAVE:: cpl_delta_sst_2D(:,:), cpl_delta_sal_2D(:,:)
     97  !$OMP THREADPRIVATE(cpl_delta_sst_2D, cpl_delta_sal_2D)
    9898
    9999  REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE :: cpl_fder2D, cpl_albe2D
     
    237237   
    238238       if (activate_ocean_skin == 2) then
    239           ALLOCATE(cpl_delta_sst(klon), cpl_s_int(klon), stat = error)
     239          ALLOCATE(cpl_delta_sst(klon), cpl_delta_sal(klon), stat = error)
    240240          sum_error = sum_error + error
    241241       end if
     
    646646       precip_rain, precip_snow, evap, tsurf, fder, albsol, taux, tauy, windsp,&
    647647       sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol, delta_sst, &
    648        s_int)
     648       delta_sal)
    649649
    650650    ! This subroutine cumulates some fields for each time-step during
     
    677677    ! K. Defined only if activate_ocean_skin >= 1.
    678678
    679     real, intent(in):: s_int(:) ! (knon) ocean-air interface salinity, in ppt
     679    real, intent(in):: delta_sal(:) ! (knon)
     680    ! Ocean-air interface salinity minus bulk salinity, in ppt.
    680681
    681682! Local variables
     
    715716
    716717       if (activate_ocean_skin == 2) then
    717           cpl_delta_sst(:knon) = 0.
    718           cpl_s_int = 0.
     718          cpl_delta_sst = 0.
     719          cpl_delta_sal = 0.
    719720       end if
    720721    ENDIF
     
    762763       if (activate_ocean_skin == 2) then
    763764          cpl_delta_sst(ig) = cpl_delta_sst(ig) + delta_sst(ig) / REAL(nexca)
    764           cpl_s_int(ig) = cpl_s_int(ig) + s_int(ig) / REAL(nexca)
     765          cpl_delta_sal(ig) = cpl_delta_sal(ig) + delta_sal(ig) / REAL(nexca)
    765766       end if
    766767     ENDDO
     
    812813          if (activate_ocean_skin == 2) then
    813814             ALLOCATE(cpl_delta_sst_2D(nbp_lon, jj_nb), &
    814                   cpl_s_int_2D(nbp_lon, jj_nb), stat = error)
     815                  cpl_delta_sal_2D(nbp_lon, jj_nb), stat = error)
    815816             sum_error = sum_error + error
    816817          end if
     
    872873       if (activate_ocean_skin == 2) then
    873874          CALL gath2cpl(cpl_delta_sst, cpl_delta_sst_2D, knon, knindex)
    874           CALL gath2cpl(cpl_s_int, cpl_s_int_2D, knon, knindex)
     875          CALL gath2cpl(cpl_delta_sal, cpl_delta_sal_2D, knon, knindex)
    875876       end if
    876877    ENDIF
     
    12701271    if (activate_ocean_skin == 2) then
    12711272       tab_flds(:, :, ids_delta_sst) = cpl_delta_sst_2D
    1272        tab_flds(:, :, ids_s_int) = cpl_s_int_2D
     1273       tab_flds(:, :, ids_delta_sal) = cpl_delta_sal_2D
    12731274    end if
    12741275   
     
    15081509    ENDIF
    15091510
    1510     if (activate_ocean_skin == 2) deallocate(cpl_delta_sst_2d, cpl_s_int_2d)
     1511    if (activate_ocean_skin == 2) deallocate(cpl_delta_sst_2d, cpl_delta_sal_2d)
    15111512
    15121513    IF (sum_error /= 0) THEN
Note: See TracChangeset for help on using the changeset viewer.