diff --git a/Project.toml b/Project.toml index ebeb90ebde..08d99934dc 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "ClimaCore" uuid = "d414da3d-4745-48bb-8d80-42e94e092884" authors = ["CliMA Contributors "] -version = "0.10.44" +version = "0.10.45" [deps] Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" diff --git a/src/Geometry/conversions.jl b/src/Geometry/conversions.jl index f51285f475..c83672b194 100644 --- a/src/Geometry/conversions.jl +++ b/src/Geometry/conversions.jl @@ -7,7 +7,7 @@ ContravariantVector(u::ContravariantVector, ::LocalGeometry) = u CovariantVector(u::CovariantVector, ::LocalGeometry) = u LocalVector(u::LocalVector, ::LocalGeometry) = u - +# conversions between Covariant/Contravariant vectors and local vectors ContravariantVector( u::LocalVector{T, I}, local_geometry::LocalGeometry{I}, @@ -37,6 +37,16 @@ Contravariant123Vector( ) where {T} = local_geometry.gⁱʲ * Covariant123Vector(zero(u[1]), zero(u[1]), u[1]) +ContravariantVector( + u::CovariantVector{T, I}, + local_geometry::LocalGeometry{I}, +) where {T, I} = local_geometry.gⁱʲ * u + +CovariantVector( + u::ContravariantVector{T, I}, + local_geometry::LocalGeometry{I}, +) where {T, I} = local_geometry.gᵢⱼ * u + # Converting to specific dimension types (::Type{<:ContravariantVector{<:Any, I}})( u::ContravariantVector{<:Any, I}, diff --git a/test/MatrixFields/matrix_field_broadcasting.jl b/test/MatrixFields/matrix_field_broadcasting.jl index 8f68b0a600..5b0d4aee5e 100644 --- a/test/MatrixFields/matrix_field_broadcasting.jl +++ b/test/MatrixFields/matrix_field_broadcasting.jl @@ -239,7 +239,7 @@ end set_result! = (result, ᶠᶠmat, ᶠvec) -> (@. result = ᶠᶠmat ⋅ ᶠvec), ref_set_result! = (_result, _ᶠᶠmat, _ᶠvec) -> mul!(_result, _ᶠᶠmat, _ᶠvec), - time_ratio_limit = 2, # This case's ref function is fast on Buildkite. + time_ratio_limit = 4, # This case's ref function is fast on Buildkite. ) test_matrix_broadcast_against_array_reference(;