{
  "title": "InputModel",
  "type": "object",
  "properties": {
    "data": {
      "title": "Data",
      "description": "list of datasets to load",
      "type": "array",
      "items": {
        "$ref": "#/definitions/DataContainer"
      }
    }
  },
  "definitions": {
    "ytField": {
      "title": "ytField",
      "type": "object",
      "properties": {
        "field_type": {
          "title": "Field Type",
          "description": "a field type in the yt dataset",
          "type": "string"
        },
        "field_name": {
          "title": "Field Name",
          "description": "a field in the yt dataset",
          "type": "string"
        },
        "take_log": {
          "title": "Take Log",
          "description": "if true, will apply log10 to the selected data",
          "default": true,
          "type": "boolean"
        }
      }
    },
    "SelectionObject": {
      "title": "SelectionObject",
      "type": "object",
      "properties": {
        "fields": {
          "title": "Fields",
          "description": "list of fields to load for this selection",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ytField"
          }
        },
        "left_edge": {
          "title": "Left Edge",
          "description": "the left edge (min x, min y, min z) in units of edge_units",
          "default": [
            0.0,
            0.0,
            0.0
          ],
          "type": "array",
          "minItems": 3,
          "maxItems": 3,
          "items": [
            {
              "type": "number"
            },
            {
              "type": "number"
            },
            {
              "type": "number"
            }
          ]
        },
        "right_edge": {
          "title": "Right Edge",
          "description": "the right edge (max x, max y, max z) in units of edge_units",
          "default": [
            1.0,
            1.0,
            1.0
          ],
          "type": "array",
          "minItems": 3,
          "maxItems": 3,
          "items": [
            {
              "type": "number"
            },
            {
              "type": "number"
            },
            {
              "type": "number"
            }
          ]
        },
        "resolution": {
          "title": "Resolution",
          "description": "the resolution at which to sample between the edges.",
          "default": [
            400,
            400,
            400
          ],
          "type": "array",
          "minItems": 3,
          "maxItems": 3,
          "items": [
            {
              "type": "integer"
            },
            {
              "type": "integer"
            },
            {
              "type": "integer"
            }
          ]
        }
      }
    },
    "DataContainer": {
      "title": "DataContainer",
      "type": "object",
      "properties": {
        "filename": {
          "title": "Filename",
          "description": "the filename for the dataset",
          "type": "string"
        },
        "selections": {
          "title": "Selections",
          "description": "list of selections to load in this dataset",
          "type": "array",
          "items": {
            "$ref": "#/definitions/SelectionObject"
          }
        },
        "edge_units": {
          "title": "Edge Units",
          "description": "the units to use for left_edge and right_edge in the selections",
          "default": "code_length",
          "type": "string"
        }
      }
    }
  }
}
