CliMA / CliMA/ClimaCore.jl

add hybrid 3d box level plot

Open
#627 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Julia
Stars
117
Forks
19
Avg merge
3d 5h
Merged PRs (30d)
36

Description

Plots doesn't support level argument for 3d box. It may be good to add.

This examples gives an error "must specify coordinate axis slice for 3D hybrid plots".
```
FT = Float64
xelem = 10
yelem = 5
velem = 40
npoly = 4

vertdomain = ClimaCore.Domains.IntervalDomain(
ClimaCore.Geometry.ZPoint{FT}(0),
ClimaCore.Geometry.ZPoint{FT}(1000);
boundary_tags = (:bottom, :top),
)
vertmesh = ClimaCore.Meshes.IntervalMesh(vertdomain, nelems = velem)
vert_center_space = ClimaCore.Spaces.CenterFiniteDifferenceSpace(vertmesh)

xdomain = ClimaCore.Domains.IntervalDomain(
ClimaCore.Geometry.XPoint{FT}(-500) ..
ClimaCore.Geometry.XPoint{FT}(500),
periodic = true,
)
ydomain = ClimaCore.Domains.IntervalDomain(
ClimaCore.Geometry.YPoint{FT}(-100) ..
ClimaCore.Geometry.YPoint{FT}(100),
periodic = true,
)

horzdomain = ClimaCore.Domains.RectangleDomain(xdomain, ydomain)
horzmesh = ClimaCore.Meshes.RectilinearMesh(horzdomain, xelem, yelem)
horztopology = ClimaCore.Topologies.Topology2D(horzmesh)

quad = ClimaCore.Spaces.Quadratures.GLL{npoly + 1}()
horzspace = ClimaCore.Spaces.SpectralElementSpace2D(horztopology, quad)

hv_center_space = ClimaCore.Spaces.ExtrudedFiniteDifferenceSpace(
horzspace,
vert_center_space,
)

coords = ClimaCore.Fields.coordinate_field(hv_center_space)
Plots.plot(coords.x, level=3)
```

`Plots.plot(level(coords.x, 3)` works.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.