Export functions that are public
- Dominant language
- Julia
- Stars
- 117
- Forks
- 19
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 41
Description
In ClimaCore, most functions are not exported which lead to confusion on what is actually public or not. It also lead to confusion since you can get warnings like this when you look up the documentation in the REP.
Inspired by https://github.com/CliMA/ClimaAtmos.jl/issues/4530, I asked a LLM to use ExplicitImports.jl to find non-public functions in ClimaUtilities.jl, ClimaDiagnostics.jl, ClimaLand.jl, ClimaAtmos.jl, and ClimaCoupler.jl.
Non-public ClimaCore function usage
### `ClimaCore`
- `Domains` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics
- `Fields` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `Geometry` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `Grids` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics
- `InputOutput` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `Meshes` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics
- `Operators` — ClimaAtmos, ClimaLand, ClimaDiagnostics
- `Quadratures` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `Remapping` — ClimaAtmos, ClimaCoupler, ClimaDiagnostics
- `Spaces` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `Topologies` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `Utilities` — ClimaAtmos, ClimaLand, ClimaCoupler
- `column` — ClimaAtmos, ClimaLand, ClimaCoupler
- `level` — ClimaAtmos, ClimaLand, ClimaCoupler
### `ClimaCore.Domains`
- `IntervalDomain` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics
- `SphereDomain` — ClimaAtmos, ClimaLand, ClimaDiagnostics
### `ClimaCore.Fields`
- `Field` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `FieldVector` — ClimaAtmos, ClimaLand, ClimaCoupler
- `coordinate_field` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `field_values` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaUtilities
- `Δz_field` — ClimaAtmos, ClimaLand, ClimaCoupler
### `ClimaCore.Geometry`
- `LatLongPoint` — ClimaAtmos, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `LatPoint` — ClimaLand, ClimaCoupler, ClimaDiagnostics
- `LongPoint` — ClimaLand, ClimaCoupler, ClimaDiagnostics
- `ZPoint` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
### `ClimaCore.Grids`
- `quadrature_style` — ClimaAtmos, ClimaLand, ClimaDiagnostics, ClimaUtilities
- `topology` — ClimaAtmos, ClimaDiagnostics, ClimaUtilities
### `ClimaCore.InputOutput`
- `HDF5Reader` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaUtilities
- `HDF5Writer` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `read_field` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaUtilities
- `write!` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
### `ClimaCore.Meshes`
- `IntervalMesh` — ClimaAtmos, ClimaLand, ClimaCoupler
### `ClimaCore.Operators`
- `Extrapolate` — ClimaAtmos, ClimaLand, ClimaDiagnostics
- `InterpolateC2F` — ClimaAtmos, ClimaLand, ClimaDiagnostics
### `ClimaCore.Spaces`
- `AbstractSpace` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `CenterFiniteDifferenceSpace` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `ExtrudedFiniteDifferenceSpace` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `FiniteDifferenceSpace` — ClimaAtmos, ClimaLand, ClimaDiagnostics
- `PointSpace` — ClimaLand, ClimaCoupler, ClimaDiagnostics
- `SpectralElementSpace2D` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `face_space` — ClimaAtmos, ClimaLand, ClimaCoupler
- `grid` — ClimaAtmos, ClimaCoupler, ClimaDiagnostics
- `horizontal_space` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `nlevels` — ClimaAtmos, ClimaLand, ClimaDiagnostics
- `undertype` — ClimaAtmos, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `weighted_dss!` — ClimaAtmos, ClimaLand, ClimaCoupler
### `ClimaCore.Topologies`
- `Topology2D` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaUtilities
- `create_dss_buffer` — ClimaAtmos, ClimaLand, ClimaCoupler
### `ClimaCore.Utilities`
- `PlusHalf` — ClimaAtmos, ClimaLand, ClimaCoupler
- `half` — ClimaAtmos, ClimaLand, ClimaCoupler
## Full union by owner module
### `ClimaCore` (26)
- `Adapt` — ClimaCoupler
- `ClimaComms` — ClimaUtilities
- `CommonGrids` — ClimaAtmos
- `CommonSpaces` — ClimaCoupler
- `DataLayouts` — ClimaAtmos, ClimaCoupler
- `DeviceSideContext` — ClimaUtilities
- `Domains` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics
- `Fields` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `Geometry` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `Grids` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics
- `Hypsography` — ClimaAtmos
- `InputOutput` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `Limiters` — ClimaAtmos
- `MatrixFields` — ClimaAtmos
- `Meshes` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics
- `Operators` — ClimaAtmos, ClimaLand, ClimaDiagnostics
- `Quadratures` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `RecursiveApply` — ClimaLand
- `Remapping` — ClimaAtmos, ClimaCoupler, ClimaDiagnostics
- `Spaces` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `Topologies` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `Utilities` — ClimaAtmos, ClimaLand, ClimaCoupler
- `column` — ClimaAtmos, ClimaLand, ClimaCoupler
- `level` — ClimaAtmos, ClimaLand, ClimaCoupler
- `to_cpu` — ClimaCoupler
- `to_device` — ClimaAtmos
### `ClimaCore.CommonGrids.Helpers` (1)
- `DefaultZMesh` — ClimaAtmos
### `ClimaCore.DataLayouts` (2)
- `AbstractData` — ClimaAtmos, ClimaCoupler
- `replace_basetype` — ClimaAtmos
### `ClimaCore.Domains` (4)
- `AbstractDomain` — ClimaDiagnostics
- `IntervalDomain` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics
- `SphereDomain` — ClimaAtmos, ClimaLand, ClimaDiagnostics
- `z_max` — ClimaAtmos
### `ClimaCore.Fields` (14)
- `Adapt` — ClimaUtilities
- `ClimaComms` — ClimaUtilities
- `ColumnField` — ClimaAtmos
- `Field` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `FieldVector` — ClimaAtmos, ClimaLand, ClimaCoupler
- `PointField` — ClimaAtmos
- `SpectralElementField` — ClimaAtmos
- `_values` — ClimaAtmos
- `array2field` — ClimaAtmos
- `coordinate_field` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `field2array` — ClimaAtmos, ClimaCoupler
- `field_values` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaUtilities
- `local_geometry_field` — ClimaAtmos, ClimaLand
- `Δz_field` — ClimaAtmos, ClimaLand, ClimaCoupler
### `ClimaCore.Geometry` (41)
- `Abstract3DPoint` — ClimaAtmos
- `AbstractPoint` — ClimaAtmos
- `AbstractSphericalGlobalGeometry` — ClimaAtmos
- `AxisTensor` — ClimaAtmos
- `Cartesian123Vector` — ClimaAtmos
- `CartesianGlobalGeometry` — ClimaAtmos
- `Contravariant123Axis` — ClimaAtmos
- `Contravariant12Axis` — ClimaAtmos
- `Contravariant13Axis` — ClimaAtmos
- `Contravariant23Axis` — ClimaAtmos
- `Contravariant3Axis` — ClimaAtmos
- `ContravariantAxis` — ClimaAtmos
- `Covariant12Axis` — ClimaAtmos
- `Covariant3Axis` — ClimaAtmos
- `DeepSphericalGlobalGeometry` — ClimaAtmos
- `LatLongPoint` — ClimaAtmos, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `LatLongZPoint` — ClimaAtmos, ClimaUtilities
- `LatPoint` — ClimaLand, ClimaCoupler, ClimaDiagnostics
- `LocalGeometry` — ClimaAtmos
- `LocalVector` — ClimaAtmos
- `LongPoint` — ClimaLand, ClimaCoupler, ClimaDiagnostics
- `PPoint` — ClimaDiagnostics
- `ShallowSphericalGlobalGeometry` — ClimaAtmos
- `UVAxis` — ClimaAtmos
- `UVWAxis` — ClimaAtmos
- `WAxis` — ClimaAtmos
- `XPoint` — ClimaLand
- `XYZPoint` — ClimaAtmos, ClimaUtilities
- `XZPoint` — ClimaAtmos
- `YPoint` — ClimaLand
- `ZPoint` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `_coordinate` — ClimaDiagnostics
- `_norm` — ClimaAtmos, ClimaLand
- `_norm_sqr` — ClimaAtmos
- `components` — ClimaAtmos
- `float_type` — ClimaAtmos
- `outer` — ClimaAtmos
- `product_coordinates` — ClimaDiagnostics
- `project` — ClimaAtmos
- `tofloat` — ClimaAtmos, ClimaDiagnostics
- `undertype` — ClimaAtmos, ClimaLand
### `ClimaCore.Grids` (13)
- `AbstractGrid` — ClimaAtmos
- `CellCenter` — ClimaDiagnostics
- `ColumnIndex` — ClimaLand
- `ExtrudedFiniteDifferenceGrid` — ClimaAtmos
- `FiniteDifferenceGrid` — ClimaAtmos
- `Flat` — ClimaAtmos, ClimaDiagnostics
- `LevelGrid` — ClimaCoupler
- `SpectralElementGrid1D` — ClimaAtmos, ClimaDiagnostics
- `SpectralElementGrid2D` — ClimaAtmos
- `global_geometry` — ClimaAtmos, ClimaUtilities
- `quadrature_style` — ClimaAtmos, ClimaLand, ClimaDiagnostics, ClimaUtilities
- `set_mask!` — ClimaLand
- `topology` — ClimaAtmos, ClimaDiagnostics, ClimaUtilities
### `ClimaCore.Hypsography` (3)
- `LinearAdaption` — ClimaAtmos
- `SLEVEAdaption` — ClimaAtmos
- `diffuse_surface_elevation!` — ClimaAtmos
### `ClimaCore.InputOutput` (6)
- `HDF5Reader` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaUtilities
- `HDF5Writer` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `read_attributes` — ClimaLand
- `read_field` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaUtilities
- `write!` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `write_attributes!` — ClimaLand
### `ClimaCore.Limiters` (2)
- `apply_limiter!` — ClimaAtmos
- `compute_bounds!` — ClimaAtmos
### `ClimaCore.MatrixFields` (24)
- `@name` — ClimaAtmos, ClimaLand
- `ApproximateBlockArrowheadIterativeSolve` — ClimaAtmos
- `BandMatrixRow` — ClimaAtmos
- `BlockArrowheadSolve` — ClimaAtmos
- `BlockDiagonalSolve` — ClimaLand
- `BlockLowerTriangularSolve` — ClimaAtmos, ClimaLand
- `FieldMatrixSolver` — ClimaLand
- `FieldName` — ClimaAtmos
- `FieldNameTree` — ClimaAtmos
- `LowerDiagonalMatrixRow` — ClimaLand
- `MainDiagonalPreconditioner` — ClimaAtmos
- `append_internal_name` — ClimaAtmos
- `band_matrix_info` — ClimaAtmos
- `column_field2array` — ClimaAtmos
- `drop_first` — ClimaAtmos
- `extract_first` — ClimaAtmos
- `filtered_names` — ClimaAtmos
- `get_field` — ClimaAtmos, ClimaLand
- `has_field` — ClimaAtmos, ClimaLand
- `is_child_name` — ClimaAtmos
- `operator_matrix` — ClimaAtmos, ClimaLand
- `replace_name_tree` — ClimaAtmos
- `scalar_field_matrix` — ClimaAtmos
- `top_level_names` — ClimaAtmos
### `ClimaCore.Meshes` (7)
- `GeneralizedExponentialStretching` — ClimaLand
- `HyperbolicTangentStretching` — ClimaAtmos
- `IntervalMesh` — ClimaAtmos, ClimaLand, ClimaCoupler
- `Uniform` — ClimaAtmos, ClimaLand
- `domain` — ClimaAtmos, ClimaDiagnostics
- `n_elements_per_panel_direction` — ClimaAtmos, ClimaDiagnostics
- `nelements` — ClimaDiagnostics
### `ClimaCore.Operators` (37)
- `Curl` — ClimaAtmos
- `CurlC2F` — ClimaAtmos
- `Divergence` — ClimaAtmos
- `DivergenceC2F` — ClimaAtmos
- `DivergenceF2C` — ClimaAtmos, ClimaLand
- `Extrapolate` — ClimaAtmos, ClimaLand, ClimaDiagnostics
- `FirstOrderOneSided` — ClimaAtmos
- `Gradient` — ClimaAtmos, ClimaLand
- `GradientC2F` — ClimaAtmos, ClimaLand
- `GradientF2C` — ClimaAtmos
- `InterpolateC2F` — ClimaAtmos, ClimaLand, ClimaDiagnostics
- `InterpolateF2C` — ClimaAtmos
- `LeftBiasedC2F` — ClimaAtmos
- `LeftBiasedF2C` — ClimaAtmos
- `LinVanLeerC2F` — ClimaAtmos
- `MonotoneLocalExtrema` — ClimaAtmos
- `RightBiasedC2F` — ClimaAtmos
- `RightBiasedF2C` — ClimaAtmos
- `SetBoundaryOperator` — ClimaAtmos, ClimaLand
- `SetCurl` — ClimaAtmos
- `SetDivergence` — ClimaAtmos
- `SetGradient` — ClimaAtmos, ClimaLand
- `SetValue` — ClimaAtmos, ClimaLand
- `SplitDivergence` — ClimaAtmos
- `ThirdOrderOneSided` — ClimaAtmos
- `Upwind3rdOrderBiasedProductC2F` — ClimaAtmos
- `UpwindBiasedGradient` — ClimaAtmos
- `UpwindBiasedProductC2F` — ClimaAtmos
- `WeakCurl` — ClimaAtmos
- `WeakDivergence` — ClimaAtmos, ClimaLand
- `WeakGradient` — ClimaAtmos
- `WeightedInterpolateC2F` — ClimaAtmos
- `column_accumulate!` — ClimaAtmos
- `column_integral_definite!` — ClimaAtmos, ClimaLand
- `column_integral_indefinite!` — ClimaAtmos
- `column_reduce!` — ClimaAtmos
- `left_idx` — ClimaAtmos
### `ClimaCore.Quadratures` (1)
- `unique_degrees_of_freedom` — ClimaLand, ClimaDiagnostics
### `ClimaCore.RecursiveApply` (4)
- `rpromote_type` — ClimaAtmos
- `rzero` — ClimaAtmos, ClimaLand
- `⊞` — ClimaAtmos
- `⊠` — ClimaAtmos
### `ClimaCore.Remapping` (8)
- `PressureInterpolator` — ClimaDiagnostics
- `Remapper` — ClimaCoupler, ClimaDiagnostics
- `interpolate` — ClimaCoupler, ClimaDiagnostics
- `interpolate!` — ClimaDiagnostics
- `interpolate_pressure` — ClimaDiagnostics
- `interpolate_pressure!` — ClimaDiagnostics
- `pressure_space` — ClimaDiagnostics
- `update!` — ClimaDiagnostics
### `ClimaCore.Spaces` (30)
- `AbstractFiniteDifferenceSpace` — ClimaCoupler
- `AbstractPointSpace` — ClimaLand
- `AbstractSpace` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `AbstractSpectralElementSpace` — ClimaLand, ClimaDiagnostics
- `CenterExtrudedFiniteDifferenceSpace` — ClimaAtmos, ClimaLand
- `CenterFiniteDifferenceSpace` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `CubedSphereSpectralElementSpace2D` — ClimaDiagnostics
- `ExtrudedFiniteDifferenceSpace` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `FaceExtrudedFiniteDifferenceSpace` — ClimaAtmos
- `FaceFiniteDifferenceSpace` — ClimaAtmos, ClimaDiagnostics
- `FiniteDifferenceSpace` — ClimaAtmos, ClimaLand, ClimaDiagnostics
- `PointSpace` — ClimaLand, ClimaCoupler, ClimaDiagnostics
- `RectilinearSpectralElementSpace2D` — ClimaDiagnostics
- `SpectralElementSpace1D` — ClimaAtmos, ClimaDiagnostics
- `SpectralElementSpace2D` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `all_nodes` — ClimaAtmos, ClimaUtilities
- `center_space` — ClimaAtmos, ClimaDiagnostics
- `eachslabindex` — ClimaAtmos
- `face_space` — ClimaAtmos, ClimaLand, ClimaCoupler
- `grid` — ClimaAtmos, ClimaCoupler, ClimaDiagnostics
- `horizontal_space` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `issubspace` — ClimaCoupler
- `ncolumns` — ClimaAtmos
- `nlevels` — ClimaAtmos, ClimaLand, ClimaDiagnostics
- `node_horizontal_length_scale` — ClimaAtmos
- `space` — ClimaDiagnostics
- `staggering` — ClimaDiagnostics
- `undertype` — ClimaAtmos, ClimaCoupler, ClimaDiagnostics, ClimaUtilities
- `unique_nodes` — ClimaUtilities
- `weighted_dss!` — ClimaAtmos, ClimaLand, ClimaCoupler
### `ClimaCore.Topologies` (6)
- `DSSBuffer` — ClimaAtmos
- `IntervalTopology` — ClimaAtmos, ClimaDiagnostics
- `Topology2D` — ClimaAtmos, ClimaLand, ClimaCoupler, ClimaUtilities
- `create_dss_buffer` — ClimaAtmos, ClimaLand, ClimaCoupler
- `dss!` — ClimaUtilities
- `spacefillingcurve` — ClimaAtmos, ClimaUtilities
### `ClimaCore.Utilities` (2)
- `PlusHalf` — ClimaAtmos, ClimaLand, ClimaCoupler
- `half` — ClimaAtmos, ClimaLand, ClimaCoupler
It looks like there are usage of private functions (denoted by underscore) in `Fields._values` and `Geometry._norm` as some examples. There are also usage of `Adapt` and `ClimaComms` through ClimaCore.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the export declarations in the ClimaCore modules and the non-public usage report generated with ExplicitImports.jl. Determine which listed names are intended public API, then verify that the selected exports remove the documented warnings without exposing internal helpers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100