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
54 open(21, iostat=ios, &
55 file=inpath//
'/smars/'//zs_present_file, &
56 recl=8192, status=
'old')
58 if (ios.ne.0) stop
' topography1: Error when opening the zs file!'
60 open(22, iostat=ios, &
61 file=inpath//
'/smars/'//zl_present_file, &
62 recl=8192, status=
'old')
64 if (ios.ne.0) stop
' topography1: Error when opening the zl file!'
66 open(23, iostat=ios, &
67 file=inpath//
'/smars/'//zl0_file, &
68 recl=8192, status=
'old')
70 if (ios.ne.0) stop
' topography1: Error when opening the zl0 file!'
72 open(24, iostat=ios, &
73 file=inpath//
'/smars/'//mask_present_file, &
74 recl=1024, status=
'old')
76 if (ios.ne.0) stop
' topography1: Error when opening the mask file!'
78 do n=1, 6;
read(21,
'(a)') ch_dummy;
end do
79 do n=1, 6;
read(22,
'(a)') ch_dummy;
end do
80 do n=1, 6;
read(23,
'(a)') ch_dummy;
end do
81 do n=1, 6;
read(24,
'(a)') ch_dummy;
end do
84 read(21,*) (zs(j,i), i=0,imax)
85 read(22,*) (zl(j,i), i=0,imax)
86 read(23,*) (zl0(j,i), i=0,imax)
87 read(24,2300) (maske(j,i), i=0,imax)
90 close(21, status=
'keep')
91 close(22, status=
'keep')
92 close(23, status=
'keep')
93 close(24, status=
'keep')
95 2300 format(imax(i1),i1)
108 if (maske(j,i) <= 1 )
then
111 stop
' topography1: maske(j,i)>=2 not allowed for initial topography!'
114 zs(j,i) = zs(j,i) *1000.0_dp
115 zb(j,i) = zb(j,i) *1000.0_dp
116 zl(j,i) = zl(j,i) *1000.0_dp
117 zl0(j,i) = zl0(j,i)*1000.0_dp
119 xi(i) = xi0 +
real(i,dp)*dxi
120 eta(j) = eta0 +
real(j,dp)*deta
122 call
geo_coord(phi(j,i), lambda(j,i), xi(i), eta(j))
127 h_c(j,i) = zs(j,i)-zm(j,i)
130 dzs_dtau(j,i) = 0.0_dp
131 dzm_dtau(j,i) = 0.0_dp
132 dzb_dtau(j,i) = 0.0_dp
133 dzl_dtau(j,i) = 0.0_dp
134 dh_c_dtau(j,i) = 0.0_dp
135 dh_t_dtau(j,i) = 0.0_dp
154 area(j,i) = sq_g11_g(j,i)*sq_g22_g(j,i)*dxi*deta