Skip to content

Add support to subset by non-equidistant index values #334

Description

@Mikejmnez

minimal example

Consider a tiled, multiple dimensional array. For example this one visualized in Figure 1:
https://pydap.github.io/pydap/en/notebooks/ECCO.html#download-a-single-variable

The array has a dimension called tile of length 13. Each tile represents a region of the world. Imagine I want to subset 3 tiles at once, and stream the data into a local file. If these tiles are contiguous (or equidistant) I can do the following:

<base_url>.dap?dap4.ce=/Depth[0:2,:,:] # <--- example case 1: tiles=0,1,2

<base_url>.dap?dap4.ce=/Depth[2:2:6,:,:] # <--- example case 2: tiles=2,4,6

# or

<base_url>.dap?dap4.ce=/tile=[0:2];/Depth # <--- example case 1: tiles=0,1,2
<base_url>.dap?dap4.ce=/tile=[2:2:6];/Depth # <--- example case 2: tiles=2,4,6

the examples above work because the tiles 0,1,2 are contiguous. But say I want to extract tiles that are NOT contiguous:

<base_url>.dap?dap4.ce=/Depth[(2,5,10),:,:]
# or

<base_url>.dap?dap4.ce=/tile=[2,5,10];/Depth

NOTE: I added ( and ) in the first case above to illustrate the elements I want to subset along the first dimension. In the case of subsetting using shared dimensions, the syntax would be cleaner.

I do not think this is supported: https://opendap.github.io/dap4-specification/DAP4.html#_array_subsetting_in_index_space

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions