@@ -222,43 +222,23 @@ Extracts the `g³ʰ` sub-tensor from the `gⁱʲ` tensor.
222222"""
223223function g³ʰ (gⁱʲ)
224224 full_CT_axis = axes (gⁱʲ)[1 ]
225- CTh_axis = if full_CT_axis == Geometry. Contravariant123Axis ()
226- Geometry. Contravariant12Axis ()
225+ N = length (full_CT_axis)
226+ g³ʰ_components_view = view (Geometry. components (gⁱʲ), N: N, 1 : (N - 1 ))
227+ g³ʰ_components = if full_CT_axis == Geometry. Contravariant123Axis ()
228+ g³ʰ_components_view
227229 elseif full_CT_axis == Geometry. Contravariant13Axis ()
228- Geometry . Contravariant1Axis ( )
230+ vcat (g³ʰ_components_view, 0 )
229231 elseif full_CT_axis == Geometry. Contravariant23Axis ()
230- Geometry . Contravariant2Axis ( )
232+ vcat ( 0 , g³ʰ_components_view )
231233 else
232234 error (" $full_CT_axis is missing either vertical or horizontal sub-axes" )
233235 end
234- N = length (full_CT_axis)
235236 return Geometry. AxisTensor (
236- (Geometry. Contravariant3Axis (), CTh_axis ),
237- view (Geometry . components (gⁱʲ), N : N, 1 : (N - 1 )) ,
237+ (Geometry. Contravariant3Axis (), Geometry . Contravariant12Axis () ),
238+ g³ʰ_components ,
238239 )
239240end
240241
241- """
242- CTh_vector_type(space)
243-
244- Extracts the (abstract) horizontal contravariant vector type from the given
245- `AbstractSpace`.
246- """
247- function CTh_vector_type (space)
248- full_CT_axis = axes (eltype (Fields. local_geometry_field (space). gⁱʲ))[1 ]
249- return if full_CT_axis == Geometry. Contravariant123Axis ()
250- Geometry. Contravariant12Vector
251- elseif full_CT_axis == Geometry. Contravariant13Axis ()
252- Geometry. Contravariant1Vector
253- elseif full_CT_axis == Geometry. Contravariant23Axis ()
254- Geometry. Contravariant2Vector
255- elseif full_CT_axis == Geometry. Contravariant3Axis ()
256- Geometry. ContravariantNullVector
257- else
258- error (" $full_CT_axis is missing either vertical or horizontal sub-axes" )
259- end
260- end
261-
262242has_topography (space:: Spaces.FiniteDifferenceSpace ) = false
263243has_topography (space) = Spaces. grid (space). hypsography != Spaces. Grids. Flat ()
264244
0 commit comments