ice_therm_vertical Module Reference

Functions/Subroutines

subroutine init_thermo_vertical
 
subroutine thermo_vertical
 
subroutine frzmlt_bottom_lateral (Tbot, fbot, rside)
 
subroutine init_thermo_vars (strxn, stryn, Trefn, Qrefn, fsensn, flatn, fswabsn, flwoutn, evapn, freshn, fsaltn, fhnetn, fswthrun, fsurf, fcondtop, fcondbot, fswint, einit, efinal, mvap)
 
subroutine init_vertical_profile (ni, icells, indxi, indxj, hin, hlyr, hsn, hin_init, hsn_init, qin, Tin, qsn, Tsn, Tsf, einit)
 
subroutine temperature_changes (ni, icells, indxi, indxj, hlyr, hsn, qin, Tin, qsn, Tsn, Tsf, Tbot, fbot, fsensn, flatn, fswabsn, flwoutn, fswthrun, fhnetn, fsurf, fcondtop, fcondbot, fswint, einit)
 
subroutine conductivity (icells, indxi, indxj, hlyr, hsn, Tin, Tbot, khi, khs)
 
subroutine absorbed_solar (ni, icells, indxi, indxj, hlyr, hsn, fswsfc, fswint, fswthrun, Iabs)
 
subroutine surface_fluxes (isolve, indxii, indxjj, Tsf, fswsfc, flwoutn, fsensn, flatn, fsurf, dflwout_dT, dfsens_dT, dflat_dT, dfsurf_dT)
 
subroutine tridiag_solver (isolve, indxii, indxjj, nmat, sbdiag, diag, spdiag, rhs, xout)
 
subroutine thickness_changes (ni, icells, indxi, indxj, hin, hlyr, hsn, qin, qsn, mvap, Tbot, fbot, flatn, fhnetn, fsurf, fcondtop, fcondbot, efinal)
 
subroutine conservation_check_vthermo (ni, icells, indxi, indxj, fsurf, flatn, fhnetn, fswint, einit, efinal)
 
subroutine add_new_snow (ni, icells, indxi, indxj, hsn, hsn_new, qsn, Tsf)
 
subroutine update_state_vthermo (ni, icells, indxi, indxj, hin, hsn, qin, qsn, Tsf)
 

Variables

real(kind=dbl_kind), parameter ferrmax = 1.0e-3_dbl_kind
 
real(kind=dbl_kind), dimension(nilyr+1) salin
 
real(kind=dbl_kind), dimension(nilyr+1) tmlt
 
real(kind=dbl_kind) ustar_scale
 
real(kind=dbl_kind), dimension(:,:,:), allocatable, save hicen_old
 
real(kind=dbl_kind), dimension(:,:), allocatable, save rside
 
logical(kind=log_kind) l_brine
 
character(char_len), private stoplabel
 

Function/Subroutine Documentation

subroutine ice_therm_vertical::absorbed_solar ( integer (kind=int_kind), intent(in)  ni,
integer (kind=int_kind), intent(in)  icells,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxi,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxj,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(in)  hlyr,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(in)  hsn,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(inout)  fswsfc,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(inout)  fswint,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(inout)  fswthrun,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi,nilyr), intent(inout)  Iabs 
)

Here is the caller graph for this function:

subroutine ice_therm_vertical::add_new_snow ( integer (kind=int_kind), intent(in)  ni,
integer (kind=int_kind), intent(in)  icells,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxi,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxj,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  hsn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(out)  hsn_new,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  qsn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(in)  Tsf 
)

Here is the caller graph for this function:

subroutine ice_therm_vertical::conductivity ( integer (kind=int_kind), intent(in)  icells,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxi,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxj,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(in)  hlyr,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(in)  hsn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi,nilyr), intent(in)  Tin,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(in)  Tbot,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi,nilyr+1), intent(out)  khi,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(out)  khs 
)

Here is the caller graph for this function:

subroutine ice_therm_vertical::conservation_check_vthermo ( integer (kind=int_kind), intent(in)  ni,
integer (kind=int_kind), intent(in)  icells,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxi,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxj,
real (kind=dbl_kind), dimension (ilo:ihi, jlo:jhi), intent(in)  fsurf,
real (kind=dbl_kind), dimension (ilo:ihi, jlo:jhi), intent(in)  flatn,
real (kind=dbl_kind), dimension (ilo:ihi, jlo:jhi), intent(in)  fhnetn,
real (kind=dbl_kind), dimension (ilo:ihi, jlo:jhi), intent(in)  fswint,
real (kind=dbl_kind), dimension (ilo:ihi, jlo:jhi), intent(in)  einit,
real (kind=dbl_kind), dimension (ilo:ihi, jlo:jhi), intent(in)  efinal 
)

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine ice_therm_vertical::frzmlt_bottom_lateral ( real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(out)  Tbot,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(out)  fbot,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(out)  rside 
)

