47 real(dp),
intent(out) :: dxi, deta
49 integer(i4b) :: i, j, n
50 integer(i4b) :: ios, n_dummy
55 character(len= 8) :: ch_imax
56 character(len=128) :: fmt4
58 write(ch_imax, fmt=
'(i8)') imax
59 write(fmt4, fmt=
'(a)')
'('//trim(adjustl(ch_imax))//
'(i1),i1)'
63 open(21, iostat=ios, &
64 file=inpath//
'/'//trim(ch_domain_short)//
'/'//zs_present_file, &
65 recl=8192, status=
'old')
67 if (ios.ne.0) stop
' topography1: Error when opening the zs file!'
69 open(22, iostat=ios, &
70 file=inpath//
'/'//trim(ch_domain_short)//
'/'//zl_present_file, &
71 recl=8192, status=
'old')
73 if (ios.ne.0) stop
' topography1: Error when opening the zl file!'
75 open(23, iostat=ios, &
76 file=inpath//
'/'//trim(ch_domain_short)//
'/'//zl0_file, &
77 recl=8192, status=
'old')
79 if (ios.ne.0) stop
' topography1: Error when opening the zl0 file!'
81 open(24, iostat=ios, &
82 file=inpath//
'/'//trim(ch_domain_short)//
'/'//mask_present_file, &
83 recl=1024, status=
'old')
85 if (ios.ne.0) stop
' topography1: Error when opening the mask file!'
87 do n=1, 6;
read(21, fmt=
'(a)') ch_dummy;
end do
88 do n=1, 6;
read(22, fmt=
'(a)') ch_dummy;
end do
89 do n=1, 6;
read(23, fmt=
'(a)') ch_dummy;
end do
90 do n=1, 6;
read(24, fmt=
'(a)') ch_dummy;
end do
93 read(21, fmt=*) (zs(j,i), i=0,imax)
94 read(22, fmt=*) (zl(j,i), i=0,imax)
95 read(23, fmt=*) (zl0(j,i), i=0,imax)
96 read(24, fmt=trim(fmt4)) (maske(j,i), i=0,imax)
99 close(21, status=
'keep')
100 close(22, status=
'keep')
101 close(23, status=
'keep')
102 close(24, status=
'keep')
115 if (maske(j,i) <= 1 )
then
118 stop
' topography1: maske(j,i)>=2 not allowed for initial topography!'
121 zs(j,i) = zs(j,i) *1000.0_dp
122 zb(j,i) = zb(j,i) *1000.0_dp
123 zl(j,i) = zl(j,i) *1000.0_dp
124 zl0(j,i) = zl0(j,i)*1000.0_dp
126 xi(i) = xi0 +
real(i,dp)*dxi
127 eta(j) = eta0 +
real(j,dp)*deta
129 call
geo_coord(phi(j,i), lambda(j,i), xi(i), eta(j))
135 h_c(j,i) = zs(j,i)-zm(j,i)
138 dzs_dtau(j,i) = 0.0_dp
139 dzm_dtau(j,i) = 0.0_dp
140 dzb_dtau(j,i) = 0.0_dp
141 dzl_dtau(j,i) = 0.0_dp
142 dh_c_dtau(j,i) = 0.0_dp
143 dh_t_dtau(j,i) = 0.0_dp
162 area(j,i) = sq_g11_g(j,i)*sq_g22_g(j,i)*dxi*deta
subroutine topograd_2(dxi, deta, n_switch)
Calculation of topography gradients on the staggered grid and on the grid points (the latter by fourt...
subroutine topography1(dxi, deta)
Definition of the initial surface and bedrock topography (including gradients) and of the horizontal ...
Declarations of kind types for SICOPOLIS.
subroutine topograd_1(dxi, deta, n_switch)
Calculation of topography gradients on the staggered grid and on the grid points (the latter by secon...
Declarations of global variables for SICOPOLIS (for the ANT domain).
subroutine geo_coord(phi_val, lambda_val, x_val, y_val)
Computation of longitude lambda and latitude phi for position (x,y) in the numerical domain...
subroutine metric()
Definition of the components g11 and g22 of the metric tensor of the applied coordinates.
Declarations of global variables for SICOPOLIS.