diff --git a/src/dynamics/vertical_coordinates.jl b/src/dynamics/vertical_coordinates.jl index f38e2ae06..b87a10810 100644 --- a/src/dynamics/vertical_coordinates.jl +++ b/src/dynamics/vertical_coordinates.jl @@ -13,6 +13,18 @@ end # obtain nlev from length of predefined σ_half levels SigmaCoordinates(σ_half::AbstractVector) = SigmaCoordinates(nlev=length(σ_half)-1;σ_half) +function Base.show(io::IO,σ::SigmaCoordinates) + println("$(σ.nlev)-level SigmaCoordinates:") + nchars = length(string(σ.nlev)) + format = Printf.Format("%$(nchars)d") + for k=1:σ.nlev + println(" k=",Printf.format(format,k-1),".5 -- $(Float16(σ.σ_half[k]))") + σk = (σ.σ_half[k] + σ.σ_half[k+1])/2 + println(" k=",Printf.format(format,k)," × $(Float16(σk))") + end + print(" k=",Printf.format(format,σ.nlev),".5 -- $(Float16(σ.σ_half[end]))") +end + """Coefficients of the generalised logistic function to describe the vertical coordinate. Default coefficients A,K,C,Q,B,M,ν are fitted to the old L31 configuration at ECMWF.