This repository has been archived by the owner on Mar 1, 2023. It is now read-only.
/
state_types.jl
91 lines (70 loc) · 1.84 KB
/
state_types.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#### State types
export AbstractStateType,
Prognostic,
Auxiliary,
Gradient,
GradientFlux,
GradientLaplacian,
Hyperdiffusive,
UpwardIntegrals,
DownwardIntegrals
"""
AbstractStateType
Subtypes of this describe the variables used by different parts of a [`BalanceLaw`](@ref):
- [`Prognostic`](@ref)
- [`Auxiliary`](@ref)
- [`Gradient`](@ref)
- [`GradientFlux`](@ref)
- [`GradientLaplacian`](@ref)
- [`Hyperdiffusive`](@ref)
- [`UpwardIntegrals`](@ref)
- [`DownwardIntegrals`](@ref)
See also [`vars_state`](@ref).
"""
abstract type AbstractStateType end
"""
Prognostic <: AbstractStateType
Prognostic variables in the PDE system,
which are specified by the [`BalanceLaw`](@ref), and
solved for by the ODE solver.
"""
struct Prognostic <: AbstractStateType end
"""
Auxiliary <: AbstractStateType
Auxiliary variables help serve several purposes:
- Pre-compute and store "expensive" variables,
for example, quantities computed in vertical
integrals.
- Diagnostic exports
"""
struct Auxiliary <: AbstractStateType end
"""
Gradient <: AbstractStateType
Variables whose gradients must be computed.
"""
struct Gradient <: AbstractStateType end
"""
GradientFlux <: AbstractStateType
Flux variables, which are functions of gradients.
"""
struct GradientFlux <: AbstractStateType end
"""
GradientLaplacian <: AbstractStateType
Gradient-Laplacian variables.
"""
struct GradientLaplacian <: AbstractStateType end
"""
Hyperdiffusive <: AbstractStateType
Hyper-diffusive variables
"""
struct Hyperdiffusive <: AbstractStateType end
"""
UpwardIntegrals <: AbstractStateType
Variables computed in upward integrals
"""
struct UpwardIntegrals <: AbstractStateType end
"""
DownwardIntegrals <: AbstractStateType
Variables computed in downward integrals
"""
struct DownwardIntegrals <: AbstractStateType end