SCALE-RM
Functions/Subroutines | Variables
scale_ocean_phy_tc Module Reference

module ocean / physics / surface thermal conductivity More...

Functions/Subroutines

subroutine, public ocean_phy_tc_seaice_setup
 
subroutine, public ocean_phy_tc_seaice (OIA, OIS, OIE, OJA, OJS, OJE, ICE_MASS, ICE_FRAC, TC_dz)
 

Variables

real(rp), public ocean_phy_thermalcond_max = 10.0_RP
 
real(rp), public ocean_phy_thermalcond_seaice = 2.0_RP
 

Detailed Description

module ocean / physics / surface thermal conductivity

Description
surface thermal conductivity common module
Author
Team SCALE
NAMELIST
  • PARAM_OCEAN_PHY_TC_seaice
    nametypedefault valuecomment
    OCEAN_PHY_THERMALCOND_MAX real(RP) 10.0_RP maximum thermal conductivity / depth [J/m2/s/K]
    OCEAN_PHY_THERMALCOND_SEAICE real(RP) 2.0_RP thermal conductivity of sea ice [J/m/s/K]

History Output
No history output

Function/Subroutine Documentation

◆ ocean_phy_tc_seaice_setup()

subroutine, public scale_ocean_phy_tc::ocean_phy_tc_seaice_setup ( )

Definition at line 49 of file scale_ocean_phy_tc.F90.

References scale_io::io_fid_conf, ocean_phy_thermalcond_max, ocean_phy_thermalcond_seaice, and scale_prc::prc_abort().

Referenced by mod_ocean_driver::ocean_driver_setup().

49  use scale_prc, only: &
50  prc_abort
51  implicit none
52 
53  namelist / param_ocean_phy_tc_seaice / &
54  ocean_phy_thermalcond_max, &
55  ocean_phy_thermalcond_seaice
56 
57  integer :: ierr
58  !---------------------------------------------------------------------------
59 
60  log_newline
61  log_info("OCEAN_PHY_TC_seaice_setup",*) 'Setup'
62 
63  !--- read namelist
64  rewind(io_fid_conf)
65  read(io_fid_conf,nml=param_ocean_phy_tc_seaice,iostat=ierr)
66  if( ierr < 0 ) then !--- missing
67  log_info("OCEAN_PHY_TC_seaice_setup",*) 'Not found namelist. Default used.'
68  elseif( ierr > 0 ) then !--- fatal error
69  log_error("OCEAN_PHY_TC_seaice_setup",*) 'Not appropriate names in namelist PARAM_OCEAN_PHY_TC_seaice. Check!'
70  call prc_abort
71  endif
72  log_nml(param_ocean_phy_tc_seaice)
73 
74  return
integer, public io_fid_conf
Config file ID.
Definition: scale_io.F90:55
module PROCESS
Definition: scale_prc.F90:11
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:338
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ocean_phy_tc_seaice()

subroutine, public scale_ocean_phy_tc::ocean_phy_tc_seaice ( integer, intent(in)  OIA,
integer, intent(in)  OIS,
integer, intent(in)  OIE,
integer, intent(in)  OJA,
integer, intent(in)  OJS,
integer, intent(in)  OJE,
real(rp), dimension(oia,oja), intent(in)  ICE_MASS,
real(rp), dimension(oia,oja), intent(in)  ICE_FRAC,
real(rp), dimension (oia,oja), intent(out)  TC_dz 
)

Definition at line 84 of file scale_ocean_phy_tc.F90.

References scale_const::const_eps, scale_ocean_phy_ice_simple::ocean_phy_ice_density, ocean_phy_thermalcond_max, and ocean_phy_thermalcond_seaice.

Referenced by mod_ocean_driver::ocean_driver_calc_tendency().

84  use scale_const, only: &
85  eps => const_eps
86  use scale_ocean_phy_ice_simple, only: &
88  implicit none
89 
90  integer, intent(in) :: oia, ois, oie
91  integer, intent(in) :: oja, ojs, oje
92  real(RP), intent(in) :: ice_mass(oia,oja) ! sea ice amount [kg/m2]
93  real(RP), intent(in) :: ice_frac(oia,oja) ! sea ice area fraction [1]
94  real(RP), intent(out) :: tc_dz (oia,oja) ! thermal conductivity / depth [J/m2/s/K]
95 
96  real(RP) :: ice_depth
97  integer :: i, j
98  !---------------------------------------------------------------------------
99 
100  do j = ojs, oje
101  do i = ois, oie
102  ice_depth = ice_mass(i,j) / ocean_phy_ice_density / max(ice_frac(i,j),eps)
103 
104  tc_dz(i,j) = ocean_phy_thermalcond_seaice / max(ice_depth*0.5_rp,eps) ! at the middle point of the layer
105 
106  tc_dz(i,j) = min( tc_dz(i,j), ocean_phy_thermalcond_max )
107  enddo
108  enddo
109 
110  return
module CONSTANT
Definition: scale_const.F90:11
real(rp), public const_eps
small number
Definition: scale_const.F90:33
module ocean / physics / ice / simple
Here is the caller graph for this function:

Variable Documentation

◆ ocean_phy_thermalcond_max

real(rp), public scale_ocean_phy_tc::ocean_phy_thermalcond_max = 10.0_RP

Definition at line 42 of file scale_ocean_phy_tc.F90.

Referenced by ocean_phy_tc_seaice(), and ocean_phy_tc_seaice_setup().

42  real(RP), public :: ocean_phy_thermalcond_max = 10.0_rp ! maximum thermal conductivity / depth [J/m2/s/K]

◆ ocean_phy_thermalcond_seaice

real(rp), public scale_ocean_phy_tc::ocean_phy_thermalcond_seaice = 2.0_RP

Definition at line 43 of file scale_ocean_phy_tc.F90.

Referenced by ocean_phy_tc_seaice(), and ocean_phy_tc_seaice_setup().

43  real(RP), public :: ocean_phy_thermalcond_seaice = 2.0_rp ! thermal conductivity of sea ice [J/m/s/K]