Reproducer:
julia> import ClimaComms
julia>array_type(ClimaComms.CUDADevice())
Error:
ERROR: MethodError: no method matching array_type(::ClimaComms.CUDADevice)
The function `array_type` exists, but no method is defined for this combination of argument types.
Closest candidates are:
array_type(::ClimaCore.Topologies.IntervalTopology)
@ ClimaCore ~/.julia/packages/ClimaCore/K4gqi/src/Topologies/interval.jl:30
array_type(::ClimaCore.Topologies.Topology2D)
@ ClimaCore ~/.julia/packages/ClimaCore/K4gqi/src/Topologies/topology2d.jl:167
array_type(::ClimaCore.Spaces.AbstractSpace)
@ ClimaCore ~/.julia/packages/ClimaCore/K4gqi/src/Spaces/Spaces.jl:136
...
This error makes perfect sense. It is triggered because we didn't load CUDA.
However, it took me a little bit to figure out that this was the problem. The simple solution is to add messages that tell the user that a package should be loaded, as we do in ClimaAnalysis
Reproducer:
Error:
This error makes perfect sense. It is triggered because we didn't load CUDA.
However, it took me a little bit to figure out that this was the problem. The simple solution is to add messages that tell the user that a package should be loaded, as we do in ClimaAnalysis