7 !! Definition of the initial surface and bedrock topography
8 !! (including gradients) and of the horizontal grid spacings dxi, deta.
9 !! For present-day initial topography.
13 !! Copyright 2009-2013 Ralf Greve
17 !! This file is part of SICOPOLIS.
19 !! SICOPOLIS is free software: you can redistribute it and/or modify
20 !! it under the terms of the GNU General Public License as published by
21 !! the Free Software Foundation, either version 3 of the License, or
22 !! (at your option) any later version.
24 !! SICOPOLIS is distributed in the hope that it will be useful,
25 !! but WITHOUT ANY WARRANTY; without even the implied warranty of
26 !! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 !! GNU General Public License for more details.
29 !! You should have received a copy of the GNU General Public License
30 !! along with SICOPOLIS. If not, see <http://www.gnu.org/licenses/>.
32 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35 !> Definition of the initial surface and bedrock topography
36 !! (including gradients) and of the horizontal grid spacings dxi, deta.
37 !! For present-day initial topography.
38 !<------------------------------------------------------------------------------
45 integer(i4b) :: i, j, n
46 integer(i4b) :: ios, n_dummy
50 real(dp) :: h_ice, freeboard_ratio
55 open(21, iostat=ios, &
56 file=inpath//
'/ant/'//zs_present_file, &
57 recl=8192, status=
'old')
59 if (ios /= 0) stop
' topography1: Error when opening the zs file!'
61 open(25, iostat=ios, &
62 file=inpath//
'/ant/'//zb_present_file, &
63 recl=8192, status=
'old')
65 if (ios /= 0) stop
' topography1: Error when opening the zb file!'
67 open(22, iostat=ios, &
68 file=inpath//
'/ant/'//zl_present_file, &
69 recl=8192, status=
'old')
71 if (ios /= 0) stop
' topography1: Error when opening the zl file!'
73 open(23, iostat=ios, &
74 file=inpath//
'/ant/'//zl0_file, &
75 recl=8192, status=
'old')
77 if (ios /= 0) stop
' topography1: Error when opening the zl0 file!'
79 open(24, iostat=ios, &
80 file=inpath//
'/ant/'//mask_present_file, &
81 recl=1024, status=
'old')
83 if (ios /= 0) stop
' topography1: Error when opening the mask file!'
85 do n=1, 6;
read(21,
'(a)') ch_dummy;
end do
86 do n=1, 6;
read(25,
'(a)') ch_dummy;
end do
87 do n=1, 6;
read(22,
'(a)') ch_dummy;
end do
88 do n=1, 6;
read(23,
'(a)') ch_dummy;
end do
89 do n=1, 6;
read(24,
'(a)') ch_dummy;
end do
92 read(21,*) (zs(j,i), i=0,imax)
93 read(25,*) (zb(j,i), i=0,imax)
94 read(22,*) (zl(j,i), i=0,imax)
95 read(23,*) (zl0(j,i), i=0,imax)
96 read(24,2300) (maske(j,i), i=0,imax)
99 close(21, status=
'keep')
100 close(25, status=
'keep')
101 close(22, status=
'keep')
102 close(23, status=
'keep')
103 close(24, status=
'keep')
105 2300 format(imax(i1),i1)
115 freeboard_ratio = (rho_sw-rho)/rho_sw
120 if (maske(j,i) <= 1 )
then
124 else if (maske(j,i) == 2 )
then
126 #if ( MARGIN==1 || MARGIN==2 )
134 else if (maske(j,i) == 3 )
then
136 #if ( MARGIN==1 || ( MARGIN==2 && MARINE_ICE_FORMATION==1 ) )
140 #elif ( MARGIN==2 && MARINE_ICE_FORMATION==2 )
142 h_ice = zs(j,i)-zb(j,i)
143 zs(j,i) = zl(j,i)+h_ice
146 h_ice = zs(j,i)-zb(j,i)
147 zs(j,i) = freeboard_ratio*h_ice
148 zb(j,i) = zs(j,i)-h_ice
153 xi(i) = xi0 +
real(i,dp)*dxi
154 eta(j) = eta0 +
real(j,dp)*deta
156 call
geo_coord(phi(j,i), lambda(j,i), xi(i), eta(j))
161 h_c(j,i) = zs(j,i)-zm(j,i)
164 dzs_dtau(j,i) = 0.0_dp
165 dzm_dtau(j,i) = 0.0_dp
166 dzb_dtau(j,i) = 0.0_dp
167 dzl_dtau(j,i) = 0.0_dp
168 dh_c_dtau(j,i) = 0.0_dp
169 dh_t_dtau(j,i) = 0.0_dp
190 area(j,i) = sq_g11_g(j,i)*sq_g22_g(j,i)*dxi*deta