{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Mt3dms-object",
  "type": "object",
  "description": "This object represents all mt3dms properties for transport calculation of modflow models",
  "required": [
    "mt",
    "btn",
    "adv",
    "dsp",
    "gcg",
    "ssm"
  ],
  "properties": {
    "mt": {
      "$ref": "#/definitions/mtPackage"
    },
    "btn": {
      "$ref": "#/definitions/btnPackage"
    },
    "adv": {
      "$ref": "#/definitions/advPackage"
    },
    "dsp": {
      "$ref": "#/definitions/dspPackage"
    },
    "gcg": {
      "$ref": "#/definitions/gcgPackage"
    },
    "ssm": {
      "$ref": "#/definitions/ssmPackage"
    }
  },
  "definitions": {
    "mtPackage": {
      "type": "object",
      "properties": {
        "_meta": {
          "type": "object"
        },
        "modelname": {
          "type": "string",
          "minLength": 2
        },
        "namefile_ext": {
          "type": "string",
          "minLength": 2
        },
        "exe_name": {
          "type": "string",
          "enum": [
            "mt3dms",
            "mt3dusgs"
          ]
        },
        "model_ws": {
          "type": "string",
          "minLength": 1
        },
        "ftlfilename": {
          "type": "string"
        },
        "version": {
          "type": "string",
          "enum": [
            "mt3dms"
          ]
        },
        "verbose": {
          "type": "boolean"
        }
      }
    },
    "btnPackage": {
      "type": "object",
      "properties": {
        "_meta": {
          "type": "object"
        },
        "MFStyleArr": {
          "type": "boolean"
        },
        "DRYCell": {
          "type": "boolean"
        },
        "Legacy99Stor": {
          "type": "boolean"
        },
        "FTLPrint": {
          "type": "boolean"
        },
        "NoWetDryPrint": {
          "type": "boolean"
        },
        "OmitDryBud": {
          "type": "boolean"
        },
        "AltWTSorb": {
          "type": "boolean"
        },
        "nlay": {
          "type": "null"
        },
        "nrow": {
          "type": "null"
        },
        "ncol": {
          "type": "null"
        },
        "nper": {
          "type": "null"
        },
        "ncomp": {
          "type": "number"
        },
        "mcomp": {
          "type": "number"
        },
        "tunit": {
          "type": "string"
        },
        "lunit": {
          "type": "string"
        },
        "munit": {
          "type": "string"
        },
        "laycon": {
          "type": "null"
        },
        "delr": {
          "type": "null"
        },
        "delc": {
          "type": "null"
        },
        "htop": {
          "type": "null"
        },
        "dz": {
          "type": "null"
        },
        "prsity": {
          "type": "number"
        },
        "icbund": {
          "type": "number"
        },
        "sconc": {
          "type": "number"
        },
        "cinact": {
          "type": "number"
        },
        "thkmin": {
          "type": "number"
        },
        "ifmtcn": {
          "type": "number"
        },
        "ifmtnp": {
          "type": "number"
        },
        "ifmtrf": {
          "type": "number"
        },
        "ifmtdp": {
          "type": "number"
        },
        "savucn": {
          "type": "boolean"
        },
        "nprs": {
          "oneOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "timprs": {
          "oneOf": [
            {
              "type": "array",
              "items": {
                "type": "number"
              }
            },
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "obs": {
          "type": "null"
        },
        "nprobs": {
          "type": "number"
        },
        "chkmas": {
          "type": "boolean"
        },
        "nprmas": {
          "type": "number"
        },
        "perlen": {
          "type": "null"
        },
        "nstp": {
          "type": "null"
        },
        "tsmult": {
          "type": "null"
        },
        "ssflag": {
          "type": "null"
        },
        "dt0": {
          "type": "number"
        },
        "mxstrn": {
          "type": "number"
        },
        "ttsmult": {
          "type": "number"
        },
        "ttsmax": {
          "type": "number"
        },
        "species_names": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "array"
            }
          ]
        },
        "extension": {
          "type": "string"
        },
        "unitnumber": {
          "type": "null"
        },
        "filenames": {
          "type": "null"
        }
      }
    },
    "advPackage": {
      "type": "object",
      "properties": {
        "_meta": {
          "type": "object"
        },
        "mixelm": {
          "type": "number"
        },
        "percel": {
          "type": "number"
        },
        "mxpart": {
          "type": "number"
        },
        "nadvfd": {
          "type": "number"
        },
        "itrack": {
          "type": "number"
        },
        "wd": {
          "type": "number"
        },
        "dceps": {
          "type": "number"
        },
        "nplane": {
          "type": "number"
        },
        "npl": {
          "type": "number"
        },
        "nph": {
          "type": "number"
        },
        "npmin": {
          "type": "number"
        },
        "npmax": {
          "type": "number"
        },
        "nlsink": {
          "type": "number"
        },
        "npsink": {
          "type": "number"
        },
        "dchmoc": {
          "type": "number"
        },
        "extension": {
          "type": "string"
        },
        "unitnumber": {
          "type": "null"
        },
        "filenames": {
          "type": "null"
        }
      }
    },
    "dspPackage": {
      "type": "object",
      "properties": {
        "_meta": {
          "type": "object"
        },
        "al": {
          "type": "number"
        },
        "trpt": {
          "type": "number"
        },
        "trpv": {
          "type": "number"
        },
        "dmcoef": {
          "type": "number"
        },
        "multidiff": {
          "type": "boolean"
        },
        "extension": {
          "type": "string"
        },
        "unitnumber": {
          "type": "null"
        },
        "filenames": {
          "type": "null"
        }
      }
    },
    "gcgPackage": {
      "type": "object",
      "properties": {
        "_meta": {
          "type": "object"
        },
        "mxiter": {
          "type": "number"
        },
        "iter1": {
          "type": "number"
        },
        "isolve": {
          "type": "number"
        },
        "ncrs": {
          "type": "number"
        },
        "accl": {
          "type": "number"
        },
        "cclose": {
          "type": "number"
        },
        "iprgcg": {
          "type": "number"
        },
        "extension": {
          "type": "string"
        },
        "unitnumber": {
          "type": "null"
        },
        "filenames": {
          "type": "null"
        }
      }
    },
    "ssmPackage": {
      "type": "object",
      "properties": {
        "_meta": {
          "type": "object"
        },
        "crch": {
          "type": "null"
        },
        "cevt": {
          "type": "null"
        },
        "mxss": {
          "type": "null"
        },
        "stress_period_data": {
          "type": "object",
          "additionalProperties": false,
          "patternProperties": {
            "^[0-9]+": {
              "type": "array",
              "items": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "minItems": 5
              }
            }
          }
        },
        "dtype": {
          "type": "null"
        },
        "extension": {
          "type": "string"
        },
        "unitnumber": {
          "type": "null"
        },
        "filenames": {
          "type": "null"
        }
      }
    }
  }
}
