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 |
|
private |
real (kind=dbl_kind), dimension(nilyr+1) ice_therm_vertical::tmlt |
real (kind=dbl_kind) ice_therm_vertical::ustar_scale |