• 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_meridional_boundaries!.jl
1
"""
2
```julia
3
set_tracer_meridional_boundaries!(
4
    state::State,
5
    variables::AbstractBoundaryVariables,
6
)
7
```
8

9
Enforce meridional boundary conditions for tracers by dispatching to the appropriate method.
10

11
```julia
12
set_tracer_meridional_boundaries!(
13
    state::State,
14
    variables::AbstractBoundaryVariables,
15
    tracer_setup::NoTracer,
16
)
17
```
18

19
Return for configurations without tracer transport.
20

21
```julia
22
set_tracer_meridional_boundaries!(
23
    state::State,
24
    variables::BoundaryPredictands,
25
    tracer_setup::TracerOn,
26
)
27
```
28

29
Enforce meridional boundary conditions for tracer predictands.
30

31
```julia
32
set_tracer_meridional_boundaries!(
33
    state::State,
34
    variables::BoundaryReconstructions,
35
    tracer_setup::TracerOn,
36
)
37
```
38

39
Enforce meridional boundary conditions for tracer reconstructions.
40

41
```julia
42
set_tracer_meridional_boundaries!(
43
    state::State,
44
    variables::AbstractWKBBoundaryVariables,
45
    tracer_setup::TracerOn,
46
)
47
```
48

49
Enforce meridional boundary conditions for tracer WKB quantities by dispatching to the appropriate method.
50

51
```julia
52
set_tracer_meridional_boundaries!(
53
    state::State,
54
    variables::BoundaryWKBIntegrals,
55
    wkb_mode::Union{SteadyState, SingleColumn, MultiColumn},
56
)
57
```
58

59
Enforce meridional boundary conditions for tracer WKB integrals.
60

61
```julia
62
set_tracer_meridional_boundaries!(
63
    state::State,
64
    variables::BoundaryWKBTendencies,
65
    wkb_mode::Union{SteadyState, SingleColumn, MultiColumn},
66
)
67
```
68

69
Enforce meridional boundary conditions for tracer WKB tendencies.
70

71
# Arguments
72

73
  - `state`: Model state.
74

75
  - `variables`: Boundary-variable category.
76

77
  - `tracer_setup`: General tracer-transport configuration.
78

79
  - `wkb_mode`: Approximations used by MSGWaM.
80

81
# See also
82

83
  - [`PinCFlow.Boundaries.set_meridional_boundaries_of_field!`](@ref)
84
"""
85
function set_tracer_meridional_boundaries! end
86

87
function set_tracer_meridional_boundaries!(
5,136✔
88
    state::State,
89
    variables::AbstractBoundaryVariables,
90
)
91
    (; tracer_setup) = state.namelists.tracer
5,136✔
92
    set_tracer_meridional_boundaries!(state, variables, tracer_setup)
5,136✔
93
    return
5,136✔
94
end
95

96
function set_tracer_meridional_boundaries!(
5,136✔
97
    state::State,
98
    variables::AbstractBoundaryVariables,
99
    tracer_setup::NoTracer,
100
)
101
    return
5,136✔
102
end
103

104
function set_tracer_meridional_boundaries!(
×
105
    state::State,
106
    variables::BoundaryPredictands,
107
    tracer_setup::TracerOn,
108
)
109
    (; namelists, domain) = state
×
110
    (; tracerpredictands) = state.tracer
×
111

112
    for field in fieldnames(TracerPredictands)
×
113
        set_meridional_boundaries_of_field!(
×
114
            getfield(tracerpredictands, field),
115
            namelists,
116
            domain,
117
        )
118
    end
×
119

120
    return
×
121
end
122

UNCOV
123
function set_tracer_meridional_boundaries!(
×
124
    state::State,
125
    variables::BoundaryReconstructions,
126
    tracer_setup::TracerOn,
127
)
128
    (; namelists, domain) = state
×
129
    (; tracerreconstructions) = state.tracer
×
130

131
    for field in fieldnames(TracerReconstructions)
×
132
        set_meridional_boundaries_of_field!(
×
133
            getfield(tracerreconstructions, field),
134
            namelists,
135
            domain,
136
        )
137
    end
×
138

139
    return
×
140
end
141

UNCOV
142
function set_tracer_meridional_boundaries!(
×
143
    state::State,
144
    variables::AbstractWKBBoundaryVariables,
145
    tracer_setup::TracerOn,
146
)
NEW
147
    (; wkb_mode) = state.namelists.wkb
×
NEW
148
    set_tracer_meridional_boundaries!(state, variables, wkb_mode)
×
UNCOV
149
    return
×
150
end
151

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

160
    for field in (:uchi, :vchi, :wchi)
×
161
        set_meridional_boundaries_of_field!(
×
162
            getfield(chiq0, field),
163
            namelists,
164
            domain;
165
            layers = (1, 1, 1),
166
        )
167
    end
×
168

169
    return
×
170
end
171

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

180
    for field in (:dchidt,)
×
181
        set_meridional_boundaries_of_field!(
×
182
            getfield(chiq0, field),
183
            namelists,
184
            domain;
185
            layers = (1, 1, 1),
186
        )
187
    end
×
188

189
    return
×
190
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