Skip to content

ArgumentError: Trailing indices must be 1 when using v[bitarray] .= scalar #287

@Alexander-Barth

Description

@Alexander-Barth

With DiskArrays v0.4.15 and NCDatasets (47afa1c) I see the following regression:

using NCDatasets
fname = tempname()
ds = NCDataset(fname, "c")
v = defVar(ds, "temperature", zeros(10,11), ("lon", "lat"))
v[rand(10,11) .> 0.5] .= 1
(full error message is below)

@lupemba @felixcremer @rafaqz Do you have any idea what could be the problem?
So far, I am not able to reproduce the issue independently of NCDatasets.

julia> include("/home/abarth/.julia/dev/NCDatasets/test/test_diskarray.jl");
ERROR: LoadError: ArgumentError: Trailing indices must be 1
Stacktrace:
  [1] _resolve_indices(::Tuple{}, i::Tuple{…}, indices_pre::DiskArrays.DiskIndex{…}, strategy::DiskArrays.NoBatch{…})
    @ DiskArrays ~/.julia/packages/DiskArrays/WgDSb/src/diskindex.jl:101
  [2] _resolve_indices (repeats 2 times)
    @ ~/.julia/packages/DiskArrays/WgDSb/src/diskindex.jl:57 [inlined]
  [3] DiskArrays.DiskIndex(a::CommonDataModel.CFVariable{…}, i::NTuple{…}, batch_strategy::DiskArrays.NoBatch{…})
    @ DiskArrays ~/.julia/packages/DiskArrays/WgDSb/src/diskindex.jl:43
  [4] setindex_disk_nobatch!(a::CommonDataModel.CFVariable{…}, values::Array{…}, i::NTuple{…})
    @ DiskArrays ~/.julia/packages/DiskArrays/WgDSb/src/indexing.jl:173
  [5] setindex_disk!(::CommonDataModel.CFVariable{…}, ::Array{…}, ::UnitRange{…}, ::Vararg{…})
    @ DiskArrays ~/.julia/packages/DiskArrays/WgDSb/src/indexing.jl:137
  [6] writeblock!(::CommonDataModel.SubVariable{…}, ::Array{…}, ::UnitRange{…}, ::UnitRange{…}, ::Vararg{…})
    @ DiskArrays ~/.julia/packages/DiskArrays/WgDSb/src/subarray.jl:38
  [7] writeblock_checked!
    @ ~/.julia/packages/DiskArrays/WgDSb/src/indexing.jl:301 [inlined]
  [8] setindex_disk_nobatch!(a::CommonDataModel.SubVariable{…}, values::Array{…}, i::NTuple{…})
    @ DiskArrays ~/.julia/packages/DiskArrays/WgDSb/src/indexing.jl:182
  [9] setindex_disk!
    @ ~/.julia/packages/DiskArrays/WgDSb/src/indexing.jl:137 [inlined]
 [10] setindex!
    @ ~/.julia/packages/DiskArrays/WgDSb/src/indexing.jl:324 [inlined]
 [11] #208
    @ ~/.julia/packages/DiskArrays/WgDSb/src/broadcast.jl:165 [inlined]
 [12] foreach(f::DiskArrays.var"#208#220"{CommonDataModel.SubVariable{…}, Int64}, itr::DiskArrays.GridChunks{4, NTuple{…}})
    @ Base ./abstractarray.jl:3187
 [13] fill!(dest::CommonDataModel.SubVariable{Float64, 2, CommonDataModel.CFVariable{…}, Tuple{…}, false}, value::Int64)
    @ DiskArrays ~/.julia/packages/DiskArrays/WgDSb/src/broadcast.jl:163
 [14] copyto!
    @ ./broadcast.jl:933 [inlined]
 [15] materialize!
    @ ./broadcast.jl:883 [inlined]
 [16] materialize!(dest::CommonDataModel.SubVariable{…}, bc::Base.Broadcast.Broadcasted{…})
    @ Base.Broadcast ./broadcast.jl:880
 [17] top-level scope
    @ ~/.julia/dev/NCDatasets/test/test_diskarray.jl:23

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions