48 integer(i4b),
intent(in) :: n_switch
49 real(dp),
intent(in) :: dxi, deta
52 real(dp) :: dxi_inv, deta_inv
53 real(dp) :: zs_help(0:jmax,0:imax), zm_help(0:jmax,0:imax), &
54 zb_help(0:jmax,0:imax)
57 deta_inv = 1.0_dp/deta
61 if (n_switch == 1)
then
65 zs_help(j,i) = zs(j,i)
66 zm_help(j,i) = zm(j,i)
67 zb_help(j,i) = zb(j,i)
71 else if (n_switch == 2)
then
75 zs_help(j,i) = zs_neu(j,i)
76 zm_help(j,i) = zm_neu(j,i)
77 zb_help(j,i) = zb_neu(j,i)
82 stop
' topograd_1: Wrong value for n_switch!'
91 dzs_dxi(j,i) = (zs_help(j,i+1)-zs_help(j,i))*dxi_inv &
93 dzm_dxi(j,i) = (zm_help(j,i+1)-zm_help(j,i))*dxi_inv &
95 dzb_dxi(j,i) = (zb_help(j,i+1)-zb_help(j,i))*dxi_inv &
97 dh_c_dxi(j,i) = dzs_dxi(j,i)-dzm_dxi(j,i)
98 dh_t_dxi(j,i) = dzm_dxi(j,i)-dzb_dxi(j,i)
106 dzs_deta(j,i) = (zs_help(j+1,i)-zs_help(j,i))*deta_inv &
108 dzm_deta(j,i) = (zm_help(j+1,i)-zm_help(j,i))*deta_inv &
110 dzb_deta(j,i) = (zb_help(j+1,i)-zb_help(j,i))*deta_inv &
112 dh_c_deta(j,i) = dzs_deta(j,i)-dzm_deta(j,i)
113 dh_t_deta(j,i) = dzm_deta(j,i)-dzb_deta(j,i)
123 dzs_dxi_g(j,i) = (zs_help(j,i+1)-zs_help(j,i-1))*0.5_dp*dxi_inv &
125 dzm_dxi_g(j,i) = (zm_help(j,i+1)-zm_help(j,i-1))*0.5_dp*dxi_inv &
127 dzb_dxi_g(j,i) = (zb_help(j,i+1)-zb_help(j,i-1))*0.5_dp*dxi_inv &
129 dh_c_dxi_g(j,i) = dzs_dxi_g(j,i)-dzm_dxi_g(j,i)
130 dh_t_dxi_g(j,i) = dzm_dxi_g(j,i)-dzb_dxi_g(j,i)
135 dzs_dxi_g(j,0) = (zs_help(j,1)-zs_help(j,0))*dxi_inv &
137 dzm_dxi_g(j,0) = (zm_help(j,1)-zm_help(j,0))*dxi_inv &
139 dzb_dxi_g(j,0) = (zb_help(j,1)-zb_help(j,0))*dxi_inv &
141 dh_c_dxi_g(j,0) = dzs_dxi_g(j,0)-dzm_dxi_g(j,0)
142 dh_t_dxi_g(j,0) = dzm_dxi_g(j,0)-dzb_dxi_g(j,0)
143 dzs_dxi_g(j,imax) = (zs_help(j,imax)-zs_help(j,imax-1)) &
146 dzm_dxi_g(j,imax) = (zm_help(j,imax)-zm_help(j,imax-1)) &
149 dzb_dxi_g(j,imax) = (zb_help(j,imax)-zb_help(j,imax-1)) &
152 dh_c_dxi_g(j,imax) = dzs_dxi_g(j,imax)-dzm_dxi_g(j,imax)
153 dh_t_dxi_g(j,imax) = dzm_dxi_g(j,imax)-dzb_dxi_g(j,imax)
160 dzs_deta_g(j,i) = (zs_help(j+1,i)-zs_help(j-1,i)) &
163 dzm_deta_g(j,i) = (zm_help(j+1,i)-zm_help(j-1,i)) &
166 dzb_deta_g(j,i) = (zb_help(j+1,i)-zb_help(j-1,i)) &
169 dh_c_deta_g(j,i) = dzs_deta_g(j,i)-dzm_deta_g(j,i)
170 dh_t_deta_g(j,i) = dzm_deta_g(j,i)-dzb_deta_g(j,i)
175 dzs_deta_g(0,i) = (zs_help(1,i)-zs_help(0,i))*deta_inv &
177 dzm_deta_g(0,i) = (zm_help(1,i)-zm_help(0,i))*deta_inv &
179 dzb_deta_g(0,i) = (zb_help(1,i)-zb_help(0,i))*deta_inv &
181 dh_c_deta_g(0,i) = dzs_deta_g(0,i)-dzm_deta_g(0,i)
182 dh_t_deta_g(0,i) = dzm_deta_g(0,i)-dzb_deta_g(0,i)
183 dzs_deta_g(jmax,i) = (zs_help(jmax,i)-zs_help(jmax-1,i)) &
186 dzm_deta_g(jmax,i) = (zm_help(jmax,i)-zm_help(jmax-1,i)) &
189 dzb_deta_g(jmax,i) = (zb_help(jmax,i)-zb_help(jmax-1,i)) &
192 dh_c_deta_g(jmax,i) = dzs_deta_g(jmax,i)-dzm_deta_g(jmax,i)
193 dh_t_deta_g(jmax,i) = dzm_deta_g(jmax,i)-dzb_deta_g(jmax,i)