• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Atmospheric-Dynamics-GUF / PinCFlow.jl / 18600325485

17 Oct 2025 05:35PM UTC coverage: 64.858% (-1.1%) from 65.961%
18600325485

Pull #117

github

web-flow
Merge 6a432eb7e into 2192c9fbf
Pull Request #117: Removed density reconstructions and fluxes in Boussinesq mode and restructured the BC functions.

60 of 152 new or added lines in 13 files covered. (39.47%)

41 existing lines in 6 files now uncovered.

4889 of 7538 relevant lines covered (64.86%)

1417695.35 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

15.79
/src/Boundaries/set_tracer_zonal_boundaries!.jl
1
"""
2
```julia
3
set_tracer_zonal_boundaries!(state::State, variables::AbstractBoundaryVariables)
4
```
5

6
Enforce zonal boundary conditions for tracers by dispatching to the appropriate method.
7

8
```julia
9
set_tracer_zonal_boundaries!(
10
    state::State,
11
    variables::AbstractBoundaryVariables,
12
    tracer_setup::NoTracer,
13
)
14
```
15

16
Return for configurations without tracer transport.
17

18
```julia
19
set_tracer_zonal_boundaries!(
20
    state::State,
21
    variables::BoundaryPredictands,
22
    tracer_setup::TracerOn,
23
)
24
```
25

26
Enforce zonal boundary conditions for tracer predictands.
27

28
```julia
29
set_tracer_zonal_boundaries!(
30
    state::State,
31
    variables::BoundaryReconstructions,
32
    tracer_setup::TracerOn,
33
)
34
```
35

36
Enforce zonal boundary conditions for tracer reconstructions.
37

38
```julia
39
set_tracer_zonal_boundaries!(
40
    state::State,
41
    variables::AbstractWKBBoundaryVariables,
42
    tracer_setup::TracerOn,
43
)
44
```
45

46
Enforce zonal boundary conditions for tracer WKB quantities by dispatching to the appropriate method.
47

48
```julia
49
set_tracer_zonal_boundaries!(
50
    state::State,
51
    variables::BoundaryWKBIntegrals,
52
    wkb_mode::Union{SteadyState, SingleColumn, MultiColumn},
53
)
54
```
55

56
Enforce zonal boundary conditions for tracer WKB integrals.
57

58
```julia
59
set_tracer_zonal_boundaries!(
60
    state::State,
61
    variables::BoundaryWKBTendencies,
62
    wkb_mode::Union{SteadyState, SingleColumn, MultiColumn},
63
)
64
```
65

66
Enforce zonal boundary conditions for tracer WKB tendencies.
67

68
# Arguments
69

70
  - `state`: Model state.
71

72
  - `variables`: Boundary-variable category.
73

74
  - `tracer_setup`: General tracer-transport configuration.
75

76
  - `wkb_mode`: Approximations used by MSGWaM.
77

78
# See also
79

80
  - [`PinCFlow.Boundaries.set_zonal_boundaries_of_field!`](@ref)
81
"""
82
function set_tracer_zonal_boundaries! end
83

84
function set_tracer_zonal_boundaries!(
5,136✔
85
    state::State,
86
    variables::AbstractBoundaryVariables,
87
)
88
    (; tracer_setup) = state.namelists.tracer
5,136✔
89
    set_tracer_zonal_boundaries!(state, variables, tracer_setup)
5,136✔
90
    return
5,136✔
91
end
92

93
function set_tracer_zonal_boundaries!(
5,136✔
94
    state::State,
95
    variables::AbstractBoundaryVariables,
96
    tracer_setup::NoTracer,
97
)
98
    return
5,136✔
99
end
100

101
function set_tracer_zonal_boundaries!(
×
102
    state::State,
103
    variables::BoundaryPredictands,
104
    tracer_setup::TracerOn,
105
)
106
    (; namelists, domain) = state
×
107
    (; tracerpredictands) = state.tracer
×
108

109
    for field in fieldnames(TracerPredictands)
×
110
        set_zonal_boundaries_of_field!(
×
111
            getfield(tracerpredictands, field),
112
            namelists,
113
            domain,
114
        )
115
    end
×
116

117
    return
×
118
end
119

UNCOV
120
function set_tracer_zonal_boundaries!(
×
121
    state::State,
122
    variables::BoundaryReconstructions,
123
    tracer_setup::TracerOn,
124
)
125
    (; namelists, domain) = state
×
126
    (; tracerreconstructions) = state.tracer
×
127

128
    for field in fieldnames(TracerReconstructions)
×
129
        set_zonal_boundaries_of_field!(
×
130
            getfield(tracerreconstructions, field),
131
            namelists,
132
            domain,
133
        )
134
    end
×
135

136
    return
×
137
end
138

UNCOV
139
function set_tracer_zonal_boundaries!(
×
140
    state::State,
141
    variables::AbstractWKBBoundaryVariables,
142
    tracer_setup::TracerOn,
143
)
NEW
144
    (; wkb_mode) = state.namelists.wkb
×
NEW
145
    set_tracer_zonal_boundaries!(state, variables, wkb_mode)
×
UNCOV
146
    return
×
147
end
148

149
function set_tracer_zonal_boundaries!(
×
150
    state::State,
151
    variables::BoundaryWKBIntegrals,
152
    wkb_mode::Union{SteadyState, SingleColumn, MultiColumn},
153
)
UNCOV
154
    (; namelists, domain) = state
×
155
    (; chiq0) = state.tracer.tracerforcings
×
156

157
    for field in (:uchi, :vchi, :wchi)
×
158
        set_zonal_boundaries_of_field!(
×
159
            getfield(chiq0, field),
160
            namelists,
161
            domain;
162
            layers = (1, 1, 1),
163
        )
164
    end
×
165

166
    return
×
167
end
168

UNCOV
169
function set_tracer_zonal_boundaries!(
×
170
    state::State,
171
    variables::BoundaryWKBTendencies,
172
    wkb_mode::Union{SteadyState, SingleColumn, MultiColumn},
173
)
UNCOV
174
    (; namelists, domain) = state
×
175
    (; chiq0) = state.tracer.tracerforcings
×
176

177
    for field in (:dchidt,)
×
178
        set_zonal_boundaries_of_field!(
×
179
            getfield(chiq0, field),
180
            namelists,
181
            domain;
182
            layers = (1, 1, 1),
183
        )
184
    end
×
185

186
    return
×
187
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc