Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 0 additions & 19 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -773,17 +773,6 @@ steps:
agents:
slurm_gpus: 1

- label: "Unit: FD operator (shmem)"
key: unit_fd_operator_shmem
retry: *retry_policy
command:
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/finitedifference/unit_fd_ops_shared_memory.jl"
- "julia --color=yes --project=.buildkite test/Operators/finitedifference/benchmark_fd_ops_shared_memory.jl"
env:
CLIMACOMMS_DEVICE: "CUDA"
agents:
slurm_gpus: 1

- label: "Unit: gpu columnwise"
key: unit_gpu_columnwise
retry: *retry_policy
Expand Down Expand Up @@ -1848,14 +1837,6 @@ steps:
artifact_paths:
- "examples/column/output/heat/*"

- label: ":computer: Column Advection Step Eq"
key: "cpu_column_step_advect"
retry: *retry_policy
command:
- "julia --color=yes --project=.buildkite examples/column/step.jl"
artifact_paths:
- "examples/column/output/advect_step_function/*"

- label: ":computer: Column Advection Eq"
key: "cpu_column_advect"
retry: *retry_policy
Expand Down
5 changes: 5 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
ClimaCore.jl Release Notes
========================

- Removed unused finite difference operators and boundary condition [2521](https://github.com/CliMA/ClimaCore.jl/pull/2521)
- Removed `SetValue` from `GradientC2F`, `DivergenceC2F`, `CurlC2F`, `UpwindBiasedProductC2F`
- Removed `SetGradient` from `InterpolateC2F` and `WeightedInterpolateC2F`
- Removed `AdvectionC2C`, `AdvectionF2F`, `FluxCorrectionF2F`, and `FluxCorrectionC2C` operators

main
-------

Expand Down
1 change: 1 addition & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
DocumenterCitations = "daee34ce-89f3-4625-b898-19384cb65244"
FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341"
IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953"
LazyBroadcast = "9dccce8e-a116-406d-9fcc-a88ed4f510c8"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Literate = "98b081ad-f1c9-55d3-8b20-4c87d4299306"
Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
Expand Down
4 changes: 2 additions & 2 deletions docs/src/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,9 @@ The example code solves the equation for 4 different tendencies with the followi
where $\textrm{fcc}(v, \theta)$ is the [`center-to-center flux correction`](https://github.com/CliMA/ClimaCore.jl/blob/main/src/Operators/finitedifference.jl#L2617) operator.
- Tendency 3:

$$D = A,$$
$$D = v \cdot G(T)$$

where $A$ is the [`center-to-center vertical advection`](https://clima.github.io/ClimaCore.jl/dev/operators/#ClimaCore.Operators.AdvectionC2C) operator.
where``G`` is the [center-to-face gradient](https://clima.github.io/ClimaCore.jl/dev/operators/#ClimaCore.Operators.GradientC2F) operator, called `gradc2f` in the example code
- Tendency 4:

$$D = A + \textrm{fcc}(v, \theta),$$
Expand Down
2 changes: 0 additions & 2 deletions docs/src/operators.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,6 @@ AbstractTVDSlopeLimiter
```@docs
GradientF2C
GradientC2F
AdvectionF2F
AdvectionC2C
DivergenceF2C
DivergenceC2F
CurlC2F
Expand Down
22 changes: 11 additions & 11 deletions docs/tutorials/introduction.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# - currently under development

using ClimaComms, ClimaCore, ClimaCorePlots, LinearAlgebra, IntervalSets, Plots

import LazyBroadcast: lazy
#----------------------------------------------------------------------------

# ## 1. Constructing a discretization
Expand Down Expand Up @@ -297,13 +297,8 @@ gradc2f = ClimaCore.Operators.GradientC2F()
# ????
# ```
#
# To handle boundaries we need to *modify the stencil*. Two options:
# - provide the _value_ $\theta^*$ of $\theta$ at the boundary:
# ```math
# \nabla\theta[\tfrac{1}{2}] = \frac{\theta[1] - \theta^*}{\Delta z /2}
# ```
# To handle boundaries we need to *modify the stencil*. This is done by providing the *gradient* $\nabla\theta^*$ of $\theta$ at the boundary:
#
# - provide the *gradient* $\nabla\theta^*$ of $\theta$ at the boundary:
# ```math
# \nabla\theta[\tfrac{1}{2}] = \nabla\theta^*
# ```
Expand All @@ -312,7 +307,9 @@ gradc2f = ClimaCore.Operators.GradientC2F()

sinz = sin.(column_center_coords.z)
gradc2f = ClimaCore.Operators.GradientC2F(
bottom = ClimaCore.Operators.SetValue(sin(0.0)),
bottom = ClimaCore.Operators.SetGradient(
ClimaCore.Geometry.WVector(cos(0.0)),
),
top = ClimaCore.Operators.SetGradient(
ClimaCore.Geometry.WVector(cos(10.0)),
),
Expand Down Expand Up @@ -370,7 +367,8 @@ import OrdinaryDiffEqSSPRK: ODEProblem, solve, SSPRK33
# \frac{\partial y}{\partial t} = \alpha \nabla \cdot \nabla y
# ```
#
# At the bottom we will use a Dirichlet condition ``y(0) = 1`` at the bottom: since we don't actually have a value located at the bottom, we will use a `SetValue` boundary modifier on the inner gradient.
# At the bottom we will use a Dirichlet condition ``y(0) = 1`` at the bottom: since we don't actually have a value located at the bottom, we will use a `SetGradient` boundary modifier on the inner gradient.
# If ``y(0) = 1``, then the gradient at the first face is ``\frac{\partial y}{\partial z}[\tfrac{1}{2}] = 2(y[\tfrac{1}{2}] - 1)``.
#
# At the top we will use a Neumann condition ``\frac{\partial y}{\partial z}(10) = 0``. We can do this two equivalent ways:
# - a `SetGradient` on the gradient operator
Expand All @@ -382,9 +380,11 @@ y0 = zeros(column_center_space)

## define the tendency function
function heat_fd_tendency!(dydt, y, α, t)
bottom_level_y = ClimaCore.Fields.level(y, 1)
bottom_grad = @. lazy(ClimaCore.Geometry.Covariant3Vector(2.0 * (bottom_level_y - 1.0)))
gradc2f = ClimaCore.Operators.GradientC2F(
bottom = ClimaCore.Operators.SetValue(1.0),
top = ClimaCore.Operators.SetGradient(ClimaCore.Geometry.WVector(0.0)),
bottom = ClimaCore.Operators.SetGradient(bottom_grad),
top = ClimaCore.Operators.SetGradient(ClimaCore.Geometry.Covariant3Vector(0.0)),
)
divf2c = ClimaCore.Operators.DivergenceF2C()
## the @. macro "dots" the whole expression
Expand Down
Loading
Loading