Ignore:
Timestamp:
Jan 2, 2019, 7:44:20 PM (5 years ago)
Author:
lguez
Message:

Create subdirectory Ocean_skin in libf. For now, Ocean_skin is under
control of git, not subversion.

Add variable eps_w to common YOMCST.

For now, continue to read ocean skin parameters from a namelist in
config_ocean_skin.

The parameterisation is called from procedure surf_ocean.

Add two prognostic variables for the parameterisation: dt_ns and
ds_ns. Add eight diagnostic variables: t_int, s_int, dter, dser, tkt,
tks, rf, taur. The ten variables are only defined on ocean surface,
elsewhere they are set to nf90_fill_real. In pbl_surface, we can
initialize the eight diagnostic variables to nf90_fill_real before the
loop on sub-surfaces, but we need to keep the old values of dt_ns and
ds_ns as input of the parameterisation so we set dt_ns and ds_ns to
nf90_fill_real after the call to surf_ocean. Define ten corresponding
compressed variables in pbl_surface. Define ten corresponding NetCDF
output variables in phys_output_ctrlout_mod.

In procedure pbl_surface_newfrac, for an appearing ocean sub-surface,
dt_ns and ds_ns are set to 0. In phyetat0, also set initial dt_ns and
ds_ns to 0 if they are not in start file.

In procedure surf_ocean, for now, we use a constant specific latent
heat of vaporization, as elsewhere in LMDZ, and a constant bulk
salinity.

File:
1 edited

Legend:

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

    r3208 r3429  
    417417      ! tendencies on wind due to gravity waves
    418418
    419 CONTAINS
     419      ! Ocean-atmosphere interface, subskin ocean and near-surface ocean:
     420     
     421      REAL, ALLOCATABLE, SAVE:: ds_ns(:)
     422      ! "delta salinity near surface". Salinity variation in the
     423      ! near-surface turbulent layer. That is subskin salinity minus
     424      ! foundation salinity. In ppt.
     425
     426      REAL, ALLOCATABLE, SAVE:: dt_ns(:)
     427      ! "delta temperature near surface". Temperature variation in the
     428      ! near-surface turbulent layer. That is subskin temperature
     429      ! minus foundation temperature. (Can be negative.) In K.
     430     
     431      !$OMP THREADPRIVATE(ds_ns, dt_ns)
     432
     433    CONTAINS
    420434
    421435!======================================================================
     
    607621      if (.not. ok_hines .and. ok_gwd_rando) allocate(du_gwd_front(klon, klev))
    608622
    609 END SUBROUTINE phys_state_var_init
     623      ALLOCATE(ds_ns(klon), dt_ns(klon))
     624
     625    END SUBROUTINE phys_state_var_init
    610626
    611627!======================================================================
Note: See TracChangeset for help on using the changeset viewer.