diff --git a/docs/climaocean.bib b/docs/climaocean.bib index 5fbe5b4d..0c60f862 100644 --- a/docs/climaocean.bib +++ b/docs/climaocean.bib @@ -21,7 +21,7 @@ @article{large2009global @article{nishizawa2018surface, author = {Nishizawa, S. and Kitamura, Y.}, - title = {A Surface Flux Scheme Based on the {Monin-Obukhov} Similarity for Finite Volume Models}, + title = {A Surface Flux Scheme Based on the {Monin--Obukhov} Similarity for Finite Volume Models}, journal = {Journal of Advances in Modeling Earth Systems}, volume = {10}, number = {12}, @@ -41,11 +41,11 @@ @article{stewart2020jra55 } @article{tsujino2018jra, - title={JRA-55 based surface dataset for driving ocean--sea-ice models (JRA55-do)}, - author={Tsujino, H and Urakawa, S and Nakano, H and Small, R J and Kim, W M and Yeager, S G and Danabasoglu, G and Suzuki, T and Bamber, J L and Bentsen, M and and B{\"o}ning, C and Bozec, A and Chassignet, E and Curchitser, E and Dias, F and Durack, P J and Griffies, S M and Harada, Y and Ilicak, M and Josey, S A and Kobayashi, C and Kobayashi, S and Komuro, Y and Large, W G and Sommer, J and Marsland, S J and Masina, S and Scheinert, M and Tomita, H and ValRdivieso, M and Yamazaki, D}, + title={JRA-55 based surface dataset for driving ocean--sea-ice models ({JRA55-do})}, + author={Tsujino, H and Urakawa, S and Nakano, H and Small, R J and Kim, W M and Yeager, S G and Danabasoglu, G and Suzuki, T and Bamber, J L and Bentsen, M and and B{\"o}ning, C and Bozec, A and Chassignet, E and Curchitser, E and Dias, F and Durack, P J and Griffies, S M and Harada, Y and Ilicak, M and Josey, S A and Kobayashi, C and Kobayashi, S and Komuro, Y and Large, W G and Sommer, J and Marsland, S J and Masina, S and Scheinert, M and Tomita, H and Valdivieso, M and Yamazaki, D}, journal={Ocean Modelling}, volume={130}, pages={79--139}, year={2018}, doi={10.1016/j.ocemod.2018.07.002} -} \ No newline at end of file +} diff --git a/docs/src/index.md b/docs/src/index.md index 8e6ccbc1..75e8fcb3 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -3,7 +3,7 @@ 🌎 Realistic ocean-only and coupled ocean + sea-ice simulations driven by prescribed atmospheres and based on [Oceananigans](https://github.com/CliMA/Oceananigans.jl) and [ClimaSeaIce](https://github.com/CliMA/ClimaSeaIce.jl). ClimaOcean implements a framework for coupling prescribed or prognostic representations of the ocean, sea ice, and atmosphere state. -Fluxes of heat, momentum, and freshwater are computed across the interfaces of its component models according to either Monin-Obukhov similarity theory, +Fluxes of heat, momentum, and freshwater are computed across the interfaces of its component models according to either Monin--Obukhov similarity theory, or coefficient-based "bulk formula". ClimaOcean builds off Oceananigans, which provides tools for gridded finite volume computations on CPUs and GPUs and building ocean-flavored fluid dynamics simulations. ClimaSeaIce, which provides software for both stand-alone and coupled sea ice simulations, is also built with Oceananigans. diff --git a/src/InitialConditions/InitialConditions.jl b/src/InitialConditions/InitialConditions.jl index 0fa36273..6a815f05 100644 --- a/src/InitialConditions/InitialConditions.jl +++ b/src/InitialConditions/InitialConditions.jl @@ -72,4 +72,3 @@ end include("diffuse_tracers.jl") end # module - diff --git a/src/OceanSeaIceModels/InterfaceComputations/roughness_lengths.jl b/src/OceanSeaIceModels/InterfaceComputations/roughness_lengths.jl index d7ce2eb6..62845744 100644 --- a/src/OceanSeaIceModels/InterfaceComputations/roughness_lengths.jl +++ b/src/OceanSeaIceModels/InterfaceComputations/roughness_lengths.jl @@ -180,14 +180,12 @@ struct ReynoldsScalingFunction{FT} end """ - ReynoldsScalingFunction(FT=Float64; A=5.85e-5, b=0.72) + ReynoldsScalingFunction(FT = Oceananigans.defaults.FloatType; A = 5.85e-5, b = 0.72) - -Empirical fit of the scalar roughness length with roughness Reynolds number `Rβ˜… = uβ˜… β„“u / Ξ½`. -Edson et al. (2013), equation (28). +Empirical fit of the scalar roughness length with roughness Reynolds number `R_β˜… = u_β˜… β„“u / Ξ½`. ```math - β„“s = A / Rβ˜… ^ b + β„“s = A / R_β˜… ^ b ``` See equation (28) by [edson2013exchange](@citet). diff --git a/src/OceanSeaIceModels/InterfaceComputations/similarity_theory_turbulent_fluxes.jl b/src/OceanSeaIceModels/InterfaceComputations/similarity_theory_turbulent_fluxes.jl index a9667b1b..8b8a6150 100644 --- a/src/OceanSeaIceModels/InterfaceComputations/similarity_theory_turbulent_fluxes.jl +++ b/src/OceanSeaIceModels/InterfaceComputations/similarity_theory_turbulent_fluxes.jl @@ -67,7 +67,7 @@ end solver_maxiter = 100) `SimilarityTheoryFluxes` contains parameters and settings to calculate -air-interface turbulent fluxes using Monin-Obukhov similarity theory. +air-interface turbulent fluxes using Monin--Obukhov similarity theory. Keyword Arguments ================== @@ -127,21 +127,21 @@ end """ LogarithmicSimilarityProfile() -Represent the classic Monin-Obukhov similarity profile, which finds that +Represent the classic Monin--Obukhov similarity profile, which finds that ```math -Ο•(z) = Ξ (z) Ο•β˜… / Ο° +Ο•(z) = Ξ (z) Ο•_β˜… / Ο° ``` -where ``Ο°`` is the Von Karman constant, ``Ο•β˜…`` is the characteristic scale for ``Ο•``, +where ``Ο°`` is the Von Karman constant, ``Ο•_β˜…`` is the characteristic scale for ``Ο•``, and ``Ξ `` is the "similarity profile", ```math -Ξ (h) = log(h / β„“) - ψ(h / L) + ψ(β„“ / L) +Ξ (h) = \\log(h / β„“) - ψ(h / L) + ψ(β„“ / L) ``` which is a logarithmic profile adjusted by the stability function ``ψ`` and dependent on -the Monin-Obukhov length ``L`` and the roughness length ``β„“``. +the Monin--Obukhov length ``L`` and the roughness length ``β„“``. """ struct LogarithmicSimilarityProfile end struct COARELogarithmicSimilarityProfile end @@ -189,7 +189,7 @@ function iterate_interface_fluxes(flux_formulation::SimilarityTheoryFluxes, # Compute surface thermodynamic state 𝒬ₛ = AtmosphericThermodynamics.PhaseEquil_pTq(ℂₐ, 𝒬ₐ.p, Tβ‚›, qβ‚›) - # Compute Monin-Obukhov length scale depending on a `buoyancy flux` + # Compute Monin--Obukhov length scale depending on a `buoyancy flux` bβ˜… = buoyancy_scale(ΞΈβ˜…, qβ˜…, ℂₐ, 𝒬ₛ, g) # Buoyancy flux characteristic scale for gustiness (Edson et al. 2013) @@ -231,30 +231,29 @@ end Return the characteristic buoyancy scale `bβ˜…` associated with the characteristic temperature `ΞΈβ˜…`, specific humidity scale `qβ˜…`, -surface thermodynamic state `𝒬`, thermodynamic -parameters `β„‚`, and gravitational acceleration `g`. +surface thermodynamic state `𝒬`, thermodynamic parameters `β„‚`, +and gravitational acceleration `g`. The buoyancy scale is defined in terms of the interface buoyancy flux, ```math -uβ˜… bβ˜… ≑ wβ€²bβ€², +u_β˜… b_β˜… ≑ w'b', ``` -where `uβ˜…` is the friction velocity. +where `u_β˜…` is the friction velocity. Using the definition of buoyancy for clear air without condensation, we find that ```math -bβ˜… = g / 𝒯ₛ * (ΞΈβ˜… * (1 + Ξ΄ * qₐ) + Ξ΄ * 𝒯ₛ * qβ˜…), +b_β˜… = (g / 𝒯ₛ) [ΞΈ_β˜… (1 + Ξ΄ qₐ) + Ξ΄ 𝒯ₛ q_β˜…] , ``` -where ``𝒯ₐ`` is the virtual temperature at the surface, -and ``Ξ΄ = Rα΅₯ / R_d - 1``, where ``Rα΅₯`` is the molar mass of water vapor and -``R_d`` is the molar mass of dry air. +where ``𝒯ₐ`` is the virtual temperature at the surface, and ``Ξ΄ = Rα΅₯ / R_d - 1``, +where ``Rα΅₯`` is the molar mass of water vapor and ``R_d`` is the molar mass of dry air. -Note that the Monin-Obukhov characteristic length scale is defined -in terms of `bβ˜…` and additionally the Von Karman constant `Ο°`, +Note that the Monin--Obukhov characteristic length scale is defined +in terms of ``b_β˜…`` and additionally the Von Karman constant ``Ο°``, ```math -Lβ˜… = - uβ˜…Β² / Ο° bβ˜… . +L_β˜… = - u_β˜…Β² / Ο° b_β˜… . ``` """ @inline function buoyancy_scale(ΞΈβ˜…, qβ˜…, β„‚, 𝒬, g)