@@ -5,17 +5,19 @@ import ClimaComms
55import ClimaCore: Spaces, Topologies, Fields, Geometry
66import LinearAlgebra: norm_sqr
77
8- is_energy_var (symbol ) = symbol in (: ρe_tot, : ρae_tot )
9- is_momentum_var (symbol ) = symbol in (:uₕ , : ρuₕ, :u₃ , :ρw )
10- is_turbconv_var (symbol ) = symbol in (: turbconv, : sgsʲs, : sgs⁰ )
11- is_tracer_var (symbol ) = ! (
12- symbol == :ρ ||
13- symbol == :ρa ||
14- is_energy_var (symbol ) ||
15- is_momentum_var (symbol ) ||
16- is_turbconv_var (symbol )
8+ is_energy_var (name ) = name in (@name ( ρe_tot), @name ( ρae_tot) )
9+ is_momentum_var (name ) = name in (@name (uₕ), @name ( ρuₕ), @name (u₃), @name (ρw) )
10+ is_turbconv_var (name ) = name in (@name ( turbconv), @name ( sgsʲs), @name ( sgs⁰) )
11+ is_tracer_var (name ) = ! (
12+ name == @name (ρ) ||
13+ name == @name (ρa) ||
14+ is_energy_var (name ) ||
15+ is_momentum_var (name ) ||
16+ is_turbconv_var (name )
1717)
1818
19+ is_tracer_var (symbol:: Symbol ) = is_tracer_var (@name (symbol))
20+
1921# we may be hitting a slow path:
2022# https://stackoverflow.com/questions/14687665/very-slow-stdpow-for-bases-very-close-to-1
2123fast_pow (x, y) = exp (y * log (x))
0 commit comments