49 integer(i4b),
intent(in) :: n_switch
50 real(dp),
intent(in) :: dxi, deta
53 real(dp) :: dxi_inv, deta_inv
54 real(dp) :: zs_help(0:jmax,0:imax), zm_help(0:jmax,0:imax), &
55 zb_help(0:jmax,0:imax)
58 deta_inv = 1.0_dp/deta
62 if (n_switch == 1)
then
66 zs_help(j,i) = zs(j,i)
67 zm_help(j,i) = zm(j,i)
68 zb_help(j,i) = zb(j,i)
72 else if (n_switch == 2)
then
76 zs_help(j,i) = zs_neu(j,i)
77 zm_help(j,i) = zm_neu(j,i)
78 zb_help(j,i) = zb_neu(j,i)
83 stop
' topograd_1: Wrong value for n_switch!'
92 dzs_dxi(j,i) = (zs_help(j,i+1)-zs_help(j,i))*dxi_inv &
94 dzm_dxi(j,i) = (zm_help(j,i+1)-zm_help(j,i))*dxi_inv &
96 dzb_dxi(j,i) = (zb_help(j,i+1)-zb_help(j,i))*dxi_inv &
98 dh_c_dxi(j,i) = dzs_dxi(j,i)-dzm_dxi(j,i)
99 dh_t_dxi(j,i) = dzm_dxi(j,i)-dzb_dxi(j,i)
107 dzs_deta(j,i) = (zs_help(j+1,i)-zs_help(j,i))*deta_inv &
109 dzm_deta(j,i) = (zm_help(j+1,i)-zm_help(j,i))*deta_inv &
111 dzb_deta(j,i) = (zb_help(j+1,i)-zb_help(j,i))*deta_inv &
113 dh_c_deta(j,i) = dzs_deta(j,i)-dzm_deta(j,i)
114 dh_t_deta(j,i) = dzm_deta(j,i)-dzb_deta(j,i)
124 dzs_dxi_g(j,i) = (zs_help(j,i+1)-zs_help(j,i-1))*0.5_dp*dxi_inv &
126 dzm_dxi_g(j,i) = (zm_help(j,i+1)-zm_help(j,i-1))*0.5_dp*dxi_inv &
128 dzb_dxi_g(j,i) = (zb_help(j,i+1)-zb_help(j,i-1))*0.5_dp*dxi_inv &
130 dh_c_dxi_g(j,i) = dzs_dxi_g(j,i)-dzm_dxi_g(j,i)
131 dh_t_dxi_g(j,i) = dzm_dxi_g(j,i)-dzb_dxi_g(j,i)
136 dzs_dxi_g(j,0) = (zs_help(j,1)-zs_help(j,0))*dxi_inv &
138 dzm_dxi_g(j,0) = (zm_help(j,1)-zm_help(j,0))*dxi_inv &
140 dzb_dxi_g(j,0) = (zb_help(j,1)-zb_help(j,0))*dxi_inv &
142 dh_c_dxi_g(j,0) = dzs_dxi_g(j,0)-dzm_dxi_g(j,0)
143 dh_t_dxi_g(j,0) = dzm_dxi_g(j,0)-dzb_dxi_g(j,0)
144 dzs_dxi_g(j,imax) = (zs_help(j,imax)-zs_help(j,imax-1)) &
147 dzm_dxi_g(j,imax) = (zm_help(j,imax)-zm_help(j,imax-1)) &
150 dzb_dxi_g(j,imax) = (zb_help(j,imax)-zb_help(j,imax-1)) &
153 dh_c_dxi_g(j,imax) = dzs_dxi_g(j,imax)-dzm_dxi_g(j,imax)
154 dh_t_dxi_g(j,imax) = dzm_dxi_g(j,imax)-dzb_dxi_g(j,imax)
161 dzs_deta_g(j,i) = (zs_help(j+1,i)-zs_help(j-1,i)) &
164 dzm_deta_g(j,i) = (zm_help(j+1,i)-zm_help(j-1,i)) &
167 dzb_deta_g(j,i) = (zb_help(j+1,i)-zb_help(j-1,i)) &
170 dh_c_deta_g(j,i) = dzs_deta_g(j,i)-dzm_deta_g(j,i)
171 dh_t_deta_g(j,i) = dzm_deta_g(j,i)-dzb_deta_g(j,i)
176 dzs_deta_g(0,i) = (zs_help(1,i)-zs_help(0,i))*deta_inv &
178 dzm_deta_g(0,i) = (zm_help(1,i)-zm_help(0,i))*deta_inv &
180 dzb_deta_g(0,i) = (zb_help(1,i)-zb_help(0,i))*deta_inv &
182 dh_c_deta_g(0,i) = dzs_deta_g(0,i)-dzm_deta_g(0,i)
183 dh_t_deta_g(0,i) = dzm_deta_g(0,i)-dzb_deta_g(0,i)
184 dzs_deta_g(jmax,i) = (zs_help(jmax,i)-zs_help(jmax-1,i)) &
187 dzm_deta_g(jmax,i) = (zm_help(jmax,i)-zm_help(jmax-1,i)) &
190 dzb_deta_g(jmax,i) = (zb_help(jmax,i)-zb_help(jmax-1,i)) &
193 dh_c_deta_g(jmax,i) = dzs_deta_g(jmax,i)-dzm_deta_g(jmax,i)
194 dh_t_deta_g(jmax,i) = dzm_deta_g(jmax,i)-dzb_deta_g(jmax,i)
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).
Declarations of global variables for SICOPOLIS.