SICOPOLIS V3.3
calving_underwater_ice_m.F90
Go to the documentation of this file.
1 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 !
3 ! Module : c a l v i n g _ u n d e r w a t e r _ i c e _ m
4 !
5 !> @file
6 !!
7 !! Calving of "underwater ice".
8 !!
9 !! @section Copyright
10 !!
11 !! Copyright 2009-2017 Ralf Greve, Thorben Dunse
12 !!
13 !! @section License
14 !!
15 !! This file is part of SICOPOLIS.
16 !!
17 !! SICOPOLIS is free software: you can redistribute it and/or modify
18 !! it under the terms of the GNU General Public License as published by
19 !! the Free Software Foundation, either version 3 of the License, or
20 !! (at your option) any later version.
21 !!
22 !! SICOPOLIS is distributed in the hope that it will be useful,
23 !! but WITHOUT ANY WARRANTY; without even the implied warranty of
24 !! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 !! GNU General Public License for more details.
26 !!
27 !! You should have received a copy of the GNU General Public License
28 !! along with SICOPOLIS. If not, see <http://www.gnu.org/licenses/>.
29 !<
30 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
31 
32 !-------------------------------------------------------------------------------
33 !> Calving of "underwater ice".
34 !<------------------------------------------------------------------------------
36 
37  use sico_types_m
39  use sico_vars_m
40 
41  implicit none
42 
43  real(dp), dimension(0:JMAX,0:IMAX) :: calv_uw_ice
44 
45  public
46 
47 contains
48 
49 !-------------------------------------------------------------------------------
50 !> Main routine: Calving of "underwater ice".
51 !<------------------------------------------------------------------------------
52  subroutine calving_underwater_ice(z_sl)
53 
54  implicit none
55 
56  real(dp), intent(in) :: z_sl
57 
58  real(dp) :: year_sec_inv
59  real(dp) :: rhosw_rho_ratio
60  real(dp) :: calv_uw_coeff, r1_calv_uw, r2_calv_uw
61  real(dp), dimension(0:JMAX,0:IMAX) :: H, H_sea
62 
63 !-------- Term abbreviations --------
64 
65  year_sec_inv = 1.0_dp/year_sec
66 
67  rhosw_rho_ratio = rho_sw/rho
68 
69 !-------- Setting of parameters --------
70 
71 #if (defined(CALV_UW_COEFF))
72  calv_uw_coeff = calv_uw_coeff * year_sec_inv
73 #else
74  stop ' >>> calving_underwater_ice: CALV_UW_COEFF undefined!'
75 #endif
76 
77 #if (defined(R1_CALV_UW))
78  r1_calv_uw = r1_calv_uw
79 #else
80  stop ' >>> calving_underwater_ice: R1_CALV_UW undefined!'
81 #endif
82 
83 #if (defined(R2_CALV_UW))
84  r2_calv_uw = r2_calv_uw
85 #else
86  stop ' >>> calving_underwater_ice: R2_CALV_UW undefined!'
87 #endif
88 
89 !-------- Ice thickness and sea depth --------
90 
91  h = max(h_c + h_t, 0.0_dp) ! ice thickness
92  h_sea = max(z_sl - zl, 0.0_dp) ! sea depth
93 
94 !-------- Calving of "underwater ice" --------
95 
96  where ( (maske == 0_i2b).and.(h < rhosw_rho_ratio*h_sea) )
97  calv_uw_ice = calv_uw_coeff * h**r1_calv_uw * h_sea**r2_calv_uw
98  elsewhere
99  calv_uw_ice = 0.0_dp
100  end where
101 
102  end subroutine calving_underwater_ice
103 
104 !-------------------------------------------------------------------------------
105 
106 end module calving_underwater_ice_m
107 !
integer(i2b), dimension(0:jmax, 0:imax) maske
maske(j,i): Ice-land-ocean mask. 0: grounded ice, 1: ice-free land, 2: ocean, 3: floating ice ...
real(dp), dimension(0:jmax, 0:imax) zl
zl(j,i): Coordinate z of the lithosphere surface
Declarations of global variables for SICOPOLIS (for the ANT domain).
Definition: sico_vars_m.F90:35
real(dp), dimension(0:jmax, 0:imax) calv_uw_ice
Calving of "underwater ice".
Declarations of kind types for SICOPOLIS.
real(dp), dimension(0:jmax, 0:imax) h_c
H_c(j,i): Thickness of ice in the upper (kc) domain (thickness of the cold-ice layer for POLY...
subroutine calving_underwater_ice(z_sl)
Main routine: Calving of "underwater ice".
real(dp) rho_sw
RHO_SW: Density of sea water.
real(dp) rho
RHO: Density of ice.
real(dp), dimension(0:jmax, 0:imax) h_t
H_t(j,i): Thickness of ice in the lower (kt) domain (thickness of the temperate layer for POLY...
Declarations of global variables for SICOPOLIS.