Here is the caller graph for this function:

subroutine ice_therm_vertical::init_thermo_vars (   strxn,
  stryn,
  Trefn,
  Qrefn,
  fsensn,
  flatn,
  fswabsn,
  flwoutn,
  evapn,
  freshn,
  fsaltn,
  fhnetn,
  fswthrun,
  fsurf,
  fcondtop,
  fcondbot,
  fswint,
  einit,
  efinal,
  mvap 
)

Here is the caller graph for this function:

subroutine ice_therm_vertical::init_thermo_vertical ( )
subroutine ice_therm_vertical::init_vertical_profile ( integer (kind=int_kind), intent(in)  ni,
integer (kind=int_kind), intent(in)  icells,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxi,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxj,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(out)  hin,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(out)  hlyr,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(out)  hsn,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(out)  hin_init,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(out)  hsn_init,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi,nilyr), intent(out)  qin,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi,nilyr), intent(out)  Tin,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(out)  qsn,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(out)  Tsn,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(out)  Tsf,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(inout)  einit 
)

Here is the caller graph for this function:

subroutine ice_therm_vertical::surface_fluxes ( integer (kind=int_kind), intent(in)  isolve,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxii,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxjj,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(in)  Tsf,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(in)  fswsfc,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  flwoutn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  fsensn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  flatn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  fsurf,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  dflwout_dT,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  dfsens_dT,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  dflat_dT,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  dfsurf_dT 
)

Here is the caller graph for this function:

subroutine ice_therm_vertical::temperature_changes ( integer (kind=int_kind), intent(in)  ni,
integer (kind=int_kind), intent(in)  icells,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxi,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxj,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  hlyr,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  hsn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi,nilyr), intent(inout)  qin,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi,nilyr), intent(inout)  Tin,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  qsn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  Tsn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  Tsf,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  Tbot,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  fbot,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  fsensn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  flatn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  fswabsn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  flwoutn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  fswthrun,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  fhnetn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  fsurf,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  fcondtop,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  fcondbot,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  fswint,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(in)  einit 
)

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine ice_therm_vertical::thermo_vertical ( )

Here is the call graph for this function:

subroutine ice_therm_vertical::thickness_changes ( integer (kind=int_kind), intent(in)  ni,
integer (kind=int_kind), intent(in)  icells,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxi,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxj,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(out)  hin,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  hlyr,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  hsn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi,nilyr), intent(inout)  qin,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  qsn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  mvap,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(in)  Tbot,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(in)  fbot,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(in)  flatn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  fhnetn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(in)  fsurf,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(in)  fcondtop,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(in)  fcondbot,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi), intent(inout)  efinal 
)

Here is the caller graph for this function:

subroutine ice_therm_vertical::tridiag_solver ( integer (kind=int_kind), intent(in)  isolve,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxii,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxjj,
integer (kind=int_kind), intent(in)  nmat,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi,nmat), intent(in)  sbdiag,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi,nmat), intent(in)  diag,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi,nmat), intent(in)  spdiag,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi,nmat), intent(in)  rhs,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi,nmat), intent(out)  xout 
)

Here is the caller graph for this function:

subroutine ice_therm_vertical::update_state_vthermo ( integer (kind=int_kind), intent(in)  ni,
integer (kind=int_kind), intent(in)  icells,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxi,
integer (kind=int_kind), dimension(1:(ihi-ilo+1)*(jhi-jlo+1)), intent(in)  indxj,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(in)  hin,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(in)  hsn,
real (kind=dbl_kind), dimension (ilo:ihi,jlo:jhi,nilyr), intent(in)  qin,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(in)  qsn,
real (kind=dbl_kind), dimension(ilo:ihi,jlo:jhi), intent(in)  Tsf 
)

Here is the caller graph for this function:

Variable Documentation

real (kind=dbl_kind), parameter ice_therm_vertical::ferrmax = 1.0e-3_dbl_kind
real (kind=dbl_kind), dimension (:,:,:), allocatable, save ice_therm_vertical::hicen_old
logical (kind=log_kind) ice_therm_vertical::l_brine
real (kind=dbl_kind), dimension (:,:), allocatable, save ice_therm_vertical::rside
real (kind=dbl_kind), dimension(nilyr+1) ice_therm_vertical::salin
character (char_len), private ice_therm_vertical::stoplabel
private
real (kind=dbl_kind), dimension(nilyr+1) ice_therm_vertical::tmlt
real (kind=dbl_kind) ice_therm_vertical::ustar_scale