diff --git a/src/surface_heating.jl b/src/surface_heating.jl index d58ea32..86e8d59 100644 --- a/src/surface_heating.jl +++ b/src/surface_heating.jl @@ -119,10 +119,10 @@ julia> using Walrus julia> using Oceananigans julia> wind_stress = WindStress(; reference_wind_speed = 0., reference_wind_direction = 90.) -(::WindStress{Walrus.ReturnValue{Float64}, Walrus.ReturnValue{Float64}, LogarithmicNeutralWind{Float64, Nothing}, Float64}) (generic function with 2 methods) +(::WindStress{Float64, Float64, LogarithmicNeutralWind{Float64, Nothing}, Float64}) (generic function with 2 methods) julia> surface_heat_exchange = SurfaceHeatExchange(; wind_stress) -(::SurfaceHeatExchange{WindStress{Walrus.ReturnValue{Float64}, Walrus.ReturnValue{Float64}, LogarithmicNeutralWind{Float64, Nothing}, Float64}, Walrus.ReturnValue{Int64}, Walrus.SurfaceHeatingModel.EmpiricalLatentHeatVaporisation{Float64}, Walrus.SurfaceHeatingModel.AugustRocheMagnusVapourPressure{Float64}, Float64}) (generic function with 1 method) +(::SurfaceHeatExchange{WindStress{Float64, Float64, LogarithmicNeutralWind{Float64, Nothing}, Float64}, Int64, Walrus.SurfaceHeatingModel.EmpiricalLatentHeatVaporisation{Float64}, Walrus.SurfaceHeatingModel.AugustRocheMagnusVapourPressure{Float64}, Float64}) (generic function with 1 method) julia> boundary_conditions = (; T = FieldBoundaryConditions(top = FluxBoundaryCondition(surface_heat_exchange, field_dependencies = (:T, :u, :v)))) (T = Oceananigans.FieldBoundaryConditions, with boundary conditions @@ -131,7 +131,7 @@ julia> boundary_conditions = (; T = FieldBoundaryConditions(top = FluxBoundaryCo ├── south: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) ├── north: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) ├── bottom: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) -├── top: FluxBoundaryCondition: ContinuousBoundaryFunction (::SurfaceHeatExchange{WindStress{Walrus.ReturnValue{Float64}, Walrus.ReturnValue{Float64}, LogarithmicNeutralWind{Float64, Nothing}, Float64}, Walrus.ReturnValue{Int64}, Walrus.SurfaceHeatingModel.EmpiricalLatentHeatVaporisation{Float64}, Walrus.SurfaceHeatingModel.AugustRocheMagnusVapourPressure{Float64}, Float64}) at (Nothing, Nothing, Nothing) +├── top: FluxBoundaryCondition: ContinuousBoundaryFunction (::SurfaceHeatExchange{WindStress{Float64, Float64, LogarithmicNeutralWind{Float64, Nothing}, Float64}, Int64, Walrus.SurfaceHeatingModel.EmpiricalLatentHeatVaporisation{Float64}, Walrus.SurfaceHeatingModel.AugustRocheMagnusVapourPressure{Float64}, Float64}) at (Nothing, Nothing, Nothing) └── immersed: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing),) ``` @@ -190,10 +190,10 @@ Example julia> using Walrus julia> wind_stress = WindStress(; reference_wind_speed = 0., reference_wind_direction = 90.) -(::WindStress{Walrus.ReturnValue{Float64}, Walrus.ReturnValue{Float64}, LogarithmicNeutralWind{Float64, Nothing}, Float64}) (generic function with 2 methods) +(::WindStress{Float64, Float64, LogarithmicNeutralWind{Float64, Nothing}, Float64}) (generic function with 2 methods) julia> surface_heat_exchange = SurfaceHeatExchangeBoundaryCondition(; wind_stress) -FluxBoundaryCondition: ContinuousBoundaryFunction (::SurfaceHeatExchange{WindStress{Walrus.ReturnValue{Float64}, Walrus.ReturnValue{Float64}, LogarithmicNeutralWind{Float64, Nothing}, Float64}, Walrus.ReturnValue{Int64}, Walrus.SurfaceHeatingModel.EmpiricalLatentHeatVaporisation{Float64}, Walrus.SurfaceHeatingModel.AugustRocheMagnusVapourPressure{Float64}, Float64}) at (Nothing, Nothing, Nothing) +FluxBoundaryCondition: DiscreteBoundaryFunction with (::SurfaceHeatExchange{WindStress{Float64, Float64, LogarithmicNeutralWind{Float64, Nothing}, Float64}, Int64, Walrus.SurfaceHeatingModel.EmpiricalLatentHeatVaporisation{Float64}, Walrus.SurfaceHeatingModel.AugustRocheMagnusVapourPressure{Float64}, Float64}) ``` """ diff --git a/src/wind_stress.jl b/src/wind_stress.jl index fb534cd..f440d8c 100644 --- a/src/wind_stress.jl +++ b/src/wind_stress.jl @@ -74,7 +74,7 @@ julia> reference_wind_direction = 0. 0.0 julia> wind_stress = WindStress(; reference_wind_speed, reference_wind_direction) -(::WindStress{Walrus.ReturnValue{Float64}, Walrus.ReturnValue{Float64}, LogarithmicNeutralWind{Float64, Nothing}, Float64}) (generic function with 2 methods) +(::WindStress{Float64, Float64, LogarithmicNeutralWind{Float64, Nothing}, Float64}) (generic function with 2 methods) julia> boundary_conditions = (u = FieldBoundaryConditions(top = FluxBoundaryCondition(wind_stress, parameters = Val(:x))), v = FieldBoundaryConditions(top = FluxBoundaryCondition(wind_stress, parameters = Val(:y)))) @@ -84,14 +84,14 @@ julia> boundary_conditions = (u = FieldBoundaryConditions(top = FluxBoundaryCond ├── south: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) ├── north: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) ├── bottom: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) -├── top: FluxBoundaryCondition: ContinuousBoundaryFunction (::WindStress{Walrus.ReturnValue{Float64}, Walrus.ReturnValue{Float64}, LogarithmicNeutralWind{Float64, Nothing}, Float64}) at (Nothing, Nothing, Nothing) +├── top: FluxBoundaryCondition: ContinuousBoundaryFunction (::WindStress{Float64, Float64, LogarithmicNeutralWind{Float64, Nothing}, Float64}) at (Nothing, Nothing, Nothing) └── immersed: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing), v = Oceananigans.FieldBoundaryConditions, with boundary conditions ├── west: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) ├── east: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) ├── south: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) ├── north: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) ├── bottom: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) -├── top: FluxBoundaryCondition: ContinuousBoundaryFunction (::WindStress{Walrus.ReturnValue{Float64}, Walrus.ReturnValue{Float64}, LogarithmicNeutralWind{Float64, Nothing}, Float64}) at (Nothing, Nothing, Nothing) +├── top: FluxBoundaryCondition: ContinuousBoundaryFunction (::WindStress{Float64, Float64, LogarithmicNeutralWind{Float64, Nothing}, Float64}) at (Nothing, Nothing, Nothing) └── immersed: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing)) ``` @@ -137,7 +137,7 @@ julia> using Walrus: WindStressBoundaryConditions julia> using Oceananigans julia> wind_stress_boundary_conditions = WindStressBoundaryConditions(; reference_wind_speed = 0.1, reference_wind_direction = 90.) -(u = FluxBoundaryCondition: ContinuousBoundaryFunction (::WindStress{Walrus.ReturnValue{Float64}, Walrus.ReturnValue{Float64}, LogarithmicNeutralWind{Float64, Nothing}, Float64}) at (Nothing, Nothing, Nothing), v = FluxBoundaryCondition: ContinuousBoundaryFunction (::WindStress{Walrus.ReturnValue{Float64}, Walrus.ReturnValue{Float64}, LogarithmicNeutralWind{Float64, Nothing}, Float64}) at (Nothing, Nothing, Nothing)) +(u = FluxBoundaryCondition: DiscreteBoundaryFunction (::WindStress{Float64, Float64, LogarithmicNeutralWind{Float64, Nothing}, Float64}) with parameters Val{:x}, v = FluxBoundaryCondition: DiscreteBoundaryFunction (::WindStress{Float64, Float64, LogarithmicNeutralWind{Float64, Nothing}, Float64}) with parameters Val{:y}) julia> boundary_conditions = (u = FieldBoundaryConditions(top = wind_stress_boundary_conditions.u), v = FieldBoundaryConditions(top = wind_stress_boundary_conditions.v)) @@ -147,14 +147,14 @@ julia> boundary_conditions = (u = FieldBoundaryConditions(top = wind_stress_boun ├── south: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) ├── north: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) ├── bottom: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) -├── top: FluxBoundaryCondition: ContinuousBoundaryFunction (::WindStress{Walrus.ReturnValue{Float64}, Walrus.ReturnValue{Float64}, LogarithmicNeutralWind{Float64, Nothing}, Float64}) at (Nothing, Nothing, Nothing) +├── top: FluxBoundaryCondition: DiscreteBoundaryFunction (::WindStress{Float64, Float64, LogarithmicNeutralWind{Float64, Nothing}, Float64}) with parameters Val{:x} └── immersed: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing), v = Oceananigans.FieldBoundaryConditions, with boundary conditions ├── west: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) ├── east: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) ├── south: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) ├── north: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) ├── bottom: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing) -├── top: FluxBoundaryCondition: ContinuousBoundaryFunction (::WindStress{Walrus.ReturnValue{Float64}, Walrus.ReturnValue{Float64}, LogarithmicNeutralWind{Float64, Nothing}, Float64}) at (Nothing, Nothing, Nothing) +├── top: FluxBoundaryCondition: DiscreteBoundaryFunction (::WindStress{Float64, Float64, LogarithmicNeutralWind{Float64, Nothing}, Float64}) with parameters Val{:y} └── immersed: DefaultBoundaryCondition (FluxBoundaryCondition: Nothing)) ```