SAMSIM
|
Computes the fluxes caused by liquid flooding the snow layer. More...
Functions/Subroutines | |
subroutine, public | flood (freeboard, psi_s, psi_l, S_abs, H_abs, m, T, thick, dt, Nlayer, N_active, T_bottom, S_bu_bottom, H_abs_snow, m_snow, thick_snow, psi_g_snow, debug_flag, fl_brine_bgc) |
Subroutine for calculating flooding. More... | |
subroutine, public | flood_simple (freeboard, S_abs, H_abs, m, thick, T_bottom, S_bu_bottom, H_abs_snow, m_snow, thick_snow, psi_g_snow, Nlayer, N_active, debug_flag) |
Subroutine for calculating flooding. More... | |
Computes the fluxes caused by liquid flooding the snow layer.
Water floods the snow layer instantly transforming it to ice which is added to the top layer. As long as the negative freeboard is smaller then a certain parameter (neg_free) the flood strength is limited by the harmonic mean permeability of the whole ice layer driven by the freeboard. When this parameter is exceed, instant flooding is assumed. Based on Ted Maksyms work, brine is moved from the ocean to the snow without interacting with the ice in between. Very little of the process is well understood, so this parametrisation is ID mostly speculation. Ratio_flood is a very important parameter, as it regulates how much wicking into the snow layer occurs during melting which dilutes the flooded snow. Ratio of two should lead to the snow pack being reduced twice as much as the top layer grows.
COPYRIGHT
This file is part of SAMSIM.
SAMSIM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
SAMSIM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with SAMSIM. If not, see http://www.gnu.org/licenses/.
subroutine, public mo_flood::flood | ( | real(wp), intent(in) | freeboard, |
real(wp), dimension(nlayer), intent(in) | psi_s, | ||
real(wp), dimension(nlayer), intent(in) | psi_l, | ||
real(wp), dimension(nlayer), intent(inout) | S_abs, | ||
real(wp), dimension(nlayer), intent(inout) | H_abs, | ||
real(wp), dimension(nlayer), intent(inout) | m, | ||
real(wp), dimension(nlayer), intent(in) | T, | ||
real(wp), dimension(nlayer), intent(inout) | thick, | ||
real(wp), intent(in) | dt, | ||
integer, intent(in) | Nlayer, | ||
integer, intent(in) | N_active, | ||
real(wp), intent(in) | T_bottom, | ||
real(wp), intent(in) | S_bu_bottom, | ||
real(wp), intent(inout) | H_abs_snow, | ||
real(wp), intent(inout) | m_snow, | ||
real(wp), intent(inout) | thick_snow, | ||
real(wp), intent(in) | psi_g_snow, | ||
integer, intent(in) | debug_flag, | ||
real(wp), dimension(nlayer+1,nlayer+1), intent(inout), optional | fl_brine_bgc | ||
) |
Subroutine for calculating flooding.
Details explained in module description.
subroutine, public mo_flood::flood_simple | ( | real(wp), intent(in) | freeboard, |
real(wp), dimension(nlayer), intent(inout) | S_abs, | ||
real(wp), dimension(nlayer), intent(inout) | H_abs, | ||
real(wp), dimension(nlayer), intent(inout) | m, | ||
real(wp), dimension(nlayer), intent(inout) | thick, | ||
real(wp), intent(in) | T_bottom, | ||
real(wp), intent(in) | S_bu_bottom, | ||
real(wp), intent(inout) | H_abs_snow, | ||
real(wp), intent(inout) | m_snow, | ||
real(wp), intent(inout) | thick_snow, | ||
real(wp), intent(in) | psi_g_snow, | ||
integer, intent(in) | Nlayer, | ||
integer, intent(in) | N_active, | ||
integer, intent(in) | debug_flag | ||
) |
Subroutine for calculating flooding.
Simplified version of flood. Flooding occurs instantly to fill the negative freeboard until it reaches neg_free with underlying ocean water.