ravenpy.config package

Subpackages

Submodules

ravenpy.config.base module

pydantic model ravenpy.config.base.Command[source]

Bases: _Command

Show JSON schema
{
   "title": "Command",
   "type": "object",
   "properties": {},
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

pydantic model ravenpy.config.base.FlatCommand[source]

Bases: Command

Only used to discriminate Commands that should not be nested.

HRUGroup, ReadFromNetCDF, Reservoir are examples of FlatCommand.

Show JSON schema
{
   "title": "FlatCommand",
   "description": "Only used to discriminate Commands that should not be nested.\n\nHRUGroup, ReadFromNetCDF, Reservoir are examples of FlatCommand.",
   "type": "object",
   "properties": {},
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

pydantic model ravenpy.config.base.GenericParameterList[source]

Bases: Command

Show JSON schema
{
   "title": "GenericParameterList",
   "type": "object",
   "properties": {
      "Parameters": {
         "description": "Parameter names",
         "items": {
            "type": "string"
         },
         "title": "Parameters",
         "type": "array"
      },
      "Units": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Units"
      },
      "pl": {
         "items": {
            "$ref": "#/$defs/ParameterList"
         },
         "title": "Pl",
         "type": "array"
      }
   },
   "$defs": {
      "ParameterList": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "values": {
               "default": [],
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Values",
               "type": "array"
            }
         },
         "title": "ParameterList",
         "type": "object"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "Parameters",
      "pl"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • parameters (collections.abc.Sequence[str])

  • pl (collections.abc.Sequence[ravenpy.config.base.ParameterList])

  • units (collections.abc.Sequence[str] | None)

Validators:
  • num_values_equal_num_names » all fields

  • set_default_units » all fields

field parameters: Sequence[str] [Required] (alias 'Parameters')

Parameter names

Validated by:
  • num_values_equal_num_names

  • set_default_units

field pl: Sequence[ParameterList] [Required]
Validated by:
  • num_values_equal_num_names

  • set_default_units

field units: Sequence[str] | None = None (alias 'Units')
Validated by:
  • num_values_equal_num_names

  • set_default_units

validator num_values_equal_num_names  »  all fields[source]

Check that the length of the parameter list equals the number of given parameter names.

validator set_default_units  »  all fields[source]
pydantic model ravenpy.config.base.LineCommand[source]

Bases: FlatCommand

A non-nested Command on a single line.

:CommandName {field_1} {field_2} … {field_n}n

EvaluationPeriod is a FlatCommand.

Show JSON schema
{
   "title": "LineCommand",
   "description": "A non-nested Command on a single line.\n\n:CommandName {field_1} {field_2} ... {field_n}\\n\n\nEvaluationPeriod is a FlatCommand.",
   "type": "object",
   "properties": {},
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

classmethod parse(s)[source]

Parse the command and return an instance of LineCommand.

to_rv()[source]

Return Raven configuration string.

pydantic model ravenpy.config.base.ListCommand[source]

Bases: RootModel, _Command

Use so that commands with __root__: Sequence[Record] behave like a list.

Show JSON schema
{
   "title": "ListCommand",
   "description": "Use so that commands with __root__: Sequence[Record] behave like a list.",
   "type": "array",
   "items": {}
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • root (collections.abc.Sequence[Any])

field root: Sequence[Any] [Required]
pydantic model ravenpy.config.base.ParameterList[source]

Bases: Record

Show JSON schema
{
   "title": "ParameterList",
   "type": "object",
   "properties": {
      "name": {
         "default": "",
         "title": "Name",
         "type": "string"
      },
      "values": {
         "default": [],
         "items": {
            "anyOf": [
               {
                  "$ref": "#/$defs/Variable"
               },
               {
                  "type": "number"
               },
               {
                  "type": "string"
               },
               {
                  "type": "null"
               }
            ]
         },
         "title": "Values",
         "type": "array"
      }
   },
   "$defs": {
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • name (str)

  • values (collections.abc.Sequence[pymbolic.primitives.Variable | pymbolic.primitives.ExpressionNode | float | None | str])

Validators:
  • no_none_in_default » all fields

field name: str = ''
Validated by:
  • no_none_in_default

field values: Sequence[Variable | ExpressionNode | float | None | str] = ()
Validated by:
  • no_none_in_default

validator no_none_in_default  »  all fields[source]

Make sure that no values are None for the [DEFAULT] record.

class ravenpy.config.base.Params[source]

Bases: object

pydantic model ravenpy.config.base.RV[source]

Bases: Command

Base class for RV configuration objects.

Show JSON schema
{
   "title": "RV",
   "description": "Base class for RV configuration objects.",
   "type": "object",
   "properties": {},
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

  • validate_default: bool = True

  • validate_assignment: bool = True

pydantic model ravenpy.config.base.Record[source]

Bases: _Record

A Record has no nested Command or Record objects. It is typically a list of named values on a single line.

For example, SubBasins is a ListCommand, whose root is a list of SubBasin Records.

Show JSON schema
{
   "title": "Record",
   "description": "A Record has no nested Command or Record objects. It is typically a list of named\nvalues on a single line.\n\nFor example, SubBasins is a ListCommand, whose root is a list of `SubBasin` Records.",
   "type": "object",
   "properties": {},
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

pydantic model ravenpy.config.base.RootCommand[source]

Bases: RootModel, _Command

Generic Command for root models.

Show JSON schema
{
   "title": "RootCommand",
   "description": "Generic Command for root models."
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • root (Any)

field root: Any [Required]
pydantic model ravenpy.config.base.RootRecord[source]

Bases: RootModel, _Record

A Record with a root attribute. This is typically used for an unnamed list of values on a single line.

For example, the list of HRUs in an HRUGroup is a RootRecord, and the weights of a GridWeights command are a sequence of records.

Show JSON schema
{
   "title": "RootRecord",
   "description": "A Record with a root attribute. This is typically used for an unnamed list of\nvalues on a single line.\n\nFor example, the list of HRUs in an HRUGroup is a RootRecord, and the weights of a GridWeights\ncommand are a sequence of records."
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:

ravenpy.config.base.encoder(v: dict) dict[source]

Return string representation of objects in dictionary.

This is meant to be applied to BaseModel attributes that either have an alias defined, or have a root attribute. The objective is to avoid creating Command objects for every configuration option:

  • bool: ‘:{cmd}n’ if obj else ‘’

  • dict: ‘:{cmd} {key} {value}’

  • enum: ‘:{cmd} {obj.value}’

  • Command: obj.to_rv()

  • Sequence: complicated

  • Any other: ‘:{cmd} {obj}’

ravenpy.config.base.optfield(**kwds)[source]

Shortcut to create an optional field with an alias.

ravenpy.config.base.parse_symbolic(value, **kwds)[source]

Inject values of symbolic variables into object and return object.

Note that parsing the output of model_dump can cause problems because there is not always enough information in the dictionary to recreate the correct model.

ravenpy.config.commands module

pydantic model ravenpy.config.commands.AssimilateStreamflow[source]

Bases: LineCommand

Subbasin ID to assimilate streamflow for.

Show JSON schema
{
   "title": "AssimilateStreamflow",
   "description": "Subbasin ID to assimilate streamflow for.",
   "type": "object",
   "properties": {
      "sb_id": {
         "title": "Sb Id",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "sb_id"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

  • coerce_numbers_to_str: bool = True

Fields:
field sb_id: str [Required]
pydantic model ravenpy.config.commands.AssimilatedState[source]

Bases: LineCommand

Show JSON schema
{
   "title": "AssimilatedState",
   "type": "object",
   "properties": {
      "state": {
         "anyOf": [
            {
               "enum": [
                  "ATMOSPHERE",
                  "ATMOS_PRECIP",
                  "CANOPY",
                  "CANOPY_SNOW",
                  "CANOPY_TEMP",
                  "COLD_CONTENT",
                  "CONSTITUENT",
                  "CONSTITUENT_SINK",
                  "CONSTITUENT_SRC",
                  "CONSTITUENT_SW",
                  "CONVOLUTION",
                  "CONV_STOR",
                  "CROP_HEAT_UNITS",
                  "CUM_INFIL",
                  "CUM_SNOWMELT",
                  "DEPRESSION",
                  "GLACIER",
                  "GLACIER_CC",
                  "GLACIER_ICE",
                  "GROUNDWATER",
                  "LAKE_STORAGE",
                  "MULTIPLE",
                  "PERMAFROST_DEPTH",
                  "PONDED_WATER",
                  "ROOT",
                  "SNOW",
                  "SNOW_AGE",
                  "SNOW_ALBEDO",
                  "SNOW_COVER",
                  "SNOW_DEPTH",
                  "SNOW_LIQ",
                  "SNOW_TEMP",
                  "SOIL",
                  "SOIL[0]",
                  "SOIL[1]",
                  "SOIL[2]",
                  "SOIL_TEMP",
                  "SURFACE_WATER",
                  "SURFACE_WATER_TEMP",
                  "TOTAL_SWE",
                  "TRUNK",
                  "WETLAND"
               ],
               "type": "string"
            },
            {
               "const": "STREAMFLOW",
               "type": "string"
            }
         ],
         "title": "State"
      },
      "group": {
         "title": "Group",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "state",
      "group"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field group: str [Required]
field state: Literal['ATMOSPHERE', 'ATMOS_PRECIP', 'CANOPY', 'CANOPY_SNOW', 'CANOPY_TEMP', 'COLD_CONTENT', 'CONSTITUENT', 'CONSTITUENT_SINK', 'CONSTITUENT_SRC', 'CONSTITUENT_SW', 'CONVOLUTION', 'CONV_STOR', 'CROP_HEAT_UNITS', 'CUM_INFIL', 'CUM_SNOWMELT', 'DEPRESSION', 'GLACIER', 'GLACIER_CC', 'GLACIER_ICE', 'GROUNDWATER', 'LAKE_STORAGE', 'MULTIPLE', 'PERMAFROST_DEPTH', 'PONDED_WATER', 'ROOT', 'SNOW', 'SNOW_AGE', 'SNOW_ALBEDO', 'SNOW_COVER', 'SNOW_DEPTH', 'SNOW_LIQ', 'SNOW_TEMP', 'SOIL', 'SOIL[0]', 'SOIL[1]', 'SOIL[2]', 'SOIL_TEMP', 'SURFACE_WATER', 'SURFACE_WATER_TEMP', 'TOTAL_SWE', 'TRUNK', 'WETLAND', 'STREAMFLOW'] [Required]
pydantic model ravenpy.config.commands.BasinIndex[source]

Bases: Command

Initial conditions for a flow segment.

Show JSON schema
{
   "title": "BasinIndex",
   "description": "Initial conditions for a flow segment.",
   "type": "object",
   "properties": {
      "sb_id": {
         "default": 1,
         "title": "Sb Id",
         "type": "integer"
      },
      "name": {
         "default": "watershed",
         "title": "Name",
         "type": "string"
      },
      "ChannelStorage": {
         "default": 0.0,
         "title": "Channelstorage",
         "type": "number"
      },
      "RivuletStorage": {
         "default": 0.0,
         "title": "Rivuletstorage",
         "type": "number"
      },
      "Qout": {
         "default": [
            1.0,
            0.0,
            0.0
         ],
         "items": {
            "type": "number"
         },
         "title": "Qout",
         "type": "array"
      },
      "Qlat": {
         "anyOf": [
            {
               "items": {
                  "type": "number"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Qlat"
      },
      "Qin": {
         "anyOf": [
            {
               "items": {
                  "type": "number"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Qin"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

  • coerce_numbers_to_str: bool = True

Fields:
field channel_storage: float = 0.0 (alias 'ChannelStorage')
field name: str = 'watershed'
field qin: Sequence[float] | None = None (alias 'Qin')
field qlat: Sequence[float] | None = None (alias 'Qlat')
field qout: Sequence[float] = (1.0, 0.0, 0.0) (alias 'Qout')
field rivulet_storage: float = 0.0 (alias 'RivuletStorage')
field sb_id: int = 1
classmethod parse(s)[source]
pydantic model ravenpy.config.commands.BasinStateVariables[source]

Bases: ListCommand

Show JSON schema
{
   "title": "BasinStateVariables",
   "type": "array",
   "$defs": {
      "BasinIndex": {
         "additionalProperties": false,
         "description": "Initial conditions for a flow segment.",
         "properties": {
            "sb_id": {
               "default": 1,
               "title": "Sb Id",
               "type": "integer"
            },
            "name": {
               "default": "watershed",
               "title": "Name",
               "type": "string"
            },
            "ChannelStorage": {
               "default": 0.0,
               "title": "Channelstorage",
               "type": "number"
            },
            "RivuletStorage": {
               "default": 0.0,
               "title": "Rivuletstorage",
               "type": "number"
            },
            "Qout": {
               "default": [
                  1.0,
                  0.0,
                  0.0
               ],
               "items": {
                  "type": "number"
               },
               "title": "Qout",
               "type": "array"
            },
            "Qlat": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Qlat"
            },
            "Qin": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Qin"
            }
         },
         "title": "BasinIndex",
         "type": "object"
      }
   },
   "items": {
      "$ref": "#/$defs/BasinIndex"
   }
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field root: Sequence[BasinIndex] [Required]
classmethod parse(sol)[source]
pydantic model ravenpy.config.commands.ChannelProfile[source]

Bases: FlatCommand

ChannelProfile command (RVP).

Show JSON schema
{
   "title": "ChannelProfile",
   "description": "ChannelProfile command (RVP).",
   "type": "object",
   "properties": {
      "name": {
         "default": "chn_XXX",
         "title": "Name",
         "type": "string"
      },
      "Bedslope": {
         "default": 0,
         "title": "Bedslope",
         "type": "number"
      },
      "SurveyPoints": {
         "$ref": "#/$defs/SurveyPoints"
      },
      "RoughnessZones": {
         "$ref": "#/$defs/RoughnessZones"
      }
   },
   "$defs": {
      "RoughnessZone": {
         "default": [],
         "description": "RoughnessZone record.",
         "maxItems": 2,
         "minItems": 2,
         "prefixItems": [
            {
               "type": "number"
            },
            {
               "type": "number"
            }
         ],
         "title": "RoughnessZone",
         "type": "array"
      },
      "RoughnessZones": {
         "default": [
            []
         ],
         "description": "RoughnessZones record.\n\n[x_zone, mannings_n] x number of roughness zones.",
         "items": {
            "$ref": "#/$defs/RoughnessZone"
         },
         "title": "RoughnessZones",
         "type": "array"
      },
      "SurveyPoint": {
         "default": [],
         "description": "SurveyPoint record.",
         "maxItems": 2,
         "minItems": 2,
         "prefixItems": [
            {
               "type": "number"
            },
            {
               "type": "number"
            }
         ],
         "title": "SurveyPoint",
         "type": "array"
      },
      "SurveyPoints": {
         "default": [
            []
         ],
         "description": "SurveyPoints\n\n[x, bed_elevation] x number of survey points.",
         "items": {
            "$ref": "#/$defs/SurveyPoint"
         },
         "title": "SurveyPoints",
         "type": "array"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field bed_slope: float = 0 (alias 'Bedslope')
field name: str = 'chn_XXX'
field roughness_zones: RoughnessZones = RoughnessZones(root=(RoughnessZone(root=()),)) (alias 'RoughnessZones')
field survey_points: SurveyPoints = SurveyPoints(root=(SurveyPoint(root=()),)) (alias 'SurveyPoints')
pydantic model RoughnessZones[source]

Bases: ListCommand

RoughnessZones record.

[x_zone, mannings_n] x number of roughness zones.

Show JSON schema
{
   "title": "RoughnessZones",
   "description": "RoughnessZones record.\n\n[x_zone, mannings_n] x number of roughness zones.",
   "type": "array",
   "$defs": {
      "RoughnessZone": {
         "default": [],
         "description": "RoughnessZone record.",
         "maxItems": 2,
         "minItems": 2,
         "prefixItems": [
            {
               "type": "number"
            },
            {
               "type": "number"
            }
         ],
         "title": "RoughnessZone",
         "type": "array"
      }
   },
   "default": [
      []
   ],
   "items": {
      "$ref": "#/$defs/RoughnessZone"
   }
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • root (collections.abc.Sequence[ravenpy.config.commands.ChannelProfile.RoughnessZones.RoughnessZone])

field root: Sequence[RoughnessZone] = (RoughnessZone(root=()),)
pydantic model RoughnessZone[source]

Bases: RootRecord

RoughnessZone record.

Show JSON schema
{
   "title": "RoughnessZone",
   "description": "RoughnessZone record.",
   "type": "array",
   "default": [],
   "maxItems": 2,
   "minItems": 2,
   "prefixItems": [
      {
         "type": "number"
      },
      {
         "type": "number"
      }
   ]
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • root (tuple[float, float])

field root: tuple[float, float] = ()
pydantic model SurveyPoints[source]

Bases: ListCommand

SurveyPoints

[x, bed_elevation] x number of survey points.

Show JSON schema
{
   "title": "SurveyPoints",
   "description": "SurveyPoints\n\n[x, bed_elevation] x number of survey points.",
   "type": "array",
   "$defs": {
      "SurveyPoint": {
         "default": [],
         "description": "SurveyPoint record.",
         "maxItems": 2,
         "minItems": 2,
         "prefixItems": [
            {
               "type": "number"
            },
            {
               "type": "number"
            }
         ],
         "title": "SurveyPoint",
         "type": "array"
      }
   },
   "default": [
      []
   ],
   "items": {
      "$ref": "#/$defs/SurveyPoint"
   }
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • root (collections.abc.Sequence[ravenpy.config.commands.ChannelProfile.SurveyPoints.SurveyPoint])

field root: Sequence[SurveyPoint] = (SurveyPoint(root=()),)
pydantic model SurveyPoint[source]

Bases: RootRecord

SurveyPoint record.

Show JSON schema
{
   "title": "SurveyPoint",
   "description": "SurveyPoint record.",
   "type": "array",
   "default": [],
   "maxItems": 2,
   "minItems": 2,
   "prefixItems": [
      {
         "type": "number"
      },
      {
         "type": "number"
      }
   ]
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • root (tuple[float, float])

field root: tuple[float, float] = ()
classmethod parse(s) list[source]

Parse ChannelProfile commands and return a list of ChannelProfile records.

pydantic model ravenpy.config.commands.CustomOutput[source]

Bases: LineCommand

Create custom output file to track a single variable, parameter, or forcing function over time at a number of basins, HRUs, or across watershed.

:CustomOutput DAILY AVERAGE AET BY_HRU

Show JSON schema
{
   "title": "CustomOutput",
   "description": "Create custom output file to track a single variable, parameter, or forcing function over time at a number of basins, HRUs, or across watershed.\n\n:CustomOutput DAILY AVERAGE AET BY_HRU",
   "type": "object",
   "properties": {
      "time_per": {
         "enum": [
            "DAILY",
            "MONTHLY",
            "YEARLY",
            "WATER_YEARLY",
            "CONTINUOUS"
         ],
         "title": "Time Per",
         "type": "string"
      },
      "stat": {
         "enum": [
            "AVERAGE",
            "MAXIMUM",
            "MINIMUM",
            "RANGE",
            "MEDIAN",
            "QUARTILES"
         ],
         "title": "Stat",
         "type": "string"
      },
      "variable": {
         "title": "Variable",
         "type": "string"
      },
      "space_agg": {
         "enum": [
            "BY_BASIN",
            "BY_HRU",
            "BY_HRU_GROUP",
            "BY_SB_GROUP",
            "ENTIRE_WATERSHED"
         ],
         "title": "Space Agg",
         "type": "string"
      },
      "filename": {
         "default": "",
         "title": "Filename",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "time_per",
      "stat",
      "variable",
      "space_agg"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field filename: str = ''

Output file name.

Defaults to something approximately like: <run name>_<variable>_<time_per>_<stat>_<space_agg>.nc.

field space_agg: Literal['BY_BASIN', 'BY_HRU', 'BY_HRU_GROUP', 'BY_SB_GROUP', 'ENTIRE_WATERSHED'] [Required]

Spatial evaluation domain.

field stat: Literal['AVERAGE', 'MAXIMUM', 'MINIMUM', 'RANGE', 'MEDIAN', 'QUARTILES'] [Required]

Statistic reported for each time interval.

field time_per: Literal['DAILY', 'MONTHLY', 'YEARLY', 'WATER_YEARLY', 'CONTINUOUS'] [Required]

Time period.

field variable: str [Required]

Variable or parameter name.

Consult the Raven documentation for the list of allowed names.

pydantic model ravenpy.config.commands.Data[source]

Bases: FlatCommand

Show JSON schema
{
   "title": "Data",
   "type": "object",
   "properties": {
      "data_type": {
         "default": "",
         "enum": [
            "AIR_DENS",
            "AIR_PRES",
            "CLOUD_COVER",
            "DAY_ANGLE",
            "DAY_LENGTH",
            "ET_RADIA",
            "LW_INCOMING",
            "LW_RADIA_NET",
            "OW_PET",
            "PET",
            "PET_MONTH_AVE",
            "POTENTIAL_MELT",
            "PRECIP",
            "PRECIP_5DAY",
            "PRECIP_DAILY_AVE",
            "RAINFALL",
            "RECHARGE",
            "REL_HUMIDITY",
            "SHORTWAVE",
            "SNOWFALL",
            "SNOW_FRAC",
            "SUBDAILY_CORR",
            "SW_RADIA",
            "SW_RADIA_NET",
            "TEMP_AVE",
            "TEMP_AVE_UNC",
            "TEMP_DAILY_AVE",
            "TEMP_DAILY_MAX",
            "TEMP_DAILY_MIN",
            "TEMP_MAX",
            "TEMP_MAX_UNC",
            "TEMP_MIN",
            "TEMP_MIN_UNC",
            "TEMP_MONTH_AVE",
            "TEMP_MONTH_MAX",
            "TEMP_MONTH_MIN",
            "WIND_VEL"
         ],
         "title": "Data Type",
         "type": "string"
      },
      "units": {
         "default": "",
         "title": "Units",
         "type": "string"
      },
      "ReadFromNetCDF": {
         "$ref": "#/$defs/ReadFromNetCDF"
      }
   },
   "$defs": {
      "LinearTransform": {
         "additionalProperties": false,
         "description": ":LinearTransform 1.0 -273.15",
         "properties": {
            "scale": {
               "default": 1,
               "title": "Scale",
               "type": "number"
            },
            "offset": {
               "default": 0,
               "title": "Offset",
               "type": "number"
            }
         },
         "title": "LinearTransform",
         "type": "object"
      },
      "ReadFromNetCDF": {
         "additionalProperties": false,
         "properties": {
            "FileNameNC": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "format": "path",
                     "type": "string"
                  }
               ],
               "description": "NetCDF file name.",
               "title": "Filenamenc"
            },
            "VarNameNC": {
               "description": "NetCDF variable name.",
               "title": "Varnamenc",
               "type": "string"
            },
            "DimNamesNC": {
               "items": {
                  "type": "string"
               },
               "title": "Dimnamesnc",
               "type": "array"
            },
            "StationIdx": {
               "default": 1,
               "description": "NetCDF index along station dimension. Starts at 1.",
               "title": "Stationidx",
               "type": "integer"
            },
            "TimeShift": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Time stamp shift in days.",
               "title": "Timeshift"
            },
            "LinearTransform": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinearTransform"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "Deaccumulate": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Deaccumulate"
            },
            "LatitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Latitudevarnamenc"
            },
            "LongitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Longitudevarnamenc"
            },
            "ElevationVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Elevationvarnamenc"
            }
         },
         "required": [
            "FileNameNC",
            "VarNameNC",
            "DimNamesNC"
         ],
         "title": "ReadFromNetCDF",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "ReadFromNetCDF"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field data_type: Literal['AIR_DENS', 'AIR_PRES', 'CLOUD_COVER', 'DAY_ANGLE', 'DAY_LENGTH', 'ET_RADIA', 'LW_INCOMING', 'LW_RADIA_NET', 'OW_PET', 'PET', 'PET_MONTH_AVE', 'POTENTIAL_MELT', 'PRECIP', 'PRECIP_5DAY', 'PRECIP_DAILY_AVE', 'RAINFALL', 'RECHARGE', 'REL_HUMIDITY', 'SHORTWAVE', 'SNOWFALL', 'SNOW_FRAC', 'SUBDAILY_CORR', 'SW_RADIA', 'SW_RADIA_NET', 'TEMP_AVE', 'TEMP_AVE_UNC', 'TEMP_DAILY_AVE', 'TEMP_DAILY_MAX', 'TEMP_DAILY_MIN', 'TEMP_MAX', 'TEMP_MAX_UNC', 'TEMP_MIN', 'TEMP_MIN_UNC', 'TEMP_MONTH_AVE', 'TEMP_MONTH_MAX', 'TEMP_MONTH_MIN', 'WIND_VEL'] = ''
field read_from_netcdf: ReadFromNetCDF [Required] (alias 'ReadFromNetCDF')
field units: str = ''
classmethod from_nc(fn, data_type, station_idx=1, alt_names=(), **kwds)[source]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.commands.EnsembleMode[source]

Bases: LineCommand

Show JSON schema
{
   "title": "EnsembleMode",
   "type": "object",
   "properties": {
      "mode": {
         "const": "ENSEMBLE_ENKF",
         "default": "ENSEMBLE_ENKF",
         "title": "Mode",
         "type": "string"
      },
      "n": {
         "description": "Number of members",
         "title": "N",
         "type": "integer"
      }
   },
   "additionalProperties": false,
   "required": [
      "n"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field mode: Literal['ENSEMBLE_ENKF'] = 'ENSEMBLE_ENKF'
field n: int [Required]

Number of members

pydantic model ravenpy.config.commands.EvaluationPeriod[source]

Bases: LineCommand

:EvaluationPeriod [period_name] [start yyyy-mm-dd] [end yyyy-mm-dd]

Show JSON schema
{
   "title": "EvaluationPeriod",
   "description": ":EvaluationPeriod [period_name] [start yyyy-mm-dd] [end yyyy-mm-dd]",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "type": "string"
      },
      "start": {
         "format": "date",
         "title": "Start",
         "type": "string"
      },
      "end": {
         "format": "date",
         "title": "End",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "name",
      "start",
      "end"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field end: date [Required]
field name: str [Required]
field start: date [Required]
pydantic model ravenpy.config.commands.ForcingPerturbation[source]

Bases: LineCommand

Show JSON schema
{
   "title": "ForcingPerturbation",
   "type": "object",
   "properties": {
      "forcing": {
         "enum": [
            "AIR_DENS",
            "AIR_PRES",
            "CLOUD_COVER",
            "DAY_ANGLE",
            "DAY_LENGTH",
            "ET_RADIA",
            "LW_INCOMING",
            "LW_RADIA_NET",
            "OW_PET",
            "PET",
            "PET_MONTH_AVE",
            "POTENTIAL_MELT",
            "PRECIP",
            "PRECIP_5DAY",
            "PRECIP_DAILY_AVE",
            "RAINFALL",
            "RECHARGE",
            "REL_HUMIDITY",
            "SHORTWAVE",
            "SNOWFALL",
            "SNOW_FRAC",
            "SUBDAILY_CORR",
            "SW_RADIA",
            "SW_RADIA_NET",
            "TEMP_AVE",
            "TEMP_AVE_UNC",
            "TEMP_DAILY_AVE",
            "TEMP_DAILY_MAX",
            "TEMP_DAILY_MIN",
            "TEMP_MAX",
            "TEMP_MAX_UNC",
            "TEMP_MIN",
            "TEMP_MIN_UNC",
            "TEMP_MONTH_AVE",
            "TEMP_MONTH_MAX",
            "TEMP_MONTH_MIN",
            "WIND_VEL"
         ],
         "title": "Forcing",
         "type": "string"
      },
      "dist": {
         "enum": [
            "DIST_UNIFORM",
            "DIST_NORMAL",
            "DIST_GAMMA"
         ],
         "title": "Dist",
         "type": "string"
      },
      "p1": {
         "title": "P1",
         "type": "number"
      },
      "p2": {
         "title": "P2",
         "type": "number"
      },
      "adj": {
         "enum": [
            "ADDITIVE",
            "MULTIPLICATIVE"
         ],
         "title": "Adj",
         "type": "string"
      },
      "hru_grp": {
         "default": "",
         "title": "Hru Grp",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "forcing",
      "dist",
      "p1",
      "p2",
      "adj"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field adj: Literal['ADDITIVE', 'MULTIPLICATIVE'] [Required]
field dist: Literal['DIST_UNIFORM', 'DIST_NORMAL', 'DIST_GAMMA'] [Required]
field forcing: Literal['AIR_DENS', 'AIR_PRES', 'CLOUD_COVER', 'DAY_ANGLE', 'DAY_LENGTH', 'ET_RADIA', 'LW_INCOMING', 'LW_RADIA_NET', 'OW_PET', 'PET', 'PET_MONTH_AVE', 'POTENTIAL_MELT', 'PRECIP', 'PRECIP_5DAY', 'PRECIP_DAILY_AVE', 'RAINFALL', 'RECHARGE', 'REL_HUMIDITY', 'SHORTWAVE', 'SNOWFALL', 'SNOW_FRAC', 'SUBDAILY_CORR', 'SW_RADIA', 'SW_RADIA_NET', 'TEMP_AVE', 'TEMP_AVE_UNC', 'TEMP_DAILY_AVE', 'TEMP_DAILY_MAX', 'TEMP_DAILY_MIN', 'TEMP_MAX', 'TEMP_MAX_UNC', 'TEMP_MIN', 'TEMP_MIN_UNC', 'TEMP_MONTH_AVE', 'TEMP_MONTH_MAX', 'TEMP_MONTH_MIN', 'WIND_VEL'] [Required]
field hru_grp: str = ''
field p1: float [Required]
field p2: float [Required]
pydantic model ravenpy.config.commands.Gauge[source]

Bases: FlatCommand

Show JSON schema
{
   "title": "Gauge",
   "type": "object",
   "properties": {
      "name": {
         "default": "default",
         "title": "Name",
         "type": "string"
      },
      "Latitude": {
         "title": "Latitude",
         "type": "number"
      },
      "Longitude": {
         "title": "Longitude",
         "type": "number"
      },
      "Elevation": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Elevation"
      },
      "RainCorrection": {
         "anyOf": [
            {
               "$ref": "#/$defs/Variable"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Rain correction",
         "title": "Raincorrection"
      },
      "SnowCorrection": {
         "anyOf": [
            {
               "$ref": "#/$defs/Variable"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Snow correction",
         "title": "Snowcorrection"
      },
      "MonthlyAveEvaporation": {
         "anyOf": [
            {
               "items": {},
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Monthlyaveevaporation"
      },
      "MonthlyAveTemperature": {
         "anyOf": [
            {
               "items": {},
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Monthlyavetemperature"
      },
      "MonthlyMinTemperature": {
         "anyOf": [
            {
               "items": {},
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Monthlymintemperature"
      },
      "MonthlyMaxTemperature": {
         "anyOf": [
            {
               "items": {},
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Monthlymaxtemperature"
      },
      "Data": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/Data"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Data"
      }
   },
   "$defs": {
      "Data": {
         "additionalProperties": false,
         "properties": {
            "data_type": {
               "default": "",
               "enum": [
                  "AIR_DENS",
                  "AIR_PRES",
                  "CLOUD_COVER",
                  "DAY_ANGLE",
                  "DAY_LENGTH",
                  "ET_RADIA",
                  "LW_INCOMING",
                  "LW_RADIA_NET",
                  "OW_PET",
                  "PET",
                  "PET_MONTH_AVE",
                  "POTENTIAL_MELT",
                  "PRECIP",
                  "PRECIP_5DAY",
                  "PRECIP_DAILY_AVE",
                  "RAINFALL",
                  "RECHARGE",
                  "REL_HUMIDITY",
                  "SHORTWAVE",
                  "SNOWFALL",
                  "SNOW_FRAC",
                  "SUBDAILY_CORR",
                  "SW_RADIA",
                  "SW_RADIA_NET",
                  "TEMP_AVE",
                  "TEMP_AVE_UNC",
                  "TEMP_DAILY_AVE",
                  "TEMP_DAILY_MAX",
                  "TEMP_DAILY_MIN",
                  "TEMP_MAX",
                  "TEMP_MAX_UNC",
                  "TEMP_MIN",
                  "TEMP_MIN_UNC",
                  "TEMP_MONTH_AVE",
                  "TEMP_MONTH_MAX",
                  "TEMP_MONTH_MIN",
                  "WIND_VEL"
               ],
               "title": "Data Type",
               "type": "string"
            },
            "units": {
               "default": "",
               "title": "Units",
               "type": "string"
            },
            "ReadFromNetCDF": {
               "$ref": "#/$defs/ReadFromNetCDF"
            }
         },
         "required": [
            "ReadFromNetCDF"
         ],
         "title": "Data",
         "type": "object"
      },
      "LinearTransform": {
         "additionalProperties": false,
         "description": ":LinearTransform 1.0 -273.15",
         "properties": {
            "scale": {
               "default": 1,
               "title": "Scale",
               "type": "number"
            },
            "offset": {
               "default": 0,
               "title": "Offset",
               "type": "number"
            }
         },
         "title": "LinearTransform",
         "type": "object"
      },
      "ReadFromNetCDF": {
         "additionalProperties": false,
         "properties": {
            "FileNameNC": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "format": "path",
                     "type": "string"
                  }
               ],
               "description": "NetCDF file name.",
               "title": "Filenamenc"
            },
            "VarNameNC": {
               "description": "NetCDF variable name.",
               "title": "Varnamenc",
               "type": "string"
            },
            "DimNamesNC": {
               "items": {
                  "type": "string"
               },
               "title": "Dimnamesnc",
               "type": "array"
            },
            "StationIdx": {
               "default": 1,
               "description": "NetCDF index along station dimension. Starts at 1.",
               "title": "Stationidx",
               "type": "integer"
            },
            "TimeShift": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Time stamp shift in days.",
               "title": "Timeshift"
            },
            "LinearTransform": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinearTransform"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "Deaccumulate": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Deaccumulate"
            },
            "LatitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Latitudevarnamenc"
            },
            "LongitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Longitudevarnamenc"
            },
            "ElevationVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Elevationvarnamenc"
            }
         },
         "required": [
            "FileNameNC",
            "VarNameNC",
            "DimNamesNC"
         ],
         "title": "ReadFromNetCDF",
         "type": "object"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "Latitude",
      "Longitude"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
Validators:
field data: Sequence[Data] | None = None (alias 'Data')
field elevation: float | None = None (alias 'Elevation')
field latitude: float [Required] (alias 'Latitude')
field longitude: float [Required] (alias 'Longitude')
field monthly_ave_evaporation: Sequence | None = None (alias 'MonthlyAveEvaporation')
Validated by:
field monthly_ave_temperature: Sequence | None = None (alias 'MonthlyAveTemperature')
Validated by:
field monthly_max_temperature: Sequence | None = None (alias 'MonthlyMaxTemperature')
field monthly_min_temperature: Sequence | None = None (alias 'MonthlyMinTemperature')
field name: str = 'default'
field rain_correction: Variable | ExpressionNode | float | None = None (alias 'RainCorrection')

Rain correction

field snow_correction: Variable | ExpressionNode | float | None = None (alias 'SnowCorrection')

Snow correction

validator confirm_monthly  »  monthly_ave_temperature, monthly_ave_evaporation[source]
classmethod from_nc(fn: str | Path | Sequence[Path], data_type: Sequence[str] | None = None, station_idx: int = 1, alt_names: dict[str, str] | None = None, mon_ave: bool = False, data_kwds: dict[str, Any] | None = None, engine: str = 'h5netcdf', **kwds) Gauge[source]

Return Gauge instance with configuration options inferred from the netCDF itself.

Parameters:
  • fn (str or Path or Sequence[Path]) – NetCDF file path or paths.

  • data_type (Sequence[str], optional) – Raven data types to extract from netCDF files, e.g. ‘PRECIP’, ‘AVE_TEMP’. The algorithm tries to find all forcings in each file until one is found, then it stops searching for it in the following files.

  • station_idx (int) – Index along station dimension. Starts at 1. Should be the same for all netCDF files.

  • alt_names (dict) – Alternative variable names keyed by data type. Use this if variables do not correspond to CF standard defaults.

  • mon_ave (bool) – If True, compute the monthly average.

  • data_kwds (dict[options.Forcings, dict[str, str]]) – Additional :Data parameters keyed by forcing type and station id. Overrides inferred parameters. Use keyword “ALL” to pass parameters to all variables.

  • engine ({"h5netcdf", "netcdf4", "pydap"}) – The engine used to open the dataset. Default is ‘h5netcdf’.

  • **kwds (dict) – Additional arguments for Gauge.

Returns:

Gauge instance.

Return type:

Gauge

model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

property ds: Dataset

Return xarray Dataset with forcing variables keyed by Raven forcing names.

pydantic model ravenpy.config.commands.GridWeights[source]

Bases: Command

GridWeights command.

Notes

command can be embedded in both a GriddedForcing or a StationForcing.

The default is to have a single cell that covers an entire single HRU, with a weight of 1.

Show JSON schema
{
   "title": "GridWeights",
   "description": "GridWeights command.\n\nNotes\n-----\ncommand can be embedded in both a `GriddedForcing` or a `StationForcing`.\n\nThe default is to have a single cell that covers an entire single HRU, with a\nweight of 1.",
   "type": "object",
   "properties": {
      "NumberHRUs": {
         "default": 1,
         "title": "Numberhrus",
         "type": "integer"
      },
      "NumberGridCells": {
         "default": 1,
         "title": "Numbergridcells",
         "type": "integer"
      },
      "data": {
         "default": [
            [
               1,
               0,
               1.0
            ]
         ],
         "items": {
            "$ref": "#/$defs/GWRecord"
         },
         "title": "Data",
         "type": "array"
      }
   },
   "$defs": {
      "GWRecord": {
         "default": [
            1,
            0,
            1.0
         ],
         "description": "GridWeights record.",
         "maxItems": 3,
         "minItems": 3,
         "prefixItems": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            },
            {
               "type": "number"
            }
         ],
         "title": "GWRecord",
         "type": "array"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field data: Sequence[GWRecord] = (GWRecord(root=(1, 0, 1.0)),)
field number_grid_cells: int = 1 (alias 'NumberGridCells')
field number_hrus: int = 1 (alias 'NumberHRUs')
pydantic model GWRecord[source]

Bases: RootRecord

GridWeights record.

Show JSON schema
{
   "title": "GWRecord",
   "description": "GridWeights record.",
   "type": "array",
   "default": [
      1,
      0,
      1.0
   ],
   "maxItems": 3,
   "minItems": 3,
   "prefixItems": [
      {
         "type": "integer"
      },
      {
         "type": "integer"
      },
      {
         "type": "number"
      }
   ]
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • root (tuple[int, int, float])

field root: tuple[int, int, float] = (1, 0, 1.0)
classmethod parse(s)[source]
pydantic model ravenpy.config.commands.GriddedForcing[source]

Bases: ReadFromNetCDF

GriddedForcing command (RVT).

Show JSON schema
{
   "title": "GriddedForcing",
   "description": "GriddedForcing command (RVT).",
   "type": "object",
   "properties": {
      "FileNameNC": {
         "anyOf": [
            {
               "format": "uri",
               "maxLength": 2083,
               "minLength": 1,
               "type": "string"
            },
            {
               "format": "path",
               "type": "string"
            }
         ],
         "description": "NetCDF file name.",
         "title": "Filenamenc"
      },
      "VarNameNC": {
         "description": "NetCDF variable name.",
         "title": "Varnamenc",
         "type": "string"
      },
      "DimNamesNC": {
         "items": {
            "type": "string"
         },
         "title": "Dimnamesnc",
         "type": "array"
      },
      "station_idx": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Station Idx"
      },
      "TimeShift": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Time stamp shift in days.",
         "title": "Timeshift"
      },
      "LinearTransform": {
         "anyOf": [
            {
               "$ref": "#/$defs/LinearTransform"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "Deaccumulate": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Deaccumulate"
      },
      "LatitudeVarNameNC": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Latitudevarnamenc"
      },
      "LongitudeVarNameNC": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Longitudevarnamenc"
      },
      "ElevationVarNameNC": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Elevationvarnamenc"
      },
      "name": {
         "default": "",
         "title": "Name",
         "type": "string"
      },
      "ForcingType": {
         "anyOf": [
            {
               "enum": [
                  "AIR_DENS",
                  "AIR_PRES",
                  "CLOUD_COVER",
                  "DAY_ANGLE",
                  "DAY_LENGTH",
                  "ET_RADIA",
                  "LW_INCOMING",
                  "LW_RADIA_NET",
                  "OW_PET",
                  "PET",
                  "PET_MONTH_AVE",
                  "POTENTIAL_MELT",
                  "PRECIP",
                  "PRECIP_5DAY",
                  "PRECIP_DAILY_AVE",
                  "RAINFALL",
                  "RECHARGE",
                  "REL_HUMIDITY",
                  "SHORTWAVE",
                  "SNOWFALL",
                  "SNOW_FRAC",
                  "SUBDAILY_CORR",
                  "SW_RADIA",
                  "SW_RADIA_NET",
                  "TEMP_AVE",
                  "TEMP_AVE_UNC",
                  "TEMP_DAILY_AVE",
                  "TEMP_DAILY_MAX",
                  "TEMP_DAILY_MIN",
                  "TEMP_MAX",
                  "TEMP_MAX_UNC",
                  "TEMP_MIN",
                  "TEMP_MIN_UNC",
                  "TEMP_MONTH_AVE",
                  "TEMP_MONTH_MAX",
                  "TEMP_MONTH_MIN",
                  "WIND_VEL"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Forcingtype"
      },
      "GridWeights": {
         "anyOf": [
            {
               "$ref": "#/$defs/GridWeights"
            },
            {
               "$ref": "#/$defs/RedirectToFile"
            }
         ],
         "default": {
            "NumberHRUs": 1,
            "NumberGridCells": 1,
            "data": [
               [
                  1,
                  0,
                  1.0
               ]
            ]
         },
         "title": "Gridweights"
      }
   },
   "$defs": {
      "GWRecord": {
         "default": [
            1,
            0,
            1.0
         ],
         "description": "GridWeights record.",
         "maxItems": 3,
         "minItems": 3,
         "prefixItems": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            },
            {
               "type": "number"
            }
         ],
         "title": "GWRecord",
         "type": "array"
      },
      "GridWeights": {
         "additionalProperties": false,
         "description": "GridWeights command.\n\nNotes\n-----\ncommand can be embedded in both a `GriddedForcing` or a `StationForcing`.\n\nThe default is to have a single cell that covers an entire single HRU, with a\nweight of 1.",
         "properties": {
            "NumberHRUs": {
               "default": 1,
               "title": "Numberhrus",
               "type": "integer"
            },
            "NumberGridCells": {
               "default": 1,
               "title": "Numbergridcells",
               "type": "integer"
            },
            "data": {
               "default": [
                  [
                     1,
                     0,
                     1.0
                  ]
               ],
               "items": {
                  "$ref": "#/$defs/GWRecord"
               },
               "title": "Data",
               "type": "array"
            }
         },
         "title": "GridWeights",
         "type": "object"
      },
      "LinearTransform": {
         "additionalProperties": false,
         "description": ":LinearTransform 1.0 -273.15",
         "properties": {
            "scale": {
               "default": 1,
               "title": "Scale",
               "type": "number"
            },
            "offset": {
               "default": 0,
               "title": "Offset",
               "type": "number"
            }
         },
         "title": "LinearTransform",
         "type": "object"
      },
      "RedirectToFile": {
         "description": "RedirectToFile command (RVT).\n\nNotes\n-----\nFor the moment, this command can only be used in the context of a `GriddedForcingCommand`\nor a `StationForcingCommand`, as a `grid_weights` field replacement when inlining is not\ndesired.",
         "format": "file-path",
         "title": "RedirectToFile",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "FileNameNC",
      "VarNameNC",
      "DimNamesNC"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
Validators:
field forcing_type: Literal['AIR_DENS', 'AIR_PRES', 'CLOUD_COVER', 'DAY_ANGLE', 'DAY_LENGTH', 'ET_RADIA', 'LW_INCOMING', 'LW_RADIA_NET', 'OW_PET', 'PET', 'PET_MONTH_AVE', 'POTENTIAL_MELT', 'PRECIP', 'PRECIP_5DAY', 'PRECIP_DAILY_AVE', 'RAINFALL', 'RECHARGE', 'REL_HUMIDITY', 'SHORTWAVE', 'SNOWFALL', 'SNOW_FRAC', 'SUBDAILY_CORR', 'SW_RADIA', 'SW_RADIA_NET', 'TEMP_AVE', 'TEMP_AVE_UNC', 'TEMP_DAILY_AVE', 'TEMP_DAILY_MAX', 'TEMP_DAILY_MIN', 'TEMP_MAX', 'TEMP_MAX_UNC', 'TEMP_MIN', 'TEMP_MIN_UNC', 'TEMP_MONTH_AVE', 'TEMP_MONTH_MAX', 'TEMP_MONTH_MIN', 'WIND_VEL'] | None = None (alias 'ForcingType')
field grid_weights: GridWeights | RedirectToFile = GridWeights(number_hrus=1, number_grid_cells=1, data=(GWRecord(root=(1, 0, 1.0)),)) (alias 'GridWeights')
field name: str = ''
field station_idx: int | None = None
validator check_dims  »  dim_names_nc[source]
pydantic model ravenpy.config.commands.HRU[source]

Bases: Record

Record to populate :HRUs command internal table (RVH).

Show JSON schema
{
   "title": "HRU",
   "description": "Record to populate :HRUs command internal table (RVH).",
   "type": "object",
   "properties": {
      "hru_id": {
         "default": 1,
         "exclusiveMinimum": 0,
         "title": "Hru Id",
         "type": "integer"
      },
      "area": {
         "anyOf": [
            {
               "$ref": "#/$defs/Variable"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": 0,
         "title": "Area"
      },
      "elevation": {
         "default": 0,
         "title": "Elevation",
         "type": "number"
      },
      "latitude": {
         "default": 0,
         "title": "Latitude",
         "type": "number"
      },
      "longitude": {
         "default": 0,
         "title": "Longitude",
         "type": "number"
      },
      "subbasin_id": {
         "default": 1,
         "exclusiveMinimum": 0,
         "title": "Subbasin Id",
         "type": "integer"
      },
      "land_use_class": {
         "default": "[NONE]",
         "title": "Land Use Class",
         "type": "string"
      },
      "veg_class": {
         "default": "[NONE]",
         "title": "Veg Class",
         "type": "string"
      },
      "soil_profile": {
         "default": "[NONE]",
         "title": "Soil Profile",
         "type": "string"
      },
      "aquifer_profile": {
         "default": "[NONE]",
         "title": "Aquifer Profile",
         "type": "string"
      },
      "terrain_class": {
         "default": "[NONE]",
         "title": "Terrain Class",
         "type": "string"
      },
      "slope": {
         "default": 0.0,
         "minimum": 0,
         "title": "Slope",
         "type": "number"
      },
      "aspect": {
         "default": 0.0,
         "maximum": 360,
         "minimum": 0,
         "title": "Aspect",
         "type": "number"
      },
      "hru_type": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Hru Type"
      }
   },
   "$defs": {
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field aquifer_profile: str = '[NONE]'
field area: Variable | ExpressionNode | float | None = 0
field aspect: Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0), Le(le=360)])] = 0.0
Constraints:
  • ge = 0

  • le = 360

field elevation: float = 0
field hru_id: Annotated[int, Gt(gt=0)] = 1
Constraints:
  • gt = 0

field hru_type: str | None = None
field land_use_class: str = '[NONE]'
field latitude: float = 0
field longitude: float = 0
field slope: Annotated[float, Ge(ge=0)] = 0.0
Constraints:
  • ge = 0

field soil_profile: str = '[NONE]'
field subbasin_id: Annotated[int, Gt(gt=0)] = 1
Constraints:
  • gt = 0

field terrain_class: str = '[NONE]'
field veg_class: str = '[NONE]'
pydantic model ravenpy.config.commands.HRUGroup[source]

Bases: FlatCommand

Show JSON schema
{
   "title": "HRUGroup",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "type": "string"
      },
      "groups": {
         "$ref": "#/$defs/_Rec"
      }
   },
   "$defs": {
      "_Rec": {
         "items": {
            "type": "string"
         },
         "title": "_Rec",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "name",
      "groups"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field groups: _Rec [Required]
field name: str [Required]
pydantic model ravenpy.config.commands.HRUState[source]

Bases: Record

Show JSON schema
{
   "title": "HRUState",
   "type": "object",
   "properties": {
      "hru_id": {
         "default": 1,
         "title": "Hru Id",
         "type": "integer"
      },
      "data": {
         "additionalProperties": {
            "anyOf": [
               {
                  "$ref": "#/$defs/Variable"
               },
               {
                  "type": "number"
               },
               {
                  "type": "null"
               }
            ]
         },
         "title": "Data",
         "type": "object"
      }
   },
   "$defs": {
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field data: dict[str, Variable | ExpressionNode | float | None] [Optional]
field hru_id: int = 1
classmethod parse(sol, names=None)[source]
pydantic model ravenpy.config.commands.HRUStateVariableTable[source]

Bases: ListCommand

Table of HRU state variables.

If the HRUState include different attributes, the states will be modified to include all attributes.

Show JSON schema
{
   "title": "HRUStateVariableTable",
   "description": "Table of HRU state variables.\n\nIf the HRUState include different attributes, the states will be modified to include all attributes.",
   "type": "array",
   "$defs": {
      "HRUState": {
         "additionalProperties": false,
         "properties": {
            "hru_id": {
               "default": 1,
               "title": "Hru Id",
               "type": "integer"
            },
            "data": {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Data",
               "type": "object"
            }
         },
         "title": "HRUState",
         "type": "object"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "items": {
      "$ref": "#/$defs/HRUState"
   }
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
Validators:
field root: Sequence[HRUState] [Required]
Validated by:
classmethod parse(sol: str)[source]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

validator set_attributes  »  all fields[source]
pydantic model ravenpy.config.commands.HRUs[source]

Bases: ListCommand

HRUs command (RVH).

Show JSON schema
{
   "title": "HRUs",
   "description": "HRUs command (RVH).",
   "type": "array",
   "$defs": {
      "HRU": {
         "additionalProperties": false,
         "description": "Record to populate :HRUs command internal table (RVH).",
         "properties": {
            "hru_id": {
               "default": 1,
               "exclusiveMinimum": 0,
               "title": "Hru Id",
               "type": "integer"
            },
            "area": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "title": "Area"
            },
            "elevation": {
               "default": 0,
               "title": "Elevation",
               "type": "number"
            },
            "latitude": {
               "default": 0,
               "title": "Latitude",
               "type": "number"
            },
            "longitude": {
               "default": 0,
               "title": "Longitude",
               "type": "number"
            },
            "subbasin_id": {
               "default": 1,
               "exclusiveMinimum": 0,
               "title": "Subbasin Id",
               "type": "integer"
            },
            "land_use_class": {
               "default": "[NONE]",
               "title": "Land Use Class",
               "type": "string"
            },
            "veg_class": {
               "default": "[NONE]",
               "title": "Veg Class",
               "type": "string"
            },
            "soil_profile": {
               "default": "[NONE]",
               "title": "Soil Profile",
               "type": "string"
            },
            "aquifer_profile": {
               "default": "[NONE]",
               "title": "Aquifer Profile",
               "type": "string"
            },
            "terrain_class": {
               "default": "[NONE]",
               "title": "Terrain Class",
               "type": "string"
            },
            "slope": {
               "default": 0.0,
               "minimum": 0,
               "title": "Slope",
               "type": "number"
            },
            "aspect": {
               "default": 0.0,
               "maximum": 360,
               "minimum": 0,
               "title": "Aspect",
               "type": "number"
            },
            "hru_type": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Hru Type"
            }
         },
         "title": "HRU",
         "type": "object"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "items": {
      "$ref": "#/$defs/HRU"
   }
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
Validators:
field root: Sequence[HRU] [Required]
Validated by:
validator ignore_unrecognized_hrus  »  root[source]

Ignore HRUs with unrecognized hru_type.

HRUs are ignored only if all allowed HRU classes define hru_type, and if the values passed include it.

classmethod parse(s)[source]

Parse a HRUs command.

model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

rename(mapping)[source]

Rename HRU attributes.

Parameters:

mapping (dict) – Nested dictionary keyed by HRU attributes, with keys as old names and values as new names.

ravenpy.config.commands.LOGGER = <Logger RavenPy (WARNING)>

Raven commands

The syntax of those commands match as closely as possible the Raven documentation.

ravenpy.config.commands.LU

alias of LandUseClass

pydantic model ravenpy.config.commands.LandUseClass[source]

Bases: Record

Show JSON schema
{
   "title": "LandUseClass",
   "type": "object",
   "properties": {
      "name": {
         "default": "",
         "title": "Name",
         "type": "string"
      },
      "impermeable_frac": {
         "anyOf": [
            {
               "$ref": "#/$defs/Variable"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": 0.0,
         "title": "Impermeable Frac"
      },
      "forest_coverage": {
         "anyOf": [
            {
               "$ref": "#/$defs/Variable"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": 0.0,
         "title": "Forest Coverage"
      }
   },
   "$defs": {
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field forest_coverage: Variable | ExpressionNode | float | None = 0.0
field impermeable_frac: Variable | ExpressionNode | float | None = 0.0
field name: str = ''
pydantic model ravenpy.config.commands.LandUseClasses[source]

Bases: ListCommand

Show JSON schema
{
   "title": "LandUseClasses",
   "type": "array",
   "$defs": {
      "LandUseClass": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "impermeable_frac": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.0,
               "title": "Impermeable Frac"
            },
            "forest_coverage": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.0,
               "title": "Forest Coverage"
            }
         },
         "title": "LandUseClass",
         "type": "object"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "items": {
      "$ref": "#/$defs/LandUseClass"
   }
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field root: Sequence[LandUseClass] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.commands.LandUseParameterList[source]

Bases: GenericParameterList

Show JSON schema
{
   "title": "LandUseParameterList",
   "type": "object",
   "properties": {
      "Parameters": {
         "anyOf": [
            {
               "items": {
                  "enum": [
                     "ABST_PERCENT",
                     "AET_COEFF",
                     "BF_LOSS_FRACTION",
                     "B_EXP",
                     "CC_DECAY_COEFF",
                     "DD_AGGRADATION",
                     "DD_MELT_TEMP",
                     "DD_REFREEZE_TEMP",
                     "DEP_K",
                     "DEP_MAX",
                     "DEP_MAX_FLOW",
                     "DEP_N",
                     "DEP_SEEP_K",
                     "DEP_THRESHOLD",
                     "FOREST_COVERAGE",
                     "FOREST_PET_CORR",
                     "FOREST_SPARSENESS",
                     "GAMMA_SCALE",
                     "GAMMA_SCALE2",
                     "GAMMA_SHAPE",
                     "GAMMA_SHAPE2",
                     "GLAC_STORAGE_COEFF",
                     "GR4J_X4",
                     "HBV_GLACIER_AG",
                     "HBV_GLACIER_KMIN",
                     "HBV_MELT_ASP_CORR",
                     "HBV_MELT_FOR_CORR",
                     "HBV_MELT_GLACIER_CORR",
                     "HMETS_RUNOFF_COEFF",
                     "IMPERMEABLE_FRAC",
                     "LAKE_PET_CORR",
                     "LAKE_REL_COEFF",
                     "MAX_DEP_AREA_FRAC",
                     "MAX_MELT_FACTOR",
                     "MAX_SAT_AREA_FRAC",
                     "MELT_FACTOR",
                     "MIN_MELT_FACTOR",
                     "OW_PET_CORR",
                     "PARTITION_COEFF",
                     "PDMROF_B",
                     "PONDED_EXP",
                     "REFREEZE_EXP",
                     "REFREEZE_FACTOR",
                     "ROUGHNESS",
                     "SCS_CN",
                     "SCS_IA_FRACTION",
                     "SNOW_PATCH_LIMIT",
                     "STREAM_FRACTION",
                     "UBC_ICEPT_FACTOR"
                  ],
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Parameters"
      },
      "Units": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Units"
      },
      "pl": {
         "items": {
            "$ref": "#/$defs/ParameterList"
         },
         "title": "Pl",
         "type": "array"
      }
   },
   "$defs": {
      "ParameterList": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "values": {
               "default": [],
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Values",
               "type": "array"
            }
         },
         "title": "ParameterList",
         "type": "object"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "pl"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
Validators:

field parameters: Sequence[Literal['ABST_PERCENT', 'AET_COEFF', 'BF_LOSS_FRACTION', 'B_EXP', 'CC_DECAY_COEFF', 'DD_AGGRADATION', 'DD_MELT_TEMP', 'DD_REFREEZE_TEMP', 'DEP_K', 'DEP_MAX', 'DEP_MAX_FLOW', 'DEP_N', 'DEP_SEEP_K', 'DEP_THRESHOLD', 'FOREST_COVERAGE', 'FOREST_PET_CORR', 'FOREST_SPARSENESS', 'GAMMA_SCALE', 'GAMMA_SCALE2', 'GAMMA_SHAPE', 'GAMMA_SHAPE2', 'GLAC_STORAGE_COEFF', 'GR4J_X4', 'HBV_GLACIER_AG', 'HBV_GLACIER_KMIN', 'HBV_MELT_ASP_CORR', 'HBV_MELT_FOR_CORR', 'HBV_MELT_GLACIER_CORR', 'HMETS_RUNOFF_COEFF', 'IMPERMEABLE_FRAC', 'LAKE_PET_CORR', 'LAKE_REL_COEFF', 'MAX_DEP_AREA_FRAC', 'MAX_MELT_FACTOR', 'MAX_SAT_AREA_FRAC', 'MELT_FACTOR', 'MIN_MELT_FACTOR', 'OW_PET_CORR', 'PARTITION_COEFF', 'PDMROF_B', 'PONDED_EXP', 'REFREEZE_EXP', 'REFREEZE_FACTOR', 'ROUGHNESS', 'SCS_CN', 'SCS_IA_FRACTION', 'SNOW_PATCH_LIMIT', 'STREAM_FRACTION', 'UBC_ICEPT_FACTOR']] | None = None (alias 'Parameters')
Validated by:
  • num_values_equal_num_names

  • set_default_units

pydantic model ravenpy.config.commands.LinearTransform[source]

Bases: Command

:LinearTransform 1.0 -273.15

Show JSON schema
{
   "title": "LinearTransform",
   "description": ":LinearTransform 1.0 -273.15",
   "type": "object",
   "properties": {
      "scale": {
         "default": 1,
         "title": "Scale",
         "type": "number"
      },
      "offset": {
         "default": 0,
         "title": "Offset",
         "type": "number"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field offset: float = 0
field scale: float = 1
to_rv()[source]

Return Raven configuration string.

pydantic model ravenpy.config.commands.ObservationData[source]

Bases: Data

Show JSON schema
{
   "title": "ObservationData",
   "type": "object",
   "properties": {
      "data_type": {
         "const": "HYDROGRAPH",
         "default": "HYDROGRAPH",
         "title": "Data Type",
         "type": "string"
      },
      "units": {
         "default": "",
         "title": "Units",
         "type": "string"
      },
      "ReadFromNetCDF": {
         "$ref": "#/$defs/ReadFromNetCDF"
      },
      "uid": {
         "default": "1",
         "title": "Uid",
         "type": "string"
      }
   },
   "$defs": {
      "LinearTransform": {
         "additionalProperties": false,
         "description": ":LinearTransform 1.0 -273.15",
         "properties": {
            "scale": {
               "default": 1,
               "title": "Scale",
               "type": "number"
            },
            "offset": {
               "default": 0,
               "title": "Offset",
               "type": "number"
            }
         },
         "title": "LinearTransform",
         "type": "object"
      },
      "ReadFromNetCDF": {
         "additionalProperties": false,
         "properties": {
            "FileNameNC": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "format": "path",
                     "type": "string"
                  }
               ],
               "description": "NetCDF file name.",
               "title": "Filenamenc"
            },
            "VarNameNC": {
               "description": "NetCDF variable name.",
               "title": "Varnamenc",
               "type": "string"
            },
            "DimNamesNC": {
               "items": {
                  "type": "string"
               },
               "title": "Dimnamesnc",
               "type": "array"
            },
            "StationIdx": {
               "default": 1,
               "description": "NetCDF index along station dimension. Starts at 1.",
               "title": "Stationidx",
               "type": "integer"
            },
            "TimeShift": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Time stamp shift in days.",
               "title": "Timeshift"
            },
            "LinearTransform": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinearTransform"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "Deaccumulate": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Deaccumulate"
            },
            "LatitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Latitudevarnamenc"
            },
            "LongitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Longitudevarnamenc"
            },
            "ElevationVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Elevationvarnamenc"
            }
         },
         "required": [
            "FileNameNC",
            "VarNameNC",
            "DimNamesNC"
         ],
         "title": "ReadFromNetCDF",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "ReadFromNetCDF"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

  • coerce_numbers_to_str: bool = True

Fields:
field data_type: Literal['HYDROGRAPH'] = 'HYDROGRAPH'
field uid: str = '1'
classmethod from_nc(fn, station_idx: int = 1, alt_names=(), engine='h5netcdf', **kwds)[source]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.commands.ObservationErrorModel[source]

Bases: LineCommand

Show JSON schema
{
   "title": "ObservationErrorModel",
   "type": "object",
   "properties": {
      "state": {
         "const": "STREAMFLOW",
         "title": "State",
         "type": "string"
      },
      "dist": {
         "enum": [
            "DIST_UNIFORM",
            "DIST_NORMAL",
            "DIST_GAMMA"
         ],
         "title": "Dist",
         "type": "string"
      },
      "p1": {
         "title": "P1",
         "type": "number"
      },
      "p2": {
         "title": "P2",
         "type": "number"
      },
      "adj": {
         "enum": [
            "ADDITIVE",
            "MULTIPLICATIVE"
         ],
         "title": "Adj",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "state",
      "dist",
      "p1",
      "p2",
      "adj"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field adj: Literal['ADDITIVE', 'MULTIPLICATIVE'] [Required]
field dist: Literal['DIST_UNIFORM', 'DIST_NORMAL', 'DIST_GAMMA'] [Required]
field p1: float [Required]
field p2: float [Required]
field state: Literal['STREAMFLOW'] [Required]
pydantic model ravenpy.config.commands.Process[source]

Bases: Command

Process type embedded in HydrologicProcesses command.

See processes.py for list of processes.

Show JSON schema
{
   "title": "Process",
   "description": "Process type embedded in HydrologicProcesses command.\n\nSee processes.py for list of processes.",
   "type": "object",
   "properties": {
      "algo": {
         "default": "RAVEN_DEFAULT",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
Validators:
field algo: str = 'RAVEN_DEFAULT'
field source: str | None = None
Validated by:
field to: Sequence[str] = ()
Validated by:
validator is_list  »  to[source]
validator is_source_state_variable  »  source[source]
validator is_to_state_variable  »  to[source]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

to_rv()[source]

Return Raven configuration string.

pydantic model ravenpy.config.commands.RainSnowTransition[source]

Bases: Command

Specify the range of temperatures over which there will be a rain/snow mix when partitioning total precipitation into rain/snow components.

:RainSnowTransition [temp] [delta]

# equivalent to (the preferred option) :GlobalParameter RAINSNOW_TEMP [rainsnow_temp] :GlobalParameter RAINSNOW_DELTA [rainsnow_delta]

Show JSON schema
{
   "title": "RainSnowTransition",
   "description": "Specify the range of temperatures over which there will be a rain/snow mix when partitioning total precipitation into rain/snow components.\n\n:RainSnowTransition [temp] [delta]\n\n# equivalent to (the preferred option)\n:GlobalParameter RAINSNOW_TEMP [rainsnow_temp]\n:GlobalParameter RAINSNOW_DELTA [rainsnow_delta]",
   "type": "object",
   "properties": {
      "temp": {
         "anyOf": [
            {
               "$ref": "#/$defs/Variable"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "title": "Temp"
      },
      "delta": {
         "anyOf": [
            {
               "$ref": "#/$defs/Variable"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "title": "Delta"
      }
   },
   "$defs": {
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "temp",
      "delta"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field delta: Variable | ExpressionNode | float | None [Required]

Range [C].

field temp: Variable | ExpressionNode | float | None [Required]

Midpoint of the temperature range [C].

to_rv()[source]

Return Raven configuration string.

pydantic model ravenpy.config.commands.ReadFromNetCDF[source]

Bases: FlatCommand

Show JSON schema
{
   "title": "ReadFromNetCDF",
   "type": "object",
   "properties": {
      "FileNameNC": {
         "anyOf": [
            {
               "format": "uri",
               "maxLength": 2083,
               "minLength": 1,
               "type": "string"
            },
            {
               "format": "path",
               "type": "string"
            }
         ],
         "description": "NetCDF file name.",
         "title": "Filenamenc"
      },
      "VarNameNC": {
         "description": "NetCDF variable name.",
         "title": "Varnamenc",
         "type": "string"
      },
      "DimNamesNC": {
         "items": {
            "type": "string"
         },
         "title": "Dimnamesnc",
         "type": "array"
      },
      "StationIdx": {
         "default": 1,
         "description": "NetCDF index along station dimension. Starts at 1.",
         "title": "Stationidx",
         "type": "integer"
      },
      "TimeShift": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Time stamp shift in days.",
         "title": "Timeshift"
      },
      "LinearTransform": {
         "anyOf": [
            {
               "$ref": "#/$defs/LinearTransform"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "Deaccumulate": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Deaccumulate"
      },
      "LatitudeVarNameNC": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Latitudevarnamenc"
      },
      "LongitudeVarNameNC": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Longitudevarnamenc"
      },
      "ElevationVarNameNC": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Elevationvarnamenc"
      }
   },
   "$defs": {
      "LinearTransform": {
         "additionalProperties": false,
         "description": ":LinearTransform 1.0 -273.15",
         "properties": {
            "scale": {
               "default": 1,
               "title": "Scale",
               "type": "number"
            },
            "offset": {
               "default": 0,
               "title": "Offset",
               "type": "number"
            }
         },
         "title": "LinearTransform",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "FileNameNC",
      "VarNameNC",
      "DimNamesNC"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
Validators:
field deaccumulate: bool | None = None (alias 'Deaccumulate')
field dim_names_nc: Sequence[str] [Required] (alias 'DimNamesNC')
Validated by:
field elevation_var_name_nc: str | None = None (alias 'ElevationVarNameNC')
field file_name_nc: HttpUrl | Path [Required] (alias 'FileNameNC')

NetCDF file name.

field latitude_var_name_nc: str | None = None (alias 'LatitudeVarNameNC')
field linear_transform: LinearTransform | None = None (alias 'LinearTransform')
field longitude_var_name_nc: str | None = None (alias 'LongitudeVarNameNC')
field station_idx: int = 1 (alias 'StationIdx')

NetCDF index along station dimension. Starts at 1.

field time_shift: float | None = None (alias 'TimeShift')

Time stamp shift in days.

field var_name_nc: str [Required] (alias 'VarNameNC')

NetCDF variable name.

classmethod from_nc(fn, data_type, station_idx=None, alt_names=(), engine='h5netcdf', **kwds)[source]

Instantiate class from netCDF dataset.

validator reorder_time  »  dim_names_nc[source]

Return dimensions as x, y, t.

This is a fail safe because if input files are CF-compliant, dimensions should already have been ordered by nc_specs.

property da: DataArray

Return DataArray from configuration.

pydantic model ravenpy.config.commands.RedirectToFile[source]

Bases: RootCommand

RedirectToFile command (RVT).

Notes

For the moment, this command can only be used in the context of a GriddedForcingCommand or a StationForcingCommand, as a grid_weights field replacement when inlining is not desired.

Show JSON schema
{
   "title": "RedirectToFile",
   "description": "RedirectToFile command (RVT).\n\nNotes\n-----\nFor the moment, this command can only be used in the context of a `GriddedForcingCommand`\nor a `StationForcingCommand`, as a `grid_weights` field replacement when inlining is not\ndesired.",
   "type": "string",
   "format": "file-path"
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field root: Annotated[Path, PathType(path_type=file)] [Required]
Constraints:
  • path_type = file

to_rv()[source]

Return Raven configuration string.

pydantic model ravenpy.config.commands.Reservoir[source]

Bases: FlatCommand

Reservoir command (RVH).

Show JSON schema
{
   "title": "Reservoir",
   "description": "Reservoir command (RVH).",
   "type": "object",
   "properties": {
      "name": {
         "default": "Lake_XXX",
         "title": "Name",
         "type": "string"
      },
      "SubBasinID": {
         "default": 0,
         "title": "Subbasinid",
         "type": "integer"
      },
      "HRUID": {
         "default": 0,
         "title": "Hruid",
         "type": "integer"
      },
      "Type": {
         "default": "RESROUTE_STANDARD",
         "title": "Type",
         "type": "string"
      },
      "WeirCoefficient": {
         "default": 0,
         "title": "Weircoefficient",
         "type": "number"
      },
      "CrestWidth": {
         "default": 0,
         "title": "Crestwidth",
         "type": "number"
      },
      "MaxDepth": {
         "default": 0,
         "description": "Max depth (m)",
         "title": "Maxdepth",
         "type": "number"
      },
      "LakeArea": {
         "default": 0,
         "description": "Lake area (m2)",
         "title": "Lakearea",
         "type": "number"
      },
      "AbsoluteCrestHeight": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Absolute crest height (m)",
         "title": "Absolutecrestheight"
      },
      "MaxCapacity": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Maximum capacity in m3",
         "title": "Maxcapacity"
      },
      "SeepageParameters": {
         "anyOf": [
            {
               "$ref": "#/$defs/SeepageParameters"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "StageRelations": {
         "anyOf": [
            {
               "$ref": "#/$defs/StageRelations"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "SeepageParameters": {
         "additionalProperties": false,
         "description": ":SeepageParameters [K_seep] [href]",
         "properties": {
            "k_seep": {
               "title": "K Seep",
               "type": "number"
            },
            "h_ref": {
               "title": "H Ref",
               "type": "number"
            }
         },
         "required": [
            "k_seep",
            "h_ref"
         ],
         "title": "SeepageParameters",
         "type": "object"
      },
      "StageRelation": {
         "anyOf": [
            {
               "maxItems": 4,
               "minItems": 4,
               "prefixItems": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  }
               ],
               "type": "array"
            },
            {
               "maxItems": 5,
               "minItems": 5,
               "prefixItems": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  }
               ],
               "type": "array"
            }
         ],
         "default": null,
         "description": "Stage relation record.\n\nh, q, v, a, [u]",
         "title": "StageRelation"
      },
      "StageRelations": {
         "default": null,
         "description": "Stage relations for the reservoir.",
         "items": {
            "$ref": "#/$defs/StageRelation"
         },
         "title": "StageRelations",
         "type": "array"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field absolute_crest_height: float | None = None (alias 'AbsoluteCrestHeight')

Absolute crest height (m)

field crest_width: float = 0 (alias 'CrestWidth')
field hru_id: int = 0 (alias 'HRUID')
field lake_area: float = 0 (alias 'LakeArea')

Lake area (m2)

field max_capacity: float | None = None (alias 'MaxCapacity')

Maximum capacity in m3

field max_depth: float = 0 (alias 'MaxDepth')

Max depth (m)

field name: str = 'Lake_XXX'
field seepage_parameters: SeepageParameters | None = None (alias 'SeepageParameters')
field stage_relations: StageRelations | None = None (alias 'StageRelations')
field subbasin_id: int = 0 (alias 'SubBasinID')
field type: str = 'RESROUTE_STANDARD' (alias 'Type')
field weir_coefficient: float = 0 (alias 'WeirCoefficient')
pydantic model OutflowControlStructure[source]

Bases: Command

Outflow control structure for the reservoir.

Show JSON schema
{
   "title": "OutflowControlStructure",
   "description": "Outflow control structure for the reservoir.",
   "type": "object",
   "properties": {
      "TargetSubBasin": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Targetsubbasin"
      },
      "DownstreamReferenceElevation": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Downstreamreferenceelevation"
      },
      "StageDischargeTable": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/StageDischargeTable"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Stagedischargetable"
      },
      "BasicWeir": {
         "$ref": "#/$defs/BasicWeir",
         "default": null
      },
      "OperatingRegime": {
         "$ref": "#/$defs/OperatingRegime",
         "default": null
      }
   },
   "$defs": {
      "BasicWeir": {
         "additionalProperties": false,
         "description": "Basic weir for the outflow control structure.\n\n:BasicWeir [curve_name3] [elev] [crestwidth] [coeff]",
         "properties": {
            "curve_name": {
               "title": "Curve Name",
               "type": "string"
            },
            "elev": {
               "title": "Elev",
               "type": "number"
            },
            "crest_width": {
               "title": "Crest Width",
               "type": "number"
            },
            "coeff": {
               "title": "Coeff",
               "type": "number"
            }
         },
         "required": [
            "curve_name",
            "elev",
            "crest_width",
            "coeff"
         ],
         "title": "BasicWeir",
         "type": "object"
      },
      "OperatingRegime": {
         "additionalProperties": false,
         "description": "Operating regime for the outflow control structure.\n\n:OperatingRegime [curve_name] [elev] [coeff]",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "UseCurve": {
               "default": null,
               "title": "Usecurve",
               "type": "string"
            },
            "Condition": {
               "default": null,
               "title": "Condition",
               "type": "string"
            },
            "Constraint": {
               "default": null,
               "title": "Constraint",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "OperatingRegime",
         "type": "object"
      },
      "StageDischargeRecord": {
         "default": null,
         "description": "Stage discharge record.",
         "maxItems": 2,
         "minItems": 2,
         "prefixItems": [
            {
               "type": "number"
            },
            {
               "type": "number"
            }
         ],
         "title": "StageDischargeRecord",
         "type": "array"
      },
      "StageDischargeTable": {
         "default": null,
         "description": "Stage discharge table for the outflow control structure.\n\nExample::\n\n    :StageDischargeTable C1 #one gate open\n          N\n          [h,Q]xN\n    :EndStageDischargeTable",
         "items": {
            "$ref": "#/$defs/StageDischargeRecord"
         },
         "title": "StageDischargeTable",
         "type": "array"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • basic_weir (ravenpy.config.commands.Reservoir.OutflowControlStructure.BasicWeir)

  • downstream_reference_elevation (float | None)

  • operating_regime (ravenpy.config.commands.Reservoir.OutflowControlStructure.OperatingRegime)

  • stage_discharge_table (collections.abc.Sequence[ravenpy.config.commands.Reservoir.OutflowControlStructure.StageDischargeTable] | None)

  • target_subbasin_id (int | None)

field basic_weir: BasicWeir = None (alias 'BasicWeir')
field downstream_reference_elevation: float | None = None (alias 'DownstreamReferenceElevation')
field operating_regime: OperatingRegime = None (alias 'OperatingRegime')
field stage_discharge_table: Sequence[StageDischargeTable] | None = None (alias 'StageDischargeTable')
field target_subbasin_id: int | None = None (alias 'TargetSubBasin')
pydantic model BasicWeir[source]

Bases: LineCommand

Basic weir for the outflow control structure.

:BasicWeir [curve_name3] [elev] [crestwidth] [coeff]

Show JSON schema
{
   "title": "BasicWeir",
   "description": "Basic weir for the outflow control structure.\n\n:BasicWeir [curve_name3] [elev] [crestwidth] [coeff]",
   "type": "object",
   "properties": {
      "curve_name": {
         "title": "Curve Name",
         "type": "string"
      },
      "elev": {
         "title": "Elev",
         "type": "number"
      },
      "crest_width": {
         "title": "Crest Width",
         "type": "number"
      },
      "coeff": {
         "title": "Coeff",
         "type": "number"
      }
   },
   "additionalProperties": false,
   "required": [
      "curve_name",
      "elev",
      "crest_width",
      "coeff"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • coeff (float)

  • crest_width (float)

  • curve_name (str)

  • elev (float)

field coeff: float [Required]
field crest_width: float [Required]
field curve_name: str [Required]
field elev: float [Required]
pydantic model OperatingRegime[source]

Bases: Command

Operating regime for the outflow control structure.

:OperatingRegime [curve_name] [elev] [coeff]

Show JSON schema
{
   "title": "OperatingRegime",
   "description": "Operating regime for the outflow control structure.\n\n:OperatingRegime [curve_name] [elev] [coeff]",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "type": "string"
      },
      "UseCurve": {
         "default": null,
         "title": "Usecurve",
         "type": "string"
      },
      "Condition": {
         "default": null,
         "title": "Condition",
         "type": "string"
      },
      "Constraint": {
         "default": null,
         "title": "Constraint",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "name"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • condition (str)

  • constraint (str)

  • name (str)

  • use_curve (str)

field condition: str = None (alias 'Condition')
field constraint: str = None (alias 'Constraint')
field name: str [Required]
field use_curve: str = None (alias 'UseCurve')
pydantic model StageDischargeTable[source]

Bases: RootCommand

Stage discharge table for the outflow control structure.

Example:

:StageDischargeTable C1 #one gate open
      N
      [h,Q]xN
:EndStageDischargeTable

Show JSON schema
{
   "title": "StageDischargeTable",
   "description": "Stage discharge table for the outflow control structure.\n\nExample::\n\n    :StageDischargeTable C1 #one gate open\n          N\n          [h,Q]xN\n    :EndStageDischargeTable",
   "type": "array",
   "$defs": {
      "StageDischargeRecord": {
         "default": null,
         "description": "Stage discharge record.",
         "maxItems": 2,
         "minItems": 2,
         "prefixItems": [
            {
               "type": "number"
            },
            {
               "type": "number"
            }
         ],
         "title": "StageDischargeRecord",
         "type": "array"
      }
   },
   "default": null,
   "items": {
      "$ref": "#/$defs/StageDischargeRecord"
   }
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • root (collections.abc.Sequence[ravenpy.config.commands.Reservoir.OutflowControlStructure.StageDischargeTable.StageDischargeRecord])

Validators:
  • _set_n » all fields

field root: Sequence[StageDischargeRecord] = None
Validated by:
  • _set_n

pydantic model StageDischargeRecord[source]

Bases: RootRecord

Stage discharge record.

Show JSON schema
{
   "title": "StageDischargeRecord",
   "description": "Stage discharge record.",
   "type": "array",
   "default": null,
   "maxItems": 2,
   "minItems": 2,
   "prefixItems": [
      {
         "type": "number"
      },
      {
         "type": "number"
      }
   ]
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • root (tuple[float, float])

field root: tuple[float, float] = None
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model SeepageParameters[source]

Bases: LineCommand

:SeepageParameters [K_seep] [href]

Show JSON schema
{
   "title": "SeepageParameters",
   "description": ":SeepageParameters [K_seep] [href]",
   "type": "object",
   "properties": {
      "k_seep": {
         "title": "K Seep",
         "type": "number"
      },
      "h_ref": {
         "title": "H Ref",
         "type": "number"
      }
   },
   "additionalProperties": false,
   "required": [
      "k_seep",
      "h_ref"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • h_ref (float)

  • k_seep (float)

field h_ref: float [Required]
field k_seep: float [Required]
pydantic model StageRelations[source]

Bases: RootCommand

Stage relations for the reservoir.

Show JSON schema
{
   "title": "StageRelations",
   "description": "Stage relations for the reservoir.",
   "type": "array",
   "$defs": {
      "StageRelation": {
         "anyOf": [
            {
               "maxItems": 4,
               "minItems": 4,
               "prefixItems": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  }
               ],
               "type": "array"
            },
            {
               "maxItems": 5,
               "minItems": 5,
               "prefixItems": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  }
               ],
               "type": "array"
            }
         ],
         "default": null,
         "description": "Stage relation record.\n\nh, q, v, a, [u]",
         "title": "StageRelation"
      }
   },
   "default": null,
   "items": {
      "$ref": "#/$defs/StageRelation"
   }
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • root (collections.abc.Sequence[ravenpy.config.commands.Reservoir.StageRelations.StageRelation])

field root: Sequence[StageRelation] = None
pydantic model StageRelation[source]

Bases: RootRecord

Stage relation record.

h, q, v, a, [u]

Show JSON schema
{
   "title": "StageRelation",
   "description": "Stage relation record.\n\nh, q, v, a, [u]",
   "anyOf": [
      {
         "maxItems": 4,
         "minItems": 4,
         "prefixItems": [
            {
               "type": "number"
            },
            {
               "type": "number"
            },
            {
               "type": "number"
            },
            {
               "type": "number"
            }
         ],
         "type": "array"
      },
      {
         "maxItems": 5,
         "minItems": 5,
         "prefixItems": [
            {
               "type": "number"
            },
            {
               "type": "number"
            },
            {
               "type": "number"
            },
            {
               "type": "number"
            },
            {
               "type": "number"
            }
         ],
         "type": "array"
      }
   ],
   "default": null
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • root (tuple[float, float, float, float] | tuple[float, float, float, float, float])

field root: tuple[float, float, float, float] | tuple[float, float, float, float, float] = None
classmethod parse(s) list[source]

Return a list of Reservoir records parsed from an RV file.

ravenpy.config.commands.SB

alias of SubBasin

pydantic model ravenpy.config.commands.SBGroupPropertyMultiplier[source]

Bases: LineCommand

:SBGroupPropertyMultiplier [group_name] [parameter_name] [mult]

Show JSON schema
{
   "title": "SBGroupPropertyMultiplier",
   "description": ":SBGroupPropertyMultiplier [group_name] [parameter_name] [mult]",
   "type": "object",
   "properties": {
      "group_name": {
         "title": "Group Name",
         "type": "string"
      },
      "parameter_name": {
         "title": "Parameter Name",
         "type": "string"
      },
      "mult": {
         "anyOf": [
            {
               "$ref": "#/$defs/Variable"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "title": "Mult"
      }
   },
   "$defs": {
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "group_name",
      "parameter_name",
      "mult"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field group_name: str [Required]
field mult: Variable | ExpressionNode | float | None [Required]
field parameter_name: str [Required]
ravenpy.config.commands.SC

alias of SoilClass

ravenpy.config.commands.SP

alias of SoilProfile

pydantic model ravenpy.config.commands.SeasonalRelativeHeight[source]

Bases: ListCommand

Show JSON schema
{
   "title": "SeasonalRelativeHeight",
   "type": "array",
   "$defs": {
      "_MonthlyRecord": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "[DEFAULT]",
               "title": "Name",
               "type": "string"
            },
            "values": {
               "default": [
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0
               ],
               "items": {
                  "type": "number"
               },
               "title": "Values",
               "type": "array"
            }
         },
         "title": "_MonthlyRecord",
         "type": "object"
      }
   },
   "default": [
      {
         "name": "[DEFAULT]",
         "values": [
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0
         ]
      }
   ],
   "items": {
      "$ref": "#/$defs/_MonthlyRecord"
   }
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field root: Sequence[_MonthlyRecord] = (_MonthlyRecord(name='[DEFAULT]', values=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]),)
pydantic model ravenpy.config.commands.SeasonalRelativeLAI[source]

Bases: ListCommand

Show JSON schema
{
   "title": "SeasonalRelativeLAI",
   "type": "array",
   "$defs": {
      "_MonthlyRecord": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "[DEFAULT]",
               "title": "Name",
               "type": "string"
            },
            "values": {
               "default": [
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0
               ],
               "items": {
                  "type": "number"
               },
               "title": "Values",
               "type": "array"
            }
         },
         "title": "_MonthlyRecord",
         "type": "object"
      }
   },
   "default": [
      {
         "name": "[DEFAULT]",
         "values": [
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0,
            1.0
         ]
      }
   ],
   "items": {
      "$ref": "#/$defs/_MonthlyRecord"
   }
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field root: Sequence[_MonthlyRecord] = (_MonthlyRecord(name='[DEFAULT]', values=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]),)
pydantic model ravenpy.config.commands.SoilClasses[source]

Bases: ListCommand

SoilClasses command.

Example:

:SoilClasses
  :Attributes, %SAND, %CLAY, %SILT, %ORGANIC
  :Units, none, none, none, none
  SAND, 1, 0, 0, 0
  LOAM, 0.5, 0.1, 0.4, 0.4
:EndSoilClasses

Show JSON schema
{
   "title": "SoilClasses",
   "description": "SoilClasses command.\n\nExample::\n\n    :SoilClasses\n      :Attributes, %SAND, %CLAY, %SILT, %ORGANIC\n      :Units, none, none, none, none\n      SAND, 1, 0, 0, 0\n      LOAM, 0.5, 0.1, 0.4, 0.4\n    :EndSoilClasses",
   "type": "array",
   "$defs": {
      "SoilClass": {
         "additionalProperties": false,
         "description": "SoilClass.",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "mineral": {
               "anyOf": [
                  {
                     "maxItems": 3,
                     "minItems": 3,
                     "prefixItems": [
                        {
                           "type": "number"
                        },
                        {
                           "type": "number"
                        },
                        {
                           "type": "number"
                        }
                     ],
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Mineral"
            },
            "organic": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Organic"
            }
         },
         "required": [
            "name"
         ],
         "title": "SoilClass",
         "type": "object"
      }
   },
   "default": [],
   "items": {
      "$ref": "#/$defs/SoilClass"
   }
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field root: Sequence[SoilClass] = ()
pydantic model SoilClass[source]

Bases: Record

SoilClass.

Show JSON schema
{
   "title": "SoilClass",
   "description": "SoilClass.",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "type": "string"
      },
      "mineral": {
         "anyOf": [
            {
               "maxItems": 3,
               "minItems": 3,
               "prefixItems": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  }
               ],
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Mineral"
      },
      "organic": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Organic"
      }
   },
   "additionalProperties": false,
   "required": [
      "name"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • mineral (tuple[float, float, float] | None)

  • name (str)

  • organic (float | None)

Validators:
field mineral: tuple[float, float, float] | None = None
Validated by:
field name: str [Required]
field organic: float | None = None
Validated by:
validator validate_mineral  »  mineral[source]

Assert sum of mineral fraction is 1.

validator validate_mineral_pct  »  mineral[source]
validator validate_organic_pct  »  organic[source]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.commands.SoilModel[source]

Bases: RootCommand

:SoilModel SOIL_MULTILAYER 6

Show JSON schema
{
   "title": "SoilModel",
   "description": ":SoilModel SOIL_MULTILAYER 6",
   "type": "integer"
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field root: int [Required]
to_rv()[source]

Return Raven configuration string.

pydantic model ravenpy.config.commands.SoilParameterList[source]

Bases: GenericParameterList

Show JSON schema
{
   "title": "SoilParameterList",
   "type": "object",
   "properties": {
      "Parameters": {
         "anyOf": [
            {
               "items": {
                  "enum": [
                     "AIR_ENTRY_PRESSURE",
                     "ALBEDO_DRY",
                     "ALBEDO_WET",
                     "BASEFLOW_COEFF",
                     "BASEFLOW_COEFF2",
                     "BASEFLOW_N",
                     "BASEFLOW_THRESH",
                     "BF_LOSS_FRACTION",
                     "BULK_DENSITY",
                     "B_EXP",
                     "CLAPP N,CLAPP M",
                     "CLAPP_B",
                     "CLAY_CON",
                     "EVAP_RES_FC",
                     "FIELD_CAPACITY",
                     "GR4J_X2",
                     "GR4J_X3",
                     "HBV_BETA",
                     "HEAT_CAPACITY",
                     "HYDRAUL_COND",
                     "INTERFLOW_COEF",
                     "MAX_BASEFLOW_RATE",
                     "MAX_CAP_RISE_RATE",
                     "MAX_INTERFLOW_RATE",
                     "MAX_PERC_RATE",
                     "ORG_CON",
                     "PERC_COEFF",
                     "PERC_N",
                     "PET_CORRECTION",
                     "POROSITY",
                     "SAC_PERC_ALPHA",
                     "SAC_PERC_EXPON",
                     "SAC_PERC_PFREE",
                     "SAND_CON",
                     "SAT_RES",
                     "SAT_WILT",
                     "SHUTTLEWORTH_B",
                     "SILT_CON",
                     "STONE_FRAC",
                     "STORAGE_THRESHOLD",
                     "THERMAL_COND",
                     "UBC_EVAL_SOIL_DEF",
                     "UBC_INFIL_SOIL_DEF",
                     "UNAVAIL_FRAC",
                     "VIC ALPHA",
                     "VIC_EVAP_GAMMA",
                     "VIC_ZMAX",
                     "VIZ_ZMIN",
                     "WETTING_FRONT_PSI",
                     "WILTING_PRESSURE"
                  ],
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Parameters"
      },
      "Units": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Units"
      },
      "pl": {
         "items": {
            "$ref": "#/$defs/ParameterList"
         },
         "title": "Pl",
         "type": "array"
      }
   },
   "$defs": {
      "ParameterList": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "values": {
               "default": [],
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Values",
               "type": "array"
            }
         },
         "title": "ParameterList",
         "type": "object"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "pl"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
Validators:

field parameters: Sequence[Literal['AIR_ENTRY_PRESSURE', 'ALBEDO_DRY', 'ALBEDO_WET', 'BASEFLOW_COEFF', 'BASEFLOW_COEFF2', 'BASEFLOW_N', 'BASEFLOW_THRESH', 'BF_LOSS_FRACTION', 'BULK_DENSITY', 'B_EXP', 'CLAPP N,CLAPP M', 'CLAPP_B', 'CLAY_CON', 'EVAP_RES_FC', 'FIELD_CAPACITY', 'GR4J_X2', 'GR4J_X3', 'HBV_BETA', 'HEAT_CAPACITY', 'HYDRAUL_COND', 'INTERFLOW_COEF', 'MAX_BASEFLOW_RATE', 'MAX_CAP_RISE_RATE', 'MAX_INTERFLOW_RATE', 'MAX_PERC_RATE', 'ORG_CON', 'PERC_COEFF', 'PERC_N', 'PET_CORRECTION', 'POROSITY', 'SAC_PERC_ALPHA', 'SAC_PERC_EXPON', 'SAC_PERC_PFREE', 'SAND_CON', 'SAT_RES', 'SAT_WILT', 'SHUTTLEWORTH_B', 'SILT_CON', 'STONE_FRAC', 'STORAGE_THRESHOLD', 'THERMAL_COND', 'UBC_EVAL_SOIL_DEF', 'UBC_INFIL_SOIL_DEF', 'UNAVAIL_FRAC', 'VIC ALPHA', 'VIC_EVAP_GAMMA', 'VIC_ZMAX', 'VIZ_ZMIN', 'WETTING_FRONT_PSI', 'WILTING_PRESSURE']] | None = None (alias 'Parameters')
Validated by:
  • num_values_equal_num_names

  • set_default_units

pydantic model ravenpy.config.commands.SoilProfile[source]

Bases: Record

Show JSON schema
{
   "title": "SoilProfile",
   "type": "object",
   "properties": {
      "name": {
         "default": "",
         "title": "Name",
         "type": "string"
      },
      "soil_classes": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "Soil Classes",
         "type": "array"
      },
      "thicknesses": {
         "default": [],
         "items": {
            "anyOf": [
               {
                  "$ref": "#/$defs/Variable"
               },
               {
                  "type": "number"
               },
               {
                  "type": "null"
               }
            ]
         },
         "title": "Thicknesses",
         "type": "array"
      }
   },
   "$defs": {
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field name: str = ''
field soil_classes: Sequence[str] = ()
field thicknesses: Sequence[Variable | ExpressionNode | float | None] = ()
pydantic model ravenpy.config.commands.SoilProfiles[source]

Bases: ListCommand

SoilProfiles command.

Example:

:SoilProfiles
  # name, #horizons, hor1, th1, hor2, th2
  LAKE, 0
  GLACIER, 0
  LOAM_SEQ, 2, LOAM, 0.5, SAND, 1.5
  ALL_SAND, 2, SAND, 0.5, SAND, 1.5
:EndSoilProfiles

Show JSON schema
{
   "title": "SoilProfiles",
   "description": "SoilProfiles command.\n\nExample::\n\n    :SoilProfiles\n      # name, #horizons, hor1, th1, hor2, th2\n      LAKE, 0\n      GLACIER, 0\n      LOAM_SEQ, 2, LOAM, 0.5, SAND, 1.5\n      ALL_SAND, 2, SAND, 0.5, SAND, 1.5\n    :EndSoilProfiles",
   "type": "array",
   "$defs": {
      "SoilProfile": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "soil_classes": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "Soil Classes",
               "type": "array"
            },
            "thicknesses": {
               "default": [],
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Thicknesses",
               "type": "array"
            }
         },
         "title": "SoilProfile",
         "type": "object"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "items": {
      "$ref": "#/$defs/SoilProfile"
   }
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field root: Sequence[SoilProfile] [Required]
pydantic model ravenpy.config.commands.StationForcing[source]

Bases: GriddedForcing

StationForcing command (RVT).

Show JSON schema
{
   "title": "StationForcing",
   "description": "StationForcing command (RVT).",
   "type": "object",
   "properties": {
      "FileNameNC": {
         "anyOf": [
            {
               "format": "uri",
               "maxLength": 2083,
               "minLength": 1,
               "type": "string"
            },
            {
               "format": "path",
               "type": "string"
            }
         ],
         "description": "NetCDF file name.",
         "title": "Filenamenc"
      },
      "VarNameNC": {
         "description": "NetCDF variable name.",
         "title": "Varnamenc",
         "type": "string"
      },
      "DimNamesNC": {
         "items": {
            "type": "string"
         },
         "title": "Dimnamesnc",
         "type": "array"
      },
      "station_idx": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Station Idx"
      },
      "TimeShift": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Time stamp shift in days.",
         "title": "Timeshift"
      },
      "LinearTransform": {
         "anyOf": [
            {
               "$ref": "#/$defs/LinearTransform"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "Deaccumulate": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Deaccumulate"
      },
      "LatitudeVarNameNC": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Latitudevarnamenc"
      },
      "LongitudeVarNameNC": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Longitudevarnamenc"
      },
      "ElevationVarNameNC": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Elevationvarnamenc"
      },
      "name": {
         "default": "",
         "title": "Name",
         "type": "string"
      },
      "ForcingType": {
         "anyOf": [
            {
               "enum": [
                  "AIR_DENS",
                  "AIR_PRES",
                  "CLOUD_COVER",
                  "DAY_ANGLE",
                  "DAY_LENGTH",
                  "ET_RADIA",
                  "LW_INCOMING",
                  "LW_RADIA_NET",
                  "OW_PET",
                  "PET",
                  "PET_MONTH_AVE",
                  "POTENTIAL_MELT",
                  "PRECIP",
                  "PRECIP_5DAY",
                  "PRECIP_DAILY_AVE",
                  "RAINFALL",
                  "RECHARGE",
                  "REL_HUMIDITY",
                  "SHORTWAVE",
                  "SNOWFALL",
                  "SNOW_FRAC",
                  "SUBDAILY_CORR",
                  "SW_RADIA",
                  "SW_RADIA_NET",
                  "TEMP_AVE",
                  "TEMP_AVE_UNC",
                  "TEMP_DAILY_AVE",
                  "TEMP_DAILY_MAX",
                  "TEMP_DAILY_MIN",
                  "TEMP_MAX",
                  "TEMP_MAX_UNC",
                  "TEMP_MIN",
                  "TEMP_MIN_UNC",
                  "TEMP_MONTH_AVE",
                  "TEMP_MONTH_MAX",
                  "TEMP_MONTH_MIN",
                  "WIND_VEL"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Forcingtype"
      },
      "GridWeights": {
         "anyOf": [
            {
               "$ref": "#/$defs/GridWeights"
            },
            {
               "$ref": "#/$defs/RedirectToFile"
            }
         ],
         "default": {
            "NumberHRUs": 1,
            "NumberGridCells": 1,
            "data": [
               [
                  1,
                  0,
                  1.0
               ]
            ]
         },
         "title": "Gridweights"
      }
   },
   "$defs": {
      "GWRecord": {
         "default": [
            1,
            0,
            1.0
         ],
         "description": "GridWeights record.",
         "maxItems": 3,
         "minItems": 3,
         "prefixItems": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            },
            {
               "type": "number"
            }
         ],
         "title": "GWRecord",
         "type": "array"
      },
      "GridWeights": {
         "additionalProperties": false,
         "description": "GridWeights command.\n\nNotes\n-----\ncommand can be embedded in both a `GriddedForcing` or a `StationForcing`.\n\nThe default is to have a single cell that covers an entire single HRU, with a\nweight of 1.",
         "properties": {
            "NumberHRUs": {
               "default": 1,
               "title": "Numberhrus",
               "type": "integer"
            },
            "NumberGridCells": {
               "default": 1,
               "title": "Numbergridcells",
               "type": "integer"
            },
            "data": {
               "default": [
                  [
                     1,
                     0,
                     1.0
                  ]
               ],
               "items": {
                  "$ref": "#/$defs/GWRecord"
               },
               "title": "Data",
               "type": "array"
            }
         },
         "title": "GridWeights",
         "type": "object"
      },
      "LinearTransform": {
         "additionalProperties": false,
         "description": ":LinearTransform 1.0 -273.15",
         "properties": {
            "scale": {
               "default": 1,
               "title": "Scale",
               "type": "number"
            },
            "offset": {
               "default": 0,
               "title": "Offset",
               "type": "number"
            }
         },
         "title": "LinearTransform",
         "type": "object"
      },
      "RedirectToFile": {
         "description": "RedirectToFile command (RVT).\n\nNotes\n-----\nFor the moment, this command can only be used in the context of a `GriddedForcingCommand`\nor a `StationForcingCommand`, as a `grid_weights` field replacement when inlining is not\ndesired.",
         "format": "file-path",
         "title": "RedirectToFile",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "FileNameNC",
      "VarNameNC",
      "DimNamesNC"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:

Validators:
validator check_dims  »  dim_names_nc[source]
classmethod from_nc(fn, data_type, alt_names=(), **kwds)[source]

Instantiate class from netCDF dataset.

pydantic model ravenpy.config.commands.SubBasin[source]

Bases: Record

Record to populate RVH :SubBasins command internal table.

Show JSON schema
{
   "title": "SubBasin",
   "description": "Record to populate RVH :SubBasins command internal table.",
   "type": "object",
   "properties": {
      "subbasin_id": {
         "default": 1,
         "exclusiveMinimum": 0,
         "title": "Subbasin Id",
         "type": "integer"
      },
      "name": {
         "default": "sub_001",
         "title": "Name",
         "type": "string"
      },
      "downstream_id": {
         "default": -1,
         "title": "Downstream Id",
         "type": "integer"
      },
      "profile": {
         "default": "NONE",
         "title": "Profile",
         "type": "string"
      },
      "reach_length": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "string"
            }
         ],
         "default": 0,
         "title": "Reach Length"
      },
      "gauged": {
         "default": true,
         "title": "Gauged",
         "type": "boolean"
      },
      "gauge_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "",
         "title": "Gauge Id"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

  • coerce_numbers_to_str: bool = True

Fields:
Validators:
field downstream_id: int = -1
field gauge_id: str | None = ''
field gauged: bool = True
field name: str = 'sub_001'
field profile: str = 'NONE'
field reach_length: float | str = 0
Validated by:
field subbasin_id: Annotated[int, Gt(gt=0)] = 1
Constraints:
  • gt = 0

validator check_reach_length  »  reach_length[source]
pydantic model ravenpy.config.commands.SubBasinGroup[source]

Bases: FlatCommand

SubBasinGroup command (RVH).

Show JSON schema
{
   "title": "SubBasinGroup",
   "description": "SubBasinGroup command (RVH).",
   "type": "object",
   "properties": {
      "name": {
         "default": "",
         "title": "Name",
         "type": "string"
      },
      "sb_ids": {
         "default": [],
         "items": {
            "type": "integer"
         },
         "title": "Sb Ids",
         "type": "array"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field name: str = ''
field sb_ids: Sequence[int] = ()
classmethod parse(s) list[source]

Parse a SubBasinGroup command and return a list of SubBasinGroup records.

to_rv()[source]

Return Raven configuration string.

pydantic model ravenpy.config.commands.SubBasinProperties[source]

Bases: Command

Show JSON schema
{
   "title": "SubBasinProperties",
   "type": "object",
   "properties": {
      "Parameters": {
         "anyOf": [
            {
               "items": {
                  "enum": [
                     "CELERITY",
                     "DIFFUSIVITY",
                     "GAMMA_SCALE",
                     "GAMMA_SHAPE",
                     "MANNINGS_N",
                     "NUM_RESERVOIRS",
                     "Q_REFERENCE",
                     "RAIN_CORR",
                     "RES_CONSTANT",
                     "SLOPE",
                     "SNOW_CORR",
                     "TIME_CONC",
                     "TIME_LAG",
                     "TIME_TO_PEAK"
                  ],
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Parameters"
      },
      "records": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/SubBasinProperty"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Records"
      }
   },
   "$defs": {
      "SubBasinProperty": {
         "additionalProperties": false,
         "properties": {
            "sb_id": {
               "title": "Sb Id",
               "type": "string"
            },
            "values": {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Values",
               "type": "array"
            }
         },
         "required": [
            "sb_id",
            "values"
         ],
         "title": "SubBasinProperty",
         "type": "object"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field parameters: Sequence[Literal['CELERITY', 'DIFFUSIVITY', 'GAMMA_SCALE', 'GAMMA_SHAPE', 'MANNINGS_N', 'NUM_RESERVOIRS', 'Q_REFERENCE', 'RAIN_CORR', 'RES_CONSTANT', 'SLOPE', 'SNOW_CORR', 'TIME_CONC', 'TIME_LAG', 'TIME_TO_PEAK']] | None = None (alias 'Parameters')
field records: Sequence[SubBasinProperty] | None = None
pydantic model ravenpy.config.commands.SubBasinProperty[source]

Bases: Record

Show JSON schema
{
   "title": "SubBasinProperty",
   "type": "object",
   "properties": {
      "sb_id": {
         "title": "Sb Id",
         "type": "string"
      },
      "values": {
         "items": {
            "anyOf": [
               {
                  "$ref": "#/$defs/Variable"
               },
               {
                  "type": "number"
               },
               {
                  "type": "null"
               }
            ]
         },
         "title": "Values",
         "type": "array"
      }
   },
   "$defs": {
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "sb_id",
      "values"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

  • coerce_numbers_to_str: bool = True

Fields:
field sb_id: str [Required]
field values: Sequence[Variable | ExpressionNode | float | None] [Required]
pydantic model ravenpy.config.commands.SubBasins[source]

Bases: ListCommand

SubBasins command (RVH)

Example:

:SubBasins
  :Attributes, NAME, DOWNSTREAM_ID, PROFILE, REACH_LENGTH, GAUGED
  :Units, none, none, none, km, none
  1, Downstream, -1, DEFAULT, 3.0, 1
  2, Upstream, 1, DEFAULT, 3.0, 0
:EndSubBasins

Show JSON schema
{
   "title": "SubBasins",
   "description": "SubBasins command (RVH)\n\nExample::\n\n    :SubBasins\n      :Attributes, NAME, DOWNSTREAM_ID, PROFILE, REACH_LENGTH, GAUGED\n      :Units, none, none, none, km, none\n      1, Downstream, -1, DEFAULT, 3.0, 1\n      2, Upstream, 1, DEFAULT, 3.0, 0\n    :EndSubBasins",
   "type": "array",
   "$defs": {
      "SubBasin": {
         "additionalProperties": false,
         "description": "Record to populate RVH :SubBasins command internal table.",
         "properties": {
            "subbasin_id": {
               "default": 1,
               "exclusiveMinimum": 0,
               "title": "Subbasin Id",
               "type": "integer"
            },
            "name": {
               "default": "sub_001",
               "title": "Name",
               "type": "string"
            },
            "downstream_id": {
               "default": -1,
               "title": "Downstream Id",
               "type": "integer"
            },
            "profile": {
               "default": "NONE",
               "title": "Profile",
               "type": "string"
            },
            "reach_length": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": 0,
               "title": "Reach Length"
            },
            "gauged": {
               "default": true,
               "title": "Gauged",
               "type": "boolean"
            },
            "gauge_id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "",
               "title": "Gauge Id"
            }
         },
         "title": "SubBasin",
         "type": "object"
      }
   },
   "items": {
      "$ref": "#/$defs/SubBasin"
   }
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field root: Sequence[SubBasin] [Required]
classmethod parse(s)[source]

Parse a SubBasins command.

model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

ravenpy.config.commands.TC

alias of TerrainClass

pydantic model ravenpy.config.commands.TerrainClass[source]

Bases: Record

Show JSON schema
{
   "title": "TerrainClass",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "type": "string"
      },
      "hillslope_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/Variable"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "title": "Hillslope Length"
      },
      "drainage_density": {
         "anyOf": [
            {
               "$ref": "#/$defs/Variable"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "title": "Drainage Density"
      },
      "topmodel_lambda": {
         "anyOf": [
            {
               "$ref": "#/$defs/Variable"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Topmodel Lambda"
      }
   },
   "$defs": {
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "name",
      "hillslope_length",
      "drainage_density"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field drainage_density: Variable | ExpressionNode | float | None [Required]
field hillslope_length: Variable | ExpressionNode | float | None [Required]
field name: str [Required]
field topmodel_lambda: Variable | ExpressionNode | float | None = None
pydantic model ravenpy.config.commands.TerrainClasses[source]

Bases: ListCommand

Show JSON schema
{
   "title": "TerrainClasses",
   "type": "array",
   "$defs": {
      "TerrainClass": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "hillslope_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Hillslope Length"
            },
            "drainage_density": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Drainage Density"
            },
            "topmodel_lambda": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Topmodel Lambda"
            }
         },
         "required": [
            "name",
            "hillslope_length",
            "drainage_density"
         ],
         "title": "TerrainClass",
         "type": "object"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "items": {
      "$ref": "#/$defs/TerrainClass"
   }
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field root: Sequence[TerrainClass] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

ravenpy.config.commands.VC

alias of VegetationClass

pydantic model ravenpy.config.commands.VegetationClass[source]

Bases: Record

Show JSON schema
{
   "title": "VegetationClass",
   "type": "object",
   "properties": {
      "name": {
         "default": "",
         "title": "Name",
         "type": "string"
      },
      "max_ht": {
         "anyOf": [
            {
               "$ref": "#/$defs/Variable"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": 0.0,
         "title": "Max Ht"
      },
      "max_lai": {
         "anyOf": [
            {
               "$ref": "#/$defs/Variable"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": 0.0,
         "title": "Max Lai"
      },
      "max_leaf_cond": {
         "anyOf": [
            {
               "$ref": "#/$defs/Variable"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": 0.0,
         "title": "Max Leaf Cond"
      }
   },
   "$defs": {
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field max_ht: Variable | ExpressionNode | float | None = 0.0
field max_lai: Variable | ExpressionNode | float | None = 0.0
field max_leaf_cond: Variable | ExpressionNode | float | None = 0.0
field name: str = ''
pydantic model ravenpy.config.commands.VegetationClasses[source]

Bases: ListCommand

Show JSON schema
{
   "title": "VegetationClasses",
   "type": "array",
   "$defs": {
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      },
      "VegetationClass": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "max_ht": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.0,
               "title": "Max Ht"
            },
            "max_lai": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.0,
               "title": "Max Lai"
            },
            "max_leaf_cond": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.0,
               "title": "Max Leaf Cond"
            }
         },
         "title": "VegetationClass",
         "type": "object"
      }
   },
   "items": {
      "$ref": "#/$defs/VegetationClass"
   }
}

Config:
  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
field root: Sequence[VegetationClass] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.commands.VegetationParameterList[source]

Bases: GenericParameterList

Show JSON schema
{
   "title": "VegetationParameterList",
   "type": "object",
   "properties": {
      "Parameters": {
         "anyOf": [
            {
               "items": {
                  "enum": [
                     "ALBEDO",
                     "ALBEDO_WET",
                     "CAP_LAI_RATIO",
                     "CHU_MATURITY",
                     "DRIP_PROPORTION",
                     "MAX_CAPACITY",
                     "MAX_HEIGHT",
                     "MAX_INTERCEPT_RATE",
                     "MAX_LAI",
                     "MAX_LEAF_COND",
                     "MAX_ROOT_LENGTH",
                     "MAX_SNOW_CAPACITY",
                     "MIN_RESISTIVITY",
                     "PET_VEG_CORR",
                     "PSI_CRITICAL",
                     "RAIN_ICEPT_FACT",
                     "RAIN_ICEPT_PCT",
                     "RELATIVE_HT",
                     "RELATIVE_LAI",
                     "ROOTRADIUS",
                     "ROOT_EXTINCT",
                     "SAI_HT_RATIO",
                     "SNOCAP_LAI_RATIO",
                     "SNOW_ICEPT_FACT",
                     "SNOW_ICEPT_PCT",
                     "STEMFLOW_FRAC",
                     "SVF_EXTINCTION",
                     "TFRAIN",
                     "TFSNOW",
                     "TRUNK_FRACTION",
                     "VEG_DENS",
                     "VEG_DIAM",
                     "VEG_MBETA",
                     "XYLEM_FRAC"
                  ],
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Parameters"
      },
      "Units": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Units"
      },
      "pl": {
         "items": {
            "$ref": "#/$defs/ParameterList"
         },
         "title": "Pl",
         "type": "array"
      }
   },
   "$defs": {
      "ParameterList": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "values": {
               "default": [],
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Values",
               "type": "array"
            }
         },
         "title": "ParameterList",
         "type": "object"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "pl"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
Validators:

field parameters: Sequence[Literal['ALBEDO', 'ALBEDO_WET', 'CAP_LAI_RATIO', 'CHU_MATURITY', 'DRIP_PROPORTION', 'MAX_CAPACITY', 'MAX_HEIGHT', 'MAX_INTERCEPT_RATE', 'MAX_LAI', 'MAX_LEAF_COND', 'MAX_ROOT_LENGTH', 'MAX_SNOW_CAPACITY', 'MIN_RESISTIVITY', 'PET_VEG_CORR', 'PSI_CRITICAL', 'RAIN_ICEPT_FACT', 'RAIN_ICEPT_PCT', 'RELATIVE_HT', 'RELATIVE_LAI', 'ROOTRADIUS', 'ROOT_EXTINCT', 'SAI_HT_RATIO', 'SNOCAP_LAI_RATIO', 'SNOW_ICEPT_FACT', 'SNOW_ICEPT_PCT', 'STEMFLOW_FRAC', 'SVF_EXTINCTION', 'TFRAIN', 'TFSNOW', 'TRUNK_FRACTION', 'VEG_DENS', 'VEG_DIAM', 'VEG_MBETA', 'XYLEM_FRAC']] | None = None (alias 'Parameters')
Validated by:
  • num_values_equal_num_names

  • set_default_units

ravenpy.config.conventions module

ravenpy.config.defaults module

ravenpy.config.defaults.default_nc_attrs()[source]

Return default NetCDF global attributes.

ravenpy.config.defaults.nc_attrs(cls, val)[source]

Ensure default netCDF attributes are present.

ravenpy.config.options module

class ravenpy.config.options.AirPressureMethod(*values)[source]

Bases: Enum

BASIC = 'AIRPRESS_BASIC'
CONST = 'AIRPRESS_CONST'
DATA = 'AIRPRESS_DATA'
UBC = 'AIRPRESS_UBC'
class ravenpy.config.options.Calendar(*values)[source]

Bases: Enum

ALL_LEAP = 'ALL_LEAP'
GREGORIAN = 'GREGORIAN'
JULIAN = 'JULIAN'
NOLEAP = 'NOLEAP'
PROLEPTIC_GREGORIAN = 'PROLEPTIC_GREGORIAN'
STANDARD = 'STANDARD'
class ravenpy.config.options.CatchmentRoute(*values)[source]

Bases: Enum

:CatchmentRoute

DELAYED_FIRST_ORDER = 'ROUTE_DELAYED_FIRST_ORDER'
DUMP = 'ROUTE_DUMP'
EXP = 'ROUTE_EXPONENTIAL'
EXPONENTIAL_UH = 'EXPONENTIAL_UH'
GAMMA = 'ROUTE_GAMMA_CONVOLUTION'
RESERVOIR = 'ROUTE_RESERVOIR_SERIES'
TRI = 'ROUTE_TRI_CONVOLUTION'
TRIANGULAR_UH = 'TRIANGULAR_UH'
TRI_CONVOLUTION = 'TRI_CONVOLUTION'
class ravenpy.config.options.CloudCoverMethod(*values)[source]

Bases: Enum

DATA = 'CLOUDCOV_DATA'
NONE = 'CLOUDCOV_NONE'
UBC = 'CLOUDCOV_UBC'
class ravenpy.config.options.EnKFMode(*values)[source]

Bases: Enum

CLOSED_LOOP = 'ENKF_CLOSED_LOOP'
FORECAST = 'ENKF_FORECAST'
OPEN_FORECAST = 'ENKF_OPEN_FORECAST'
OPEN_LOOP = 'ENKF_OPEN_LOOP'
SPINUP = 'ENKF_SPINUP'
class ravenpy.config.options.EvaluationMetrics(*values)[source]

Bases: Enum

ABSERR = 'ABSERR'
ABSERR_RUN = 'ABSERR_RUN'
ABSMAX = 'ABSMAX'
DIAG_SPEARMAN = 'DIAG_SPEARMAN'
FUZZY_NASH = 'FUZZY_NASH'
KGE_PRIME = 'KGE_PRIME'
KLING_GUPTA = 'KLING_GUPTA'
LOG_NASH = 'LOG_NASH'
NASH_SUTCLIFFE = 'NASH_SUTCLIFFE'
NSC = 'NSC'
PCT_BIAS = 'PCT_BIAS'
PDIFF = 'PDIFF'
RCOEFF = 'RCOEFF'
RMSE = 'RMSE'
TMVOL = 'TMVOL'
class ravenpy.config.options.Evaporation(*values)[source]

Bases: Enum

CONSTANT = 'PET_CONSTANT'
DATA = 'PET_DATA'
FROMMONTHLY = 'PET_FROMMONTHLY'
HAMON_1961 = 'PET_HAMON_1961'
HARGREAVES = 'PET_HARGREAVES'
HARGREAVES_1985 = 'PET_HARGREAVES_1985'
MAKKINK_1957 = 'PET_MAKKINK_1957'
MOHYSE = 'PET_MOHYSE'
MONTHLY_FACTOR = 'PET_MONTHLY_FACTOR'
OUDIN = 'PET_OUDIN'
PENMAN_COMBINATION = 'PET_PENMAN_COMBINATION'
PENMAN_MONTEITH = 'PET_PENMAN_MONTEITH'
PRIESTLEY_TAYLOR = 'PET_PRIESTLEY_TAYLOR'
TURC_1961 = 'PET_TURC_1961'
VAP_DEFICIT = 'PET_VAPDEFICIT'
class ravenpy.config.options.Interpolation(*values)[source]

Bases: Enum

AVERAGE_ALL = 'INTERP_AVERAGE_ALL'
FROM_FILE = 'INTERP_FROM_FILE'
INVERSE_DISTANCE = 'INTERP_INVERSE_DISTANCE'
NEAREST_NEIGHBOR = 'INTERP_NEAREST_NEIGHBOR'
class ravenpy.config.options.LWIncomingMethod(*values)[source]

Bases: Enum

DATA = 'LW_INC_DATA'
DEFAULT = 'LW_INC_DEFAULT'
DINGMAN = 'LW_INC_DINGMAN'
SICART = 'LW_INC_SICART'
SKYVIEW = 'LW_INC_SKYVIEW'
class ravenpy.config.options.LWRadiationMethod(*values)[source]

Bases: Enum

DATA = 'LW_RAD_DATA'
DEFAULT = 'LW_RAD_DEFAULT'
UBCWM = 'LW_RAD_UBC'
class ravenpy.config.options.MonthlyInterpolationMethod(*values)[source]

Bases: Enum

LINEAR_21 = 'MONTHINT_LINEAR_21'
LINEAR_FOM = 'MONTHINT_LINEAR_FOM'
LINEAR_MID = 'MONTHINT_LINEAR_MID'
UNIFORM = 'MONTHINT_UNIFORM'
class ravenpy.config.options.OroPETCorrect(*values)[source]

Bases: Enum

HBV = 'OROCORR_HBV'
NONE = 'OROCORR_NONE'
SIMPLELAPSE = 'OROCORR_SIMPLELAPSE'
class ravenpy.config.options.OroPrecipCorrect(*values)[source]

Bases: Enum

HBV = 'OROCORR_HBV'
NONE = 'OROCORR_NONE'
SIMPLELAPSE = 'OROCORR_SIMPLELAPSE'
UBC = 'OROCORR_UBC'
class ravenpy.config.options.OroTempCorrect(*values)[source]

Bases: Enum

HBV = 'OROCORR_HBV'
NONE = 'OROCORR_NONE'
SIMPLELAPSE = 'OROCORR_SIMPLELAPSE'
UBC = 'OROCORR_UBC'
UBC2 = 'OROCORR_UBC_2'
class ravenpy.config.options.PotentialMeltMethod(*values)[source]

Bases: Enum

:PotentialMelt algorithms

DATA = 'POTMELT_DATA'
DEGREE_DAY = 'POTMELT_DEGREE_DAY'
EB = 'POTMELT_EB'
HBV = 'POTMELT_HBV'
HMETS = 'POTMELT_HMETS'
NONE = 'POTMELT_NONE'
RESTRICTED = 'POTMELT_RESTRICTED'
UBC = 'POTMELT_UBC'
USACE = 'POTMELT_USACE'
class ravenpy.config.options.PrecipIceptFract(*values)[source]

Bases: Enum

EXPLAI = 'PRECIP_ICEPT_EXPLAI'
HEDSTROM = 'PRECIP_ICEPT_HEDSTROM'
LAI = 'PRECIP_ICEPT_LAI'
NONE = 'PRECIP_ICEPT_NONE'
USER = 'PRECIP_ICEPT_USER'
class ravenpy.config.options.Precipitation(*values)[source]

Bases: Enum

DEFAULT = 'PRECIP_RAVEN'
class ravenpy.config.options.RainSnowFraction(*values)[source]

Bases: Enum

DATA = 'RAINSNOW_DATA'
DINGMAN = 'RAINSNOW_DINGMAN'
HARDER = 'RAINSNOW_HARDER'
HBV = 'RAINSNOW_HBV'
HSPF = 'RAINSNOW_HSPF'
SNTHERM89 = 'RAINSNOW_SNTHERM89'
UBC = 'RAINSNOW_UBC'
WANG = 'RAINSNOW_WANG'
class ravenpy.config.options.RechargeMethod(*values)[source]

Bases: Enum

DATA = 'RECHARGE_DATA'
NONE = 'RECHARGE_NONE'
class ravenpy.config.options.RelativeHumidityMethod(*values)[source]

Bases: Enum

CONSTANT = 'RELHUM_CONSTANT'
CORR = 'RELHUM_CORR'
DATA = 'RELHUM_DATA'
MINDEWPT = 'RELHUM_MINDEWPT'
WINDVEL = 'WINDVEL_CORR'
class ravenpy.config.options.Routing(*values)[source]

Bases: Enum

DIFFUSIVE_WAVE = 'ROUTE_DIFFUSIVE_WAVE'
HYDROLOGIC = 'ROUTE_HYDROLOGIC'
MUSKINGUM = 'MUSKINGUM'
NONE = 'ROUTE_NONE'
PLUG_FLOW = 'ROUTE_PLUG_FLOW'
STORAGE_COEFF = 'ROUTE_STORAGE_COEFF'
class ravenpy.config.options.SWCanopyCorrect(*values)[source]

Bases: Enum

DYNAMIC = 'SW_CANOPY_CORR_DYNAMIC'
NONE = 'SW_CANOPY_CORR_NONE'
STATIC = 'SW_CANOPY_CORR_STATIC'
UBC = 'SW_CANOPY_CORR_UBC'
class ravenpy.config.options.SWCloudCorrect(*values)[source]

Bases: Enum

ANNANDALE = 'SW_CLOUD_CORR_ANNANDALE'
DINGMAN = 'SW_CLOUD_CORR_DINGMAN'
NONE = 'SW_CLOUD_CORR_NONE'
UBC = 'SW_CLOUD_CORR_UBCWM'
class ravenpy.config.options.SWRadiationMethod(*values)[source]

Bases: Enum

DATA = 'SW_RAD_DATA'
DEFAULT = 'SW_RAD_DEFAULT'
UBCWM = 'SW_RAD_UBCWM'
class ravenpy.config.options.SoilModel(*values)[source]

Bases: Enum

MULTILAYER = 'SOIL_MULTILAYER'
ONE_LAYER = 'SOIL_ONE_LAYER'
TWO_LAYER = 'SOIL_TWO_LAYER'
class ravenpy.config.options.SubdailyMethod(*values)[source]

Bases: Enum

NONE = 'SUBDAILY_NONE'
SIMPLE = 'SUBDAILY_SIMPLE'
UBC = 'SUBDAILY_UBC'
class ravenpy.config.options.WindspeedMethod(*values)[source]

Bases: Enum

CONSTANT = 'WINDVEL_CONSTANT'
DATA = 'WINDVEL_DATA'
UBC = 'WINDVEL_UBC'

ravenpy.config.parsers module

ravenpy.config.parsers.output_files(run_name: str, path: Path)[source]

Return path to each output file if it exists.

ravenpy.config.parsers.parse_diagnostics(fn: Path)[source]

Return dictionary of performance metrics.

ravenpy.config.parsers.parse_nc(fn: Path)[source]

Open netCDF dataset with xarray if the path is valid, otherwise return None.

ravenpy.config.parsers.parse_outputs(run_name: str, outputdir: str | Path | None = None)[source]

Parse outputs from model execution.

Parameters:
  • run_name (str) – RunName value identifying model outputs.

  • outputdir (str or Path) – Path to model output directory. Current directory if None.

Returns:

Dictionary holding model outputs:
  • hydrograph: xarray.Dataset

  • storage: xarray.Dataset

  • solution: Dict[str, Command]

  • diagnostics: Dict[str, list]

Return type:

dict

Notes

Values are set to None if no file is found.

ravenpy.config.parsers.parse_raven_messages(path)[source]

Parse Raven_errors and extract the messages, structured by types.

ravenpy.config.parsers.parse_rv(rv: str, command: str) str[source]

Parse an RV file to find the value of a Command (one liner).

Parameters:
  • rv (str) – The Raven command string, e.g. “RunName”.

  • command (str) – Valid Raven command.

Returns:

Command value. None if not found.

Return type:

str

ravenpy.config.parsers.parse_solution(fn: Path, calendar: str = 'PROLEPTIC_GREGORIAN')[source]

Return command objects from the model output solution.rvc.

ravenpy.config.processes module

pydantic model ravenpy.config.processes.Abstraction[source]

Bases: Process

Show JSON schema
{
   "title": "Abstraction",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "ABST_PERCENTAGE",
            "ABST_FILL",
            "ABST_SCS",
            "ABST_PDMROF"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['ABST_PERCENTAGE', 'ABST_FILL', 'ABST_SCS', 'ABST_PDMROF'])

Validators:

field algo: Literal['ABST_PERCENTAGE', 'ABST_FILL', 'ABST_SCS', 'ABST_PDMROF'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.Baseflow[source]

Bases: Process

Show JSON schema
{
   "title": "Baseflow",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "BASE_LINEAR",
            "BASE_LINEAR_CONSTRAIN",
            "BASE_LINEAR_ANALYTIC",
            "BASE_POWER_LAW",
            "BASE_CONSTANT",
            "BASE_VIC",
            "BASE_THRESH_POWER",
            "BASE_THRESH_STOR",
            "BASE_GR4J",
            "BASE_TOPMODEL",
            "BASE_SACRAMENTO"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['BASE_LINEAR', 'BASE_LINEAR_CONSTRAIN', 'BASE_LINEAR_ANALYTIC', 'BASE_POWER_LAW', 'BASE_CONSTANT', 'BASE_VIC', 'BASE_THRESH_POWER', 'BASE_THRESH_STOR', 'BASE_GR4J', 'BASE_TOPMODEL', 'BASE_SACRAMENTO'])

Validators:

field algo: Literal['BASE_LINEAR', 'BASE_LINEAR_CONSTRAIN', 'BASE_LINEAR_ANALYTIC', 'BASE_POWER_LAW', 'BASE_CONSTANT', 'BASE_VIC', 'BASE_THRESH_POWER', 'BASE_THRESH_STOR', 'BASE_GR4J', 'BASE_TOPMODEL', 'BASE_SACRAMENTO'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.CanopyDrip[source]

Bases: Process

Show JSON schema
{
   "title": "CanopyDrip",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "CANDRIP_RUTTER",
            "CANDRIP_SLOWDRAIN"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['CANDRIP_RUTTER', 'CANDRIP_SLOWDRAIN'])

Validators:

field algo: Literal['CANDRIP_RUTTER', 'CANDRIP_SLOWDRAIN'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.CanopyEvaporation[source]

Bases: Process

Show JSON schema
{
   "title": "CanopyEvaporation",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "CANEVP_RUTTER",
            "CANEVP_MAXIMUM",
            "CANEVP_ALL"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['CANEVP_RUTTER', 'CANEVP_MAXIMUM', 'CANEVP_ALL'])

Validators:

field algo: Literal['CANEVP_RUTTER', 'CANEVP_MAXIMUM', 'CANEVP_ALL'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.CanopySublimation[source]

Bases: Process

Show JSON schema
{
   "title": "CanopySublimation",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "CANEVP_ALL",
            "CANEVP_MAXIMUM",
            "CANSUBLIM_ALL",
            "CANSUBLIM_MAXIMUM"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['CANEVP_ALL', 'CANEVP_MAXIMUM', 'CANSUBLIM_ALL', 'CANSUBLIM_MAXIMUM'])

Validators:

field algo: Literal['CANEVP_ALL', 'CANEVP_MAXIMUM', 'CANSUBLIM_ALL', 'CANSUBLIM_MAXIMUM'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.CapilaryRise[source]

Bases: Process

Show JSON schema
{
   "title": "CapilaryRise",
   "type": "object",
   "properties": {
      "algo": {
         "const": "CRISE_HBV",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['CRISE_HBV'])

Validators:

field algo: Literal['CRISE_HBV'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.CapillaryRise[source]

Bases: Process

Show JSON schema
{
   "title": "CapillaryRise",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "RISE_HBV",
            "CRISE_HBV"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['RISE_HBV', 'CRISE_HBV'])

Validators:

field algo: Literal['RISE_HBV', 'CRISE_HBV'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.Conditional[source]

Bases: Command

Conditional statement.

Show JSON schema
{
   "title": "Conditional",
   "description": "Conditional statement.",
   "type": "object",
   "properties": {
      "kind": {
         "enum": [
            "HRU_TYPE",
            "LAND_CLASS",
            "HRU_GROUP"
         ],
         "title": "Kind",
         "type": "string"
      },
      "op": {
         "enum": [
            "IS",
            "IS_NOT"
         ],
         "title": "Op",
         "type": "string"
      },
      "value": {
         "title": "Value",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "kind",
      "op",
      "value"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • kind (Literal['HRU_TYPE', 'LAND_CLASS', 'HRU_GROUP'])

  • op (Literal['IS', 'IS_NOT'])

  • value (str)

field kind: Literal['HRU_TYPE', 'LAND_CLASS', 'HRU_GROUP'] [Required]
field op: Literal['IS', 'IS_NOT'] [Required]
field value: str [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

to_rv()[source]

Return Raven configuration string.

pydantic model ravenpy.config.processes.Convolve[source]

Bases: Process

Show JSON schema
{
   "title": "Convolve",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "CONVOL_GR4J_1",
            "CONVOL_GR4J_2",
            "CONVOL_GAMMA",
            "CONVOL_GAMMA_2"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['CONVOL_GR4J_1', 'CONVOL_GR4J_2', 'CONVOL_GAMMA', 'CONVOL_GAMMA_2'])

Validators:

field algo: Literal['CONVOL_GR4J_1', 'CONVOL_GR4J_2', 'CONVOL_GAMMA', 'CONVOL_GAMMA_2'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.CropHeatUnitEvolve[source]

Bases: Process

Show JSON schema
{
   "title": "CropHeatUnitEvolve",
   "type": "object",
   "properties": {
      "algo": {
         "const": "CHU_ONTARIO",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['CHU_ONTARIO'])

Validators:

field algo: Literal['CHU_ONTARIO'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.DepressionOverflow[source]

Bases: Process

Show JSON schema
{
   "title": "DepressionOverflow",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "DFLOW_THRESHPOW",
            "DFLOW_LINEAR"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['DFLOW_THRESHPOW', 'DFLOW_LINEAR'])

Validators:

field algo: Literal['DFLOW_THRESHPOW', 'DFLOW_LINEAR'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.Flush[source]

Bases: Process

Show JSON schema
{
   "title": "Flush",
   "type": "object",
   "properties": {
      "algo": {
         "const": "RAVEN_DEFAULT",
         "default": "RAVEN_DEFAULT",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      },
      "p": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "P"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['RAVEN_DEFAULT'])

  • p (float | None)

Validators:

field algo: Literal['RAVEN_DEFAULT'] = 'RAVEN_DEFAULT'
field p: float | None = None
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.GlacierMelt[source]

Bases: Process

Show JSON schema
{
   "title": "GlacierMelt",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "GMELT_SIMPLE_MELT",
            "GMELT_HBV",
            "GMELT_UBC"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['GMELT_SIMPLE_MELT', 'GMELT_HBV', 'GMELT_UBC'])

Validators:

field algo: Literal['GMELT_SIMPLE_MELT', 'GMELT_HBV', 'GMELT_UBC'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.GlacierRelease[source]

Bases: Process

Show JSON schema
{
   "title": "GlacierRelease",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "GRELEASE_LINEAR",
            "GRELEASE_HBV_EC"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['GRELEASE_LINEAR', 'GRELEASE_HBV_EC'])

Validators:

field algo: Literal['GRELEASE_LINEAR', 'GRELEASE_HBV_EC'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.Infiltration[source]

Bases: Process

Show JSON schema
{
   "title": "Infiltration",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "INF_RATIONAL",
            "INF_SCS",
            "INF_ALL_INFILTRATES",
            "INF_GR4J",
            "INF_GREEN_AMPT",
            "INF_GA_SIMPLE",
            "INF_UPSCALED_GREEN_AMPT",
            "INF_HBV",
            "INF_UBC",
            "INF_VIC",
            "INF_VIC_ARNO",
            "INF_PRMS",
            "INF_HMETS"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['INF_RATIONAL', 'INF_SCS', 'INF_ALL_INFILTRATES', 'INF_GR4J', 'INF_GREEN_AMPT', 'INF_GA_SIMPLE', 'INF_UPSCALED_GREEN_AMPT', 'INF_HBV', 'INF_UBC', 'INF_VIC', 'INF_VIC_ARNO', 'INF_PRMS', 'INF_HMETS'])

Validators:

field algo: Literal['INF_RATIONAL', 'INF_SCS', 'INF_ALL_INFILTRATES', 'INF_GR4J', 'INF_GREEN_AMPT', 'INF_GA_SIMPLE', 'INF_UPSCALED_GREEN_AMPT', 'INF_HBV', 'INF_UBC', 'INF_VIC', 'INF_VIC_ARNO', 'INF_PRMS', 'INF_HMETS'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.Interflow[source]

Bases: Process

Show JSON schema
{
   "title": "Interflow",
   "type": "object",
   "properties": {
      "algo": {
         "const": "INTERFLOW_PRMS",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['INTERFLOW_PRMS'])

Validators:

field algo: Literal['INTERFLOW_PRMS'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.LakeEvaporation[source]

Bases: Process

Show JSON schema
{
   "title": "LakeEvaporation",
   "type": "object",
   "properties": {
      "algo": {
         "const": "LAKE_EVAP_BASIC",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['LAKE_EVAP_BASIC'])

Validators:

field algo: Literal['LAKE_EVAP_BASIC'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.LakeFreeze[source]

Bases: Process

Show JSON schema
{
   "title": "LakeFreeze",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "LFREEZE_BASIC",
            "LFREEZE_THERMAL"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['LFREEZE_BASIC', 'LFREEZE_THERMAL'])

Validators:

field algo: Literal['LFREEZE_BASIC', 'LFREEZE_THERMAL'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.LakeRelease[source]

Bases: Process

Show JSON schema
{
   "title": "LakeRelease",
   "type": "object",
   "properties": {
      "algo": {
         "const": "LAKEREL_LINEAR",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['LAKEREL_LINEAR'])

Validators:

field algo: Literal['LAKEREL_LINEAR'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.LateralEquilibrate[source]

Bases: Process

Lateral equilibrate.

Instantaneously equilibrates groundwater storage in basin HRUs.

Show JSON schema
{
   "title": "LateralEquilibrate",
   "description": "Lateral equilibrate.\n\nInstantaneously equilibrates groundwater storage in basin HRUs.",
   "type": "object",
   "properties": {
      "algo": {
         "default": "RAVEN_DEFAULT",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:

Validators:

model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.LateralFlush[source]

Bases: Process

Lateral flush.

Show JSON schema
{
   "title": "LateralFlush",
   "description": "Lateral flush.",
   "type": "object",
   "properties": {
      "algo": {
         "default": "RAVEN_DEFAULT",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:

Validators:

model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.OpenWaterEvaporation[source]

Bases: Process

Show JSON schema
{
   "title": "OpenWaterEvaporation",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "OPEN_WATER_EVAP",
            "OPEN_WATER_RIPARIAN"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['OPEN_WATER_EVAP', 'OPEN_WATER_RIPARIAN'])

Validators:

field algo: Literal['OPEN_WATER_EVAP', 'OPEN_WATER_RIPARIAN'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.Overflow[source]

Bases: Process

Show JSON schema
{
   "title": "Overflow",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "OVERFLOW_RAVEN",
            "RAVEN_DEFAULT"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['OVERFLOW_RAVEN', 'RAVEN_DEFAULT'])

Validators:

field algo: Literal['OVERFLOW_RAVEN', 'RAVEN_DEFAULT'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.Percolation[source]

Bases: Process

Show JSON schema
{
   "title": "Percolation",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "PERC_GAWSER",
            "PERC_LINEAR",
            "PERC_POWER_LAW",
            "PERC_PRMS",
            "PERC_SACRAMENTO",
            "PERC_CONSTANT",
            "PERC_GR4J",
            "PERC_GR4JEXCH",
            "PERC_GR4JEXCH2"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['PERC_GAWSER', 'PERC_LINEAR', 'PERC_POWER_LAW', 'PERC_PRMS', 'PERC_SACRAMENTO', 'PERC_CONSTANT', 'PERC_GR4J', 'PERC_GR4JEXCH', 'PERC_GR4JEXCH2'])

Validators:

field algo: Literal['PERC_GAWSER', 'PERC_LINEAR', 'PERC_POWER_LAW', 'PERC_PRMS', 'PERC_SACRAMENTO', 'PERC_CONSTANT', 'PERC_GR4J', 'PERC_GR4JEXCH', 'PERC_GR4JEXCH2'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.Precipitation[source]

Bases: Process

Precipitation.

Show JSON schema
{
   "title": "Precipitation",
   "description": "Precipitation.",
   "type": "object",
   "properties": {
      "algo": {
         "default": "PRECIP_RAVEN",
         "enum": [
            "PRECIP_RAVEN",
            "RAVEN_DEFAULT"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['PRECIP_RAVEN', 'RAVEN_DEFAULT'])

Validators:

field algo: Literal['PRECIP_RAVEN', 'RAVEN_DEFAULT'] = 'PRECIP_RAVEN'
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.ProcessGroup[source]

Bases: Command

Show JSON schema
{
   "title": "ProcessGroup",
   "type": "object",
   "properties": {
      "p": {
         "items": {
            "$ref": "#/$defs/Process"
         },
         "title": "P",
         "type": "array"
      },
      "params": {
         "items": {
            "anyOf": [
               {
                  "$ref": "#/$defs/Variable"
               },
               {
                  "type": "number"
               },
               {
                  "type": "null"
               }
            ]
         },
         "title": "Params",
         "type": "array"
      }
   },
   "$defs": {
      "Process": {
         "additionalProperties": false,
         "description": "Process type embedded in HydrologicProcesses command.\n\nSee processes.py for list of processes.",
         "properties": {
            "algo": {
               "default": "RAVEN_DEFAULT",
               "title": "Algo",
               "type": "string"
            },
            "source": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Source"
            },
            "to": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "To",
               "type": "array"
            }
         },
         "title": "Process",
         "type": "object"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "p",
      "params"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • p (collections.abc.Sequence[ravenpy.config.commands.Process])

  • params (collections.abc.Sequence[pymbolic.primitives.Variable | pymbolic.primitives.ExpressionNode | float | None])

field p: Sequence[Process] [Required]
field params: Sequence[Variable | ExpressionNode | float | None] [Required]
to_rv()[source]

Return Raven configuration string.

pydantic model ravenpy.config.processes.Recharge[source]

Bases: Process

Show JSON schema
{
   "title": "Recharge",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "RECHARGE_FROMFILE",
            "RECHARGE_CONSTANT",
            "RECHARGE_DEFAULT",
            "RECHARGE_CONSTANT_OVERLAP",
            "RECHARGE_DATA",
            "RECHARGE_FLUX",
            "RAVEN_DEFAULT"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['RECHARGE_FROMFILE', 'RECHARGE_CONSTANT', 'RECHARGE_DEFAULT', 'RECHARGE_CONSTANT_OVERLAP', 'RECHARGE_DATA', 'RECHARGE_FLUX', 'RAVEN_DEFAULT'])

Validators:

field algo: Literal['RECHARGE_FROMFILE', 'RECHARGE_CONSTANT', 'RECHARGE_DEFAULT', 'RECHARGE_CONSTANT_OVERLAP', 'RECHARGE_DATA', 'RECHARGE_FLUX', 'RAVEN_DEFAULT'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.Seepage[source]

Bases: Process

Show JSON schema
{
   "title": "Seepage",
   "type": "object",
   "properties": {
      "algo": {
         "const": "SEEP_LINEAR",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['SEEP_LINEAR'])

Validators:

field algo: Literal['SEEP_LINEAR'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.SnowAlbedoEvolve[source]

Bases: Process

Show JSON schema
{
   "title": "SnowAlbedoEvolve",
   "type": "object",
   "properties": {
      "algo": {
         "const": "SNOALB_UBC",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['SNOALB_UBC'])

Validators:

field algo: Literal['SNOALB_UBC'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.SnowBalance[source]

Bases: Process

Show JSON schema
{
   "title": "SnowBalance",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "SNOBAL_SIMPLE_MELT",
            "SNOBAL_COLD_CONTENT",
            "SNOBAL_HBV",
            "SNOBAL_TWO_LAYER",
            "SNOBAL_CEMA_NIEGE",
            "SNOBAL_HMETS",
            "SNOWBAL_GAWSER",
            "SNOWBAL_UBC"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['SNOBAL_SIMPLE_MELT', 'SNOBAL_COLD_CONTENT', 'SNOBAL_HBV', 'SNOBAL_TWO_LAYER', 'SNOBAL_CEMA_NIEGE', 'SNOBAL_HMETS', 'SNOWBAL_GAWSER', 'SNOWBAL_UBC'])

Validators:

field algo: Literal['SNOBAL_SIMPLE_MELT', 'SNOBAL_COLD_CONTENT', 'SNOBAL_HBV', 'SNOBAL_TWO_LAYER', 'SNOBAL_CEMA_NIEGE', 'SNOBAL_HMETS', 'SNOWBAL_GAWSER', 'SNOWBAL_UBC'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.SnowMelt[source]

Bases: Process

Show JSON schema
{
   "title": "SnowMelt",
   "type": "object",
   "properties": {
      "algo": {
         "const": "MELT_POTMELT",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['MELT_POTMELT'])

Validators:

field algo: Literal['MELT_POTMELT'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.SnowRefreeze[source]

Bases: Process

Show JSON schema
{
   "title": "SnowRefreeze",
   "type": "object",
   "properties": {
      "algo": {
         "const": "FREEZE_DEGREE_DAY",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['FREEZE_DEGREE_DAY'])

Validators:

field algo: Literal['FREEZE_DEGREE_DAY'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.SnowTempEvolve[source]

Bases: Process

Show JSON schema
{
   "title": "SnowTempEvolve",
   "type": "object",
   "properties": {
      "algo": {
         "const": "SNOTEMP_NEWTONS",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['SNOTEMP_NEWTONS'])

Validators:

field algo: Literal['SNOTEMP_NEWTONS'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.SoilBalance[source]

Bases: Process

Show JSON schema
{
   "title": "SoilBalance",
   "type": "object",
   "properties": {
      "algo": {
         "const": "SOILBAL_SACSMA",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['SOILBAL_SACSMA'])

Validators:

field algo: Literal['SOILBAL_SACSMA'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.SoilEvaporation[source]

Bases: Process

Show JSON schema
{
   "title": "SoilEvaporation",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "SOILEVAP_VIC",
            "SOILEVAP_HBV",
            "SOILEVAP_HYPR",
            "SOILEVAL_CHU",
            "SOILEVAP_UBC",
            "SOILEVAP_GR4J",
            "SOILEVAP_TOPMODEL",
            "SOILEVAP_SEQUEN",
            "SOILEVAP_ROOT",
            "SOILEVAP_ROOT_CONSTRAIN",
            "SOILEVAP_ROOTFRAC",
            "SOILEVAP_GAWSER",
            "SOILEVAP_FEDERER",
            "SOILEVAP_ALL",
            "SOILEVAP_LINEAR",
            "SOILEVAP_SACSMA",
            "SOILEVAP_HYMOD2"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['SOILEVAP_VIC', 'SOILEVAP_HBV', 'SOILEVAP_HYPR', 'SOILEVAL_CHU', 'SOILEVAP_UBC', 'SOILEVAP_GR4J', 'SOILEVAP_TOPMODEL', 'SOILEVAP_SEQUEN', 'SOILEVAP_ROOT', 'SOILEVAP_ROOT_CONSTRAIN', 'SOILEVAP_ROOTFRAC', 'SOILEVAP_GAWSER', 'SOILEVAP_FEDERER', 'SOILEVAP_ALL', 'SOILEVAP_LINEAR', 'SOILEVAP_SACSMA', 'SOILEVAP_HYMOD2'])

Validators:

field algo: Literal['SOILEVAP_VIC', 'SOILEVAP_HBV', 'SOILEVAP_HYPR', 'SOILEVAL_CHU', 'SOILEVAP_UBC', 'SOILEVAP_GR4J', 'SOILEVAP_TOPMODEL', 'SOILEVAP_SEQUEN', 'SOILEVAP_ROOT', 'SOILEVAP_ROOT_CONSTRAIN', 'SOILEVAP_ROOTFRAC', 'SOILEVAP_GAWSER', 'SOILEVAP_FEDERER', 'SOILEVAP_ALL', 'SOILEVAP_LINEAR', 'SOILEVAP_SACSMA', 'SOILEVAP_HYMOD2'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.Split[source]

Bases: Process

Show JSON schema
{
   "title": "Split",
   "type": "object",
   "properties": {
      "algo": {
         "default": "RAVEN_DEFAULT",
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "maxItems": 2,
         "minItems": 2,
         "prefixItems": [
            {
               "type": "string"
            },
            {
               "type": "string"
            }
         ],
         "title": "To",
         "type": "array"
      },
      "p": {
         "default": null,
         "title": "P",
         "type": "number"
      }
   },
   "additionalProperties": false,
   "required": [
      "to"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • p (float)

  • to (tuple[str, str])

Validators:
field p: float = None
field to: tuple[str, str] [Required]
Validated by:
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model ravenpy.config.processes.Sublimation[source]

Bases: Process

Show JSON schema
{
   "title": "Sublimation",
   "type": "object",
   "properties": {
      "algo": {
         "enum": [
            "SUBLIM_SVERDRUP",
            "SUBLIM_KUZMIN",
            "SUBLIM_CENTRAL_SIERRA",
            "SUBLIM_PSBM",
            "SUBLIM_WILLIAMS"
         ],
         "title": "Algo",
         "type": "string"
      },
      "source": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Source"
      },
      "to": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "To",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "algo"
   ]
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

Fields:
  • algo (Literal['SUBLIM_SVERDRUP', 'SUBLIM_KUZMIN', 'SUBLIM_CENTRAL_SIERRA', 'SUBLIM_PSBM', 'SUBLIM_WILLIAMS'])

Validators:

field algo: Literal['SUBLIM_SVERDRUP', 'SUBLIM_KUZMIN', 'SUBLIM_CENTRAL_SIERRA', 'SUBLIM_PSBM', 'SUBLIM_WILLIAMS'] [Required]
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

ravenpy.config.rvs module

pydantic model ravenpy.config.rvs.Config[source]

Bases: RVI, RVC, RVH, RVT, RVP, RVE

Show JSON schema
{
   "title": "Config",
   "type": "object",
   "properties": {
      "EnKFMode": {
         "anyOf": [
            {
               "$ref": "#/$defs/EnKFMode"
            },
            {
               "type": "null"
            }
         ]
      },
      "WindowSize": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "title": "Windowsize"
      },
      "SolutionRunName": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Solutionrunname"
      },
      "ExtraRVTFilename": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Extrarvtfilename"
      },
      "OutputDirectoryFormat": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "format": "path",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Outputdirectoryformat"
      },
      "ForecastRVTFilename": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Forecastrvtfilename"
      },
      "TruncateHindcasts": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Truncatehindcasts"
      },
      "ForcingPerturbation": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/ForcingPerturbation"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Forcingperturbation"
      },
      "AssimilatedState": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/AssimilatedState"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Assimilatedstate"
      },
      "AssimilateStreamflow": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/AssimilateStreamflow"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Assimilatestreamflow"
      },
      "ObservationErrorModel": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/ObservationErrorModel"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Observationerrormodel"
      },
      "params": {
         "default": null,
         "title": "Params"
      },
      "SoilClasses": {
         "anyOf": [
            {
               "$ref": "#/$defs/SoilClasses"
            },
            {
               "type": "null"
            }
         ]
      },
      "SoilProfiles": {
         "anyOf": [
            {
               "$ref": "#/$defs/SoilProfiles"
            },
            {
               "type": "null"
            }
         ]
      },
      "VegetationClasses": {
         "anyOf": [
            {
               "$ref": "#/$defs/VegetationClasses"
            },
            {
               "type": "null"
            }
         ]
      },
      "LandUseClasses": {
         "anyOf": [
            {
               "$ref": "#/$defs/LandUseClasses"
            },
            {
               "type": "null"
            }
         ]
      },
      "TerrainClasses": {
         "anyOf": [
            {
               "$ref": "#/$defs/TerrainClasses"
            },
            {
               "type": "null"
            }
         ]
      },
      "SoilParameterList": {
         "anyOf": [
            {
               "$ref": "#/$defs/SoilParameterList"
            },
            {
               "type": "null"
            }
         ]
      },
      "LandUseParameterList": {
         "anyOf": [
            {
               "$ref": "#/$defs/LandUseParameterList"
            },
            {
               "type": "null"
            }
         ]
      },
      "VegetationParameterList": {
         "anyOf": [
            {
               "$ref": "#/$defs/VegetationParameterList"
            },
            {
               "type": "null"
            }
         ]
      },
      "ChannelProfile": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/ChannelProfile"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Channelprofile"
      },
      "GlobalParameter": {
         "anyOf": [
            {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": {},
         "title": "Globalparameter"
      },
      "RainSnowTransition": {
         "anyOf": [
            {
               "$ref": "#/$defs/RainSnowTransition"
            },
            {
               "type": "null"
            }
         ]
      },
      "SeasonalRelativeLAI": {
         "anyOf": [
            {
               "$ref": "#/$defs/SeasonalRelativeLAI"
            },
            {
               "type": "null"
            }
         ]
      },
      "SeasonalRelativeHeight": {
         "anyOf": [
            {
               "$ref": "#/$defs/SeasonalRelativeHeight"
            },
            {
               "type": "null"
            }
         ]
      },
      "Gauge": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/Gauge"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Gauge"
      },
      "StationForcing": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/StationForcing"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Stationforcing"
      },
      "GriddedForcing": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/GriddedForcing"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Griddedforcing"
      },
      "ObservationData": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/ObservationData"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Observationdata"
      },
      "SubBasins": {
         "anyOf": [
            {
               "$ref": "#/$defs/SubBasins"
            },
            {
               "type": "null"
            }
         ]
      },
      "SubBasinGroup": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/SubBasinGroup"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Subbasingroup"
      },
      "SubBasinProperties": {
         "anyOf": [
            {
               "$ref": "#/$defs/SubBasinProperties"
            },
            {
               "type": "null"
            }
         ]
      },
      "SBGroupPropertyMultiplier": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/SBGroupPropertyMultiplier"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Sbgrouppropertymultiplier"
      },
      "GaugedSubBasinGroup": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Gaugedsubbasingroup"
      },
      "HRUs": {
         "anyOf": [
            {
               "$ref": "#/$defs/HRUs"
            },
            {
               "type": "null"
            }
         ]
      },
      "HRUGroup": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/HRUGroup"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Hrugroup"
      },
      "Reservoirs": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/Reservoir"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Reservoirs"
      },
      "HRUStateVariableTable": {
         "anyOf": [
            {
               "$ref": "#/$defs/HRUStateVariableTable"
            },
            {
               "type": "null"
            }
         ]
      },
      "BasinStateVariables": {
         "anyOf": [
            {
               "$ref": "#/$defs/BasinStateVariables"
            },
            {
               "type": "null"
            }
         ]
      },
      "UniformInitialConditions": {
         "anyOf": [
            {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "title": "Uniforminitialconditions"
      },
      "SilentMode": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Silentmode"
      },
      "NoisyMode": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Noisymode"
      },
      "RunName": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Runname"
      },
      "Calendar": {
         "anyOf": [
            {
               "$ref": "#/$defs/Calendar"
            },
            {
               "type": "null"
            }
         ]
      },
      "StartDate": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "format": "date",
               "type": "string"
            },
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Startdate"
      },
      "AssimilationStartTime": {
         "anyOf": [
            {
               "format": "date",
               "type": "string"
            },
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Assimilationstarttime"
      },
      "EndDate": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "format": "date",
               "type": "string"
            },
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Enddate"
      },
      "Duration": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "title": "Duration"
      },
      "TimeStep": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Timestep"
      },
      "Interpolation": {
         "anyOf": [
            {
               "$ref": "#/$defs/Interpolation"
            },
            {
               "type": "null"
            }
         ]
      },
      "Routing": {
         "anyOf": [
            {
               "$ref": "#/$defs/Routing"
            },
            {
               "type": "null"
            }
         ]
      },
      "CatchmentRoute": {
         "anyOf": [
            {
               "$ref": "#/$defs/CatchmentRoute"
            },
            {
               "type": "null"
            }
         ]
      },
      "Evaporation": {
         "anyOf": [
            {
               "$ref": "#/$defs/Evaporation"
            },
            {
               "type": "null"
            }
         ]
      },
      "OW_Evaporation": {
         "anyOf": [
            {
               "$ref": "#/$defs/Evaporation"
            },
            {
               "type": "null"
            }
         ]
      },
      "SWRadiationMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/SWRadiationMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "SWCloudCorrect": {
         "anyOf": [
            {
               "$ref": "#/$defs/SWCloudCorrect"
            },
            {
               "type": "null"
            }
         ]
      },
      "SWCanopyCorrect": {
         "anyOf": [
            {
               "$ref": "#/$defs/SWCanopyCorrect"
            },
            {
               "type": "null"
            }
         ]
      },
      "LWRadiationMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/LWRadiationMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "WindspeedMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/WindspeedMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "RainSnowFraction": {
         "anyOf": [
            {
               "$ref": "#/$defs/RainSnowFraction"
            },
            {
               "type": "null"
            }
         ]
      },
      "PotentialMeltMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/PotentialMeltMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "OroTempCorrect": {
         "anyOf": [
            {
               "$ref": "#/$defs/OroTempCorrect"
            },
            {
               "type": "null"
            }
         ]
      },
      "OroPrecipCorrect": {
         "anyOf": [
            {
               "$ref": "#/$defs/OroPrecipCorrect"
            },
            {
               "type": "null"
            }
         ]
      },
      "OroPETCorrect": {
         "anyOf": [
            {
               "$ref": "#/$defs/OroPETCorrect"
            },
            {
               "type": "null"
            }
         ]
      },
      "CloudCoverMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/CloudCoverMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "PrecipIceptFract": {
         "anyOf": [
            {
               "$ref": "#/$defs/PrecipIceptFract"
            },
            {
               "type": "null"
            }
         ]
      },
      "SubdailyMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/SubdailyMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "MonthlyInterpolationMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/MonthlyInterpolationMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "SoilModel": {
         "anyOf": [
            {
               "$ref": "#/$defs/SoilModel"
            },
            {
               "type": "null"
            }
         ]
      },
      "TemperatureCorrection": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "description": "Gridded or gauged temperature bias correction.",
         "title": "Temperaturecorrection"
      },
      "LakeStorage": {
         "anyOf": [
            {
               "enum": [
                  "ATMOSPHERE",
                  "ATMOS_PRECIP",
                  "CANOPY",
                  "CANOPY_SNOW",
                  "CANOPY_TEMP",
                  "COLD_CONTENT",
                  "CONSTITUENT",
                  "CONSTITUENT_SINK",
                  "CONSTITUENT_SRC",
                  "CONSTITUENT_SW",
                  "CONVOLUTION",
                  "CONV_STOR",
                  "CROP_HEAT_UNITS",
                  "CUM_INFIL",
                  "CUM_SNOWMELT",
                  "DEPRESSION",
                  "GLACIER",
                  "GLACIER_CC",
                  "GLACIER_ICE",
                  "GROUNDWATER",
                  "LAKE_STORAGE",
                  "MULTIPLE",
                  "PERMAFROST_DEPTH",
                  "PONDED_WATER",
                  "ROOT",
                  "SNOW",
                  "SNOW_AGE",
                  "SNOW_ALBEDO",
                  "SNOW_COVER",
                  "SNOW_DEPTH",
                  "SNOW_LIQ",
                  "SNOW_TEMP",
                  "SOIL",
                  "SOIL[0]",
                  "SOIL[1]",
                  "SOIL[2]",
                  "SOIL_TEMP",
                  "SURFACE_WATER",
                  "SURFACE_WATER_TEMP",
                  "TOTAL_SWE",
                  "TRUNK",
                  "WETLAND"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Lakestorage"
      },
      "RelativeHumidityMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/RelativeHumidityMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "DefineHRUGroups": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Definehrugroups"
      },
      "HydrologicProcesses": {
         "anyOf": [
            {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Process"
                     },
                     {
                        "$ref": "#/$defs/Conditional"
                     },
                     {
                        "$ref": "#/$defs/ProcessGroup"
                     }
                  ]
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Hydrologicprocesses"
      },
      "EvaluationMetrics": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/EvaluationMetrics"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Evaluationmetrics"
      },
      "EvaluationPeriod": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/EvaluationPeriod"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Evaluationperiod"
      },
      "EnsembleMode": {
         "anyOf": [
            {
               "$ref": "#/$defs/EnsembleMode"
            },
            {
               "type": "null"
            }
         ]
      },
      "WriteNetcdfFormat": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Writenetcdfformat"
      },
      "NetCDFAttribute": {
         "anyOf": [
            {
               "additionalProperties": {
                  "type": "string"
               },
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": {},
         "title": "Netcdfattribute"
      },
      "CustomOutput": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/CustomOutput"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Customoutput"
      },
      "DirectEvaporation": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "description": "Rainfall is automatically reduced through evapotranspiration up to the limit of the calculated PET.",
         "title": "Directevaporation"
      },
      "DeltaresFEWSMode": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Deltaresfewsmode"
      },
      "DebugMode": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Debugmode"
      },
      "DontWriteWatershedStorage": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "description": "Do not write watershed storage variables to disk.",
         "title": "Dontwritewatershedstorage"
      },
      "PavicsMode": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Pavicsmode"
      },
      "SuppressOutput": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "description": "Write minimal output to disk when enabled.",
         "title": "Suppressoutput"
      },
      "WriteForcingFunctions": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "description": "Write watershed averaged forcing functions (e.g. rainfall, radiation, PET, etc).",
         "title": "Writeforcingfunctions"
      },
      "WriteSubbasinFile": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Writesubbasinfile"
      },
      "WriteLocalFlows": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "description": "Write local contribution to hydrograph in hydrograph.csv",
         "title": "Writelocalflows"
      }
   },
   "$defs": {
      "AssimilateStreamflow": {
         "additionalProperties": false,
         "description": "Subbasin ID to assimilate streamflow for.",
         "properties": {
            "sb_id": {
               "title": "Sb Id",
               "type": "string"
            }
         },
         "required": [
            "sb_id"
         ],
         "title": "AssimilateStreamflow",
         "type": "object"
      },
      "AssimilatedState": {
         "additionalProperties": false,
         "properties": {
            "state": {
               "anyOf": [
                  {
                     "enum": [
                        "ATMOSPHERE",
                        "ATMOS_PRECIP",
                        "CANOPY",
                        "CANOPY_SNOW",
                        "CANOPY_TEMP",
                        "COLD_CONTENT",
                        "CONSTITUENT",
                        "CONSTITUENT_SINK",
                        "CONSTITUENT_SRC",
                        "CONSTITUENT_SW",
                        "CONVOLUTION",
                        "CONV_STOR",
                        "CROP_HEAT_UNITS",
                        "CUM_INFIL",
                        "CUM_SNOWMELT",
                        "DEPRESSION",
                        "GLACIER",
                        "GLACIER_CC",
                        "GLACIER_ICE",
                        "GROUNDWATER",
                        "LAKE_STORAGE",
                        "MULTIPLE",
                        "PERMAFROST_DEPTH",
                        "PONDED_WATER",
                        "ROOT",
                        "SNOW",
                        "SNOW_AGE",
                        "SNOW_ALBEDO",
                        "SNOW_COVER",
                        "SNOW_DEPTH",
                        "SNOW_LIQ",
                        "SNOW_TEMP",
                        "SOIL",
                        "SOIL[0]",
                        "SOIL[1]",
                        "SOIL[2]",
                        "SOIL_TEMP",
                        "SURFACE_WATER",
                        "SURFACE_WATER_TEMP",
                        "TOTAL_SWE",
                        "TRUNK",
                        "WETLAND"
                     ],
                     "type": "string"
                  },
                  {
                     "const": "STREAMFLOW",
                     "type": "string"
                  }
               ],
               "title": "State"
            },
            "group": {
               "title": "Group",
               "type": "string"
            }
         },
         "required": [
            "state",
            "group"
         ],
         "title": "AssimilatedState",
         "type": "object"
      },
      "BasinIndex": {
         "additionalProperties": false,
         "description": "Initial conditions for a flow segment.",
         "properties": {
            "sb_id": {
               "default": 1,
               "title": "Sb Id",
               "type": "integer"
            },
            "name": {
               "default": "watershed",
               "title": "Name",
               "type": "string"
            },
            "ChannelStorage": {
               "default": 0.0,
               "title": "Channelstorage",
               "type": "number"
            },
            "RivuletStorage": {
               "default": 0.0,
               "title": "Rivuletstorage",
               "type": "number"
            },
            "Qout": {
               "default": [
                  1.0,
                  0.0,
                  0.0
               ],
               "items": {
                  "type": "number"
               },
               "title": "Qout",
               "type": "array"
            },
            "Qlat": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Qlat"
            },
            "Qin": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Qin"
            }
         },
         "title": "BasinIndex",
         "type": "object"
      },
      "BasinStateVariables": {
         "items": {
            "$ref": "#/$defs/BasinIndex"
         },
         "title": "BasinStateVariables",
         "type": "array"
      },
      "Calendar": {
         "enum": [
            "ALL_LEAP",
            "GREGORIAN",
            "JULIAN",
            "NOLEAP",
            "PROLEPTIC_GREGORIAN",
            "STANDARD",
            "365_DAY",
            "366_DAY"
         ],
         "title": "Calendar",
         "type": "string"
      },
      "CatchmentRoute": {
         "description": ":CatchmentRoute",
         "enum": [
            "ROUTE_DELAYED_FIRST_ORDER",
            "ROUTE_DUMP",
            "ROUTE_EXPONENTIAL",
            "EXPONENTIAL_UH",
            "ROUTE_GAMMA_CONVOLUTION",
            "ROUTE_RESERVOIR_SERIES",
            "ROUTE_TRI_CONVOLUTION",
            "TRIANGULAR_UH",
            "TRI_CONVOLUTION"
         ],
         "title": "CatchmentRoute",
         "type": "string"
      },
      "ChannelProfile": {
         "additionalProperties": false,
         "description": "ChannelProfile command (RVP).",
         "properties": {
            "name": {
               "default": "chn_XXX",
               "title": "Name",
               "type": "string"
            },
            "Bedslope": {
               "default": 0,
               "title": "Bedslope",
               "type": "number"
            },
            "SurveyPoints": {
               "$ref": "#/$defs/SurveyPoints"
            },
            "RoughnessZones": {
               "$ref": "#/$defs/RoughnessZones"
            }
         },
         "title": "ChannelProfile",
         "type": "object"
      },
      "CloudCoverMethod": {
         "enum": [
            "CLOUDCOV_NONE",
            "CLOUDCOV_DATA",
            "CLOUDCOV_UBC"
         ],
         "title": "CloudCoverMethod",
         "type": "string"
      },
      "Conditional": {
         "additionalProperties": false,
         "description": "Conditional statement.",
         "properties": {
            "kind": {
               "enum": [
                  "HRU_TYPE",
                  "LAND_CLASS",
                  "HRU_GROUP"
               ],
               "title": "Kind",
               "type": "string"
            },
            "op": {
               "enum": [
                  "IS",
                  "IS_NOT"
               ],
               "title": "Op",
               "type": "string"
            },
            "value": {
               "title": "Value",
               "type": "string"
            }
         },
         "required": [
            "kind",
            "op",
            "value"
         ],
         "title": "Conditional",
         "type": "object"
      },
      "CustomOutput": {
         "additionalProperties": false,
         "description": "Create custom output file to track a single variable, parameter, or forcing function over time at a number of basins, HRUs, or across watershed.\n\n:CustomOutput DAILY AVERAGE AET BY_HRU",
         "properties": {
            "time_per": {
               "enum": [
                  "DAILY",
                  "MONTHLY",
                  "YEARLY",
                  "WATER_YEARLY",
                  "CONTINUOUS"
               ],
               "title": "Time Per",
               "type": "string"
            },
            "stat": {
               "enum": [
                  "AVERAGE",
                  "MAXIMUM",
                  "MINIMUM",
                  "RANGE",
                  "MEDIAN",
                  "QUARTILES"
               ],
               "title": "Stat",
               "type": "string"
            },
            "variable": {
               "title": "Variable",
               "type": "string"
            },
            "space_agg": {
               "enum": [
                  "BY_BASIN",
                  "BY_HRU",
                  "BY_HRU_GROUP",
                  "BY_SB_GROUP",
                  "ENTIRE_WATERSHED"
               ],
               "title": "Space Agg",
               "type": "string"
            },
            "filename": {
               "default": "",
               "title": "Filename",
               "type": "string"
            }
         },
         "required": [
            "time_per",
            "stat",
            "variable",
            "space_agg"
         ],
         "title": "CustomOutput",
         "type": "object"
      },
      "Data": {
         "additionalProperties": false,
         "properties": {
            "data_type": {
               "default": "",
               "enum": [
                  "AIR_DENS",
                  "AIR_PRES",
                  "CLOUD_COVER",
                  "DAY_ANGLE",
                  "DAY_LENGTH",
                  "ET_RADIA",
                  "LW_INCOMING",
                  "LW_RADIA_NET",
                  "OW_PET",
                  "PET",
                  "PET_MONTH_AVE",
                  "POTENTIAL_MELT",
                  "PRECIP",
                  "PRECIP_5DAY",
                  "PRECIP_DAILY_AVE",
                  "RAINFALL",
                  "RECHARGE",
                  "REL_HUMIDITY",
                  "SHORTWAVE",
                  "SNOWFALL",
                  "SNOW_FRAC",
                  "SUBDAILY_CORR",
                  "SW_RADIA",
                  "SW_RADIA_NET",
                  "TEMP_AVE",
                  "TEMP_AVE_UNC",
                  "TEMP_DAILY_AVE",
                  "TEMP_DAILY_MAX",
                  "TEMP_DAILY_MIN",
                  "TEMP_MAX",
                  "TEMP_MAX_UNC",
                  "TEMP_MIN",
                  "TEMP_MIN_UNC",
                  "TEMP_MONTH_AVE",
                  "TEMP_MONTH_MAX",
                  "TEMP_MONTH_MIN",
                  "WIND_VEL"
               ],
               "title": "Data Type",
               "type": "string"
            },
            "units": {
               "default": "",
               "title": "Units",
               "type": "string"
            },
            "ReadFromNetCDF": {
               "$ref": "#/$defs/ReadFromNetCDF"
            }
         },
         "required": [
            "ReadFromNetCDF"
         ],
         "title": "Data",
         "type": "object"
      },
      "EnKFMode": {
         "enum": [
            "ENKF_CLOSED_LOOP",
            "ENKF_FORECAST",
            "ENKF_OPEN_FORECAST",
            "ENKF_OPEN_LOOP",
            "ENKF_SPINUP"
         ],
         "title": "EnKFMode",
         "type": "string"
      },
      "EnsembleMode": {
         "additionalProperties": false,
         "properties": {
            "mode": {
               "const": "ENSEMBLE_ENKF",
               "default": "ENSEMBLE_ENKF",
               "title": "Mode",
               "type": "string"
            },
            "n": {
               "description": "Number of members",
               "title": "N",
               "type": "integer"
            }
         },
         "required": [
            "n"
         ],
         "title": "EnsembleMode",
         "type": "object"
      },
      "EvaluationMetrics": {
         "enum": [
            "ABSERR",
            "ABSERR_RUN",
            "ABSMAX",
            "DIAG_SPEARMAN",
            "FUZZY_NASH",
            "KGE_PRIME",
            "KLING_GUPTA",
            "LOG_NASH",
            "NASH_SUTCLIFFE",
            "NSC",
            "PCT_BIAS",
            "PDIFF",
            "RCOEFF",
            "RMSE",
            "TMVOL"
         ],
         "title": "EvaluationMetrics",
         "type": "string"
      },
      "EvaluationPeriod": {
         "additionalProperties": false,
         "description": ":EvaluationPeriod [period_name] [start yyyy-mm-dd] [end yyyy-mm-dd]",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "start": {
               "format": "date",
               "title": "Start",
               "type": "string"
            },
            "end": {
               "format": "date",
               "title": "End",
               "type": "string"
            }
         },
         "required": [
            "name",
            "start",
            "end"
         ],
         "title": "EvaluationPeriod",
         "type": "object"
      },
      "Evaporation": {
         "enum": [
            "PET_CONSTANT",
            "PET_DATA",
            "PET_FROMMONTHLY",
            "PET_HAMON_1961",
            "PET_HARGREAVES",
            "PET_HARGREAVES_1985",
            "PET_MAKKINK_1957",
            "PET_MOHYSE",
            "PET_MONTHLY_FACTOR",
            "PET_OUDIN",
            "PET_PENMAN_COMBINATION",
            "PET_PENMAN_MONTEITH",
            "PET_PRIESTLEY_TAYLOR",
            "PET_TURC_1961",
            "PET_VAPDEFICIT"
         ],
         "title": "Evaporation",
         "type": "string"
      },
      "ForcingPerturbation": {
         "additionalProperties": false,
         "properties": {
            "forcing": {
               "enum": [
                  "AIR_DENS",
                  "AIR_PRES",
                  "CLOUD_COVER",
                  "DAY_ANGLE",
                  "DAY_LENGTH",
                  "ET_RADIA",
                  "LW_INCOMING",
                  "LW_RADIA_NET",
                  "OW_PET",
                  "PET",
                  "PET_MONTH_AVE",
                  "POTENTIAL_MELT",
                  "PRECIP",
                  "PRECIP_5DAY",
                  "PRECIP_DAILY_AVE",
                  "RAINFALL",
                  "RECHARGE",
                  "REL_HUMIDITY",
                  "SHORTWAVE",
                  "SNOWFALL",
                  "SNOW_FRAC",
                  "SUBDAILY_CORR",
                  "SW_RADIA",
                  "SW_RADIA_NET",
                  "TEMP_AVE",
                  "TEMP_AVE_UNC",
                  "TEMP_DAILY_AVE",
                  "TEMP_DAILY_MAX",
                  "TEMP_DAILY_MIN",
                  "TEMP_MAX",
                  "TEMP_MAX_UNC",
                  "TEMP_MIN",
                  "TEMP_MIN_UNC",
                  "TEMP_MONTH_AVE",
                  "TEMP_MONTH_MAX",
                  "TEMP_MONTH_MIN",
                  "WIND_VEL"
               ],
               "title": "Forcing",
               "type": "string"
            },
            "dist": {
               "enum": [
                  "DIST_UNIFORM",
                  "DIST_NORMAL",
                  "DIST_GAMMA"
               ],
               "title": "Dist",
               "type": "string"
            },
            "p1": {
               "title": "P1",
               "type": "number"
            },
            "p2": {
               "title": "P2",
               "type": "number"
            },
            "adj": {
               "enum": [
                  "ADDITIVE",
                  "MULTIPLICATIVE"
               ],
               "title": "Adj",
               "type": "string"
            },
            "hru_grp": {
               "default": "",
               "title": "Hru Grp",
               "type": "string"
            }
         },
         "required": [
            "forcing",
            "dist",
            "p1",
            "p2",
            "adj"
         ],
         "title": "ForcingPerturbation",
         "type": "object"
      },
      "GWRecord": {
         "default": [
            1,
            0,
            1.0
         ],
         "description": "GridWeights record.",
         "maxItems": 3,
         "minItems": 3,
         "prefixItems": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            },
            {
               "type": "number"
            }
         ],
         "title": "GWRecord",
         "type": "array"
      },
      "Gauge": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "default",
               "title": "Name",
               "type": "string"
            },
            "Latitude": {
               "title": "Latitude",
               "type": "number"
            },
            "Longitude": {
               "title": "Longitude",
               "type": "number"
            },
            "Elevation": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Elevation"
            },
            "RainCorrection": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rain correction",
               "title": "Raincorrection"
            },
            "SnowCorrection": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Snow correction",
               "title": "Snowcorrection"
            },
            "MonthlyAveEvaporation": {
               "anyOf": [
                  {
                     "items": {},
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Monthlyaveevaporation"
            },
            "MonthlyAveTemperature": {
               "anyOf": [
                  {
                     "items": {},
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Monthlyavetemperature"
            },
            "MonthlyMinTemperature": {
               "anyOf": [
                  {
                     "items": {},
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Monthlymintemperature"
            },
            "MonthlyMaxTemperature": {
               "anyOf": [
                  {
                     "items": {},
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Monthlymaxtemperature"
            },
            "Data": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Data"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Data"
            }
         },
         "required": [
            "Latitude",
            "Longitude"
         ],
         "title": "Gauge",
         "type": "object"
      },
      "GridWeights": {
         "additionalProperties": false,
         "description": "GridWeights command.\n\nNotes\n-----\ncommand can be embedded in both a `GriddedForcing` or a `StationForcing`.\n\nThe default is to have a single cell that covers an entire single HRU, with a\nweight of 1.",
         "properties": {
            "NumberHRUs": {
               "default": 1,
               "title": "Numberhrus",
               "type": "integer"
            },
            "NumberGridCells": {
               "default": 1,
               "title": "Numbergridcells",
               "type": "integer"
            },
            "data": {
               "default": [
                  [
                     1,
                     0,
                     1.0
                  ]
               ],
               "items": {
                  "$ref": "#/$defs/GWRecord"
               },
               "title": "Data",
               "type": "array"
            }
         },
         "title": "GridWeights",
         "type": "object"
      },
      "GriddedForcing": {
         "additionalProperties": false,
         "description": "GriddedForcing command (RVT).",
         "properties": {
            "FileNameNC": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "format": "path",
                     "type": "string"
                  }
               ],
               "description": "NetCDF file name.",
               "title": "Filenamenc"
            },
            "VarNameNC": {
               "description": "NetCDF variable name.",
               "title": "Varnamenc",
               "type": "string"
            },
            "DimNamesNC": {
               "items": {
                  "type": "string"
               },
               "title": "Dimnamesnc",
               "type": "array"
            },
            "station_idx": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Station Idx"
            },
            "TimeShift": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Time stamp shift in days.",
               "title": "Timeshift"
            },
            "LinearTransform": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinearTransform"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "Deaccumulate": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Deaccumulate"
            },
            "LatitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Latitudevarnamenc"
            },
            "LongitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Longitudevarnamenc"
            },
            "ElevationVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Elevationvarnamenc"
            },
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "ForcingType": {
               "anyOf": [
                  {
                     "enum": [
                        "AIR_DENS",
                        "AIR_PRES",
                        "CLOUD_COVER",
                        "DAY_ANGLE",
                        "DAY_LENGTH",
                        "ET_RADIA",
                        "LW_INCOMING",
                        "LW_RADIA_NET",
                        "OW_PET",
                        "PET",
                        "PET_MONTH_AVE",
                        "POTENTIAL_MELT",
                        "PRECIP",
                        "PRECIP_5DAY",
                        "PRECIP_DAILY_AVE",
                        "RAINFALL",
                        "RECHARGE",
                        "REL_HUMIDITY",
                        "SHORTWAVE",
                        "SNOWFALL",
                        "SNOW_FRAC",
                        "SUBDAILY_CORR",
                        "SW_RADIA",
                        "SW_RADIA_NET",
                        "TEMP_AVE",
                        "TEMP_AVE_UNC",
                        "TEMP_DAILY_AVE",
                        "TEMP_DAILY_MAX",
                        "TEMP_DAILY_MIN",
                        "TEMP_MAX",
                        "TEMP_MAX_UNC",
                        "TEMP_MIN",
                        "TEMP_MIN_UNC",
                        "TEMP_MONTH_AVE",
                        "TEMP_MONTH_MAX",
                        "TEMP_MONTH_MIN",
                        "WIND_VEL"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Forcingtype"
            },
            "GridWeights": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GridWeights"
                  },
                  {
                     "$ref": "#/$defs/RedirectToFile"
                  }
               ],
               "default": {
                  "NumberHRUs": 1,
                  "NumberGridCells": 1,
                  "data": [
                     [
                        1,
                        0,
                        1.0
                     ]
                  ]
               },
               "title": "Gridweights"
            }
         },
         "required": [
            "FileNameNC",
            "VarNameNC",
            "DimNamesNC"
         ],
         "title": "GriddedForcing",
         "type": "object"
      },
      "HRU": {
         "additionalProperties": false,
         "description": "Record to populate :HRUs command internal table (RVH).",
         "properties": {
            "hru_id": {
               "default": 1,
               "exclusiveMinimum": 0,
               "title": "Hru Id",
               "type": "integer"
            },
            "area": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "title": "Area"
            },
            "elevation": {
               "default": 0,
               "title": "Elevation",
               "type": "number"
            },
            "latitude": {
               "default": 0,
               "title": "Latitude",
               "type": "number"
            },
            "longitude": {
               "default": 0,
               "title": "Longitude",
               "type": "number"
            },
            "subbasin_id": {
               "default": 1,
               "exclusiveMinimum": 0,
               "title": "Subbasin Id",
               "type": "integer"
            },
            "land_use_class": {
               "default": "[NONE]",
               "title": "Land Use Class",
               "type": "string"
            },
            "veg_class": {
               "default": "[NONE]",
               "title": "Veg Class",
               "type": "string"
            },
            "soil_profile": {
               "default": "[NONE]",
               "title": "Soil Profile",
               "type": "string"
            },
            "aquifer_profile": {
               "default": "[NONE]",
               "title": "Aquifer Profile",
               "type": "string"
            },
            "terrain_class": {
               "default": "[NONE]",
               "title": "Terrain Class",
               "type": "string"
            },
            "slope": {
               "default": 0.0,
               "minimum": 0,
               "title": "Slope",
               "type": "number"
            },
            "aspect": {
               "default": 0.0,
               "maximum": 360,
               "minimum": 0,
               "title": "Aspect",
               "type": "number"
            },
            "hru_type": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Hru Type"
            }
         },
         "title": "HRU",
         "type": "object"
      },
      "HRUGroup": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "groups": {
               "$ref": "#/$defs/_Rec"
            }
         },
         "required": [
            "name",
            "groups"
         ],
         "title": "HRUGroup",
         "type": "object"
      },
      "HRUState": {
         "additionalProperties": false,
         "properties": {
            "hru_id": {
               "default": 1,
               "title": "Hru Id",
               "type": "integer"
            },
            "data": {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Data",
               "type": "object"
            }
         },
         "title": "HRUState",
         "type": "object"
      },
      "HRUStateVariableTable": {
         "description": "Table of HRU state variables.\n\nIf the HRUState include different attributes, the states will be modified to include all attributes.",
         "items": {
            "$ref": "#/$defs/HRUState"
         },
         "title": "HRUStateVariableTable",
         "type": "array"
      },
      "HRUs": {
         "description": "HRUs command (RVH).",
         "items": {
            "$ref": "#/$defs/HRU"
         },
         "title": "HRUs",
         "type": "array"
      },
      "Interpolation": {
         "enum": [
            "INTERP_AVERAGE_ALL",
            "INTERP_FROM_FILE",
            "INTERP_INVERSE_DISTANCE",
            "INTERP_NEAREST_NEIGHBOR"
         ],
         "title": "Interpolation",
         "type": "string"
      },
      "LWRadiationMethod": {
         "enum": [
            "LW_RAD_DATA",
            "LW_RAD_DEFAULT",
            "LW_RAD_UBC"
         ],
         "title": "LWRadiationMethod",
         "type": "string"
      },
      "LandUseClass": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "impermeable_frac": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.0,
               "title": "Impermeable Frac"
            },
            "forest_coverage": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.0,
               "title": "Forest Coverage"
            }
         },
         "title": "LandUseClass",
         "type": "object"
      },
      "LandUseClasses": {
         "items": {
            "$ref": "#/$defs/LandUseClass"
         },
         "title": "LandUseClasses",
         "type": "array"
      },
      "LandUseParameterList": {
         "additionalProperties": false,
         "properties": {
            "Parameters": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "ABST_PERCENT",
                           "AET_COEFF",
                           "BF_LOSS_FRACTION",
                           "B_EXP",
                           "CC_DECAY_COEFF",
                           "DD_AGGRADATION",
                           "DD_MELT_TEMP",
                           "DD_REFREEZE_TEMP",
                           "DEP_K",
                           "DEP_MAX",
                           "DEP_MAX_FLOW",
                           "DEP_N",
                           "DEP_SEEP_K",
                           "DEP_THRESHOLD",
                           "FOREST_COVERAGE",
                           "FOREST_PET_CORR",
                           "FOREST_SPARSENESS",
                           "GAMMA_SCALE",
                           "GAMMA_SCALE2",
                           "GAMMA_SHAPE",
                           "GAMMA_SHAPE2",
                           "GLAC_STORAGE_COEFF",
                           "GR4J_X4",
                           "HBV_GLACIER_AG",
                           "HBV_GLACIER_KMIN",
                           "HBV_MELT_ASP_CORR",
                           "HBV_MELT_FOR_CORR",
                           "HBV_MELT_GLACIER_CORR",
                           "HMETS_RUNOFF_COEFF",
                           "IMPERMEABLE_FRAC",
                           "LAKE_PET_CORR",
                           "LAKE_REL_COEFF",
                           "MAX_DEP_AREA_FRAC",
                           "MAX_MELT_FACTOR",
                           "MAX_SAT_AREA_FRAC",
                           "MELT_FACTOR",
                           "MIN_MELT_FACTOR",
                           "OW_PET_CORR",
                           "PARTITION_COEFF",
                           "PDMROF_B",
                           "PONDED_EXP",
                           "REFREEZE_EXP",
                           "REFREEZE_FACTOR",
                           "ROUGHNESS",
                           "SCS_CN",
                           "SCS_IA_FRACTION",
                           "SNOW_PATCH_LIMIT",
                           "STREAM_FRACTION",
                           "UBC_ICEPT_FACTOR"
                        ],
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Parameters"
            },
            "Units": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Units"
            },
            "pl": {
               "items": {
                  "$ref": "#/$defs/ParameterList"
               },
               "title": "Pl",
               "type": "array"
            }
         },
         "required": [
            "pl"
         ],
         "title": "LandUseParameterList",
         "type": "object"
      },
      "LinearTransform": {
         "additionalProperties": false,
         "description": ":LinearTransform 1.0 -273.15",
         "properties": {
            "scale": {
               "default": 1,
               "title": "Scale",
               "type": "number"
            },
            "offset": {
               "default": 0,
               "title": "Offset",
               "type": "number"
            }
         },
         "title": "LinearTransform",
         "type": "object"
      },
      "MonthlyInterpolationMethod": {
         "enum": [
            "MONTHINT_LINEAR_21",
            "MONTHINT_LINEAR_FOM",
            "MONTHINT_LINEAR_MID",
            "MONTHINT_UNIFORM"
         ],
         "title": "MonthlyInterpolationMethod",
         "type": "string"
      },
      "ObservationData": {
         "additionalProperties": false,
         "properties": {
            "data_type": {
               "const": "HYDROGRAPH",
               "default": "HYDROGRAPH",
               "title": "Data Type",
               "type": "string"
            },
            "units": {
               "default": "",
               "title": "Units",
               "type": "string"
            },
            "ReadFromNetCDF": {
               "$ref": "#/$defs/ReadFromNetCDF"
            },
            "uid": {
               "default": "1",
               "title": "Uid",
               "type": "string"
            }
         },
         "required": [
            "ReadFromNetCDF"
         ],
         "title": "ObservationData",
         "type": "object"
      },
      "ObservationErrorModel": {
         "additionalProperties": false,
         "properties": {
            "state": {
               "const": "STREAMFLOW",
               "title": "State",
               "type": "string"
            },
            "dist": {
               "enum": [
                  "DIST_UNIFORM",
                  "DIST_NORMAL",
                  "DIST_GAMMA"
               ],
               "title": "Dist",
               "type": "string"
            },
            "p1": {
               "title": "P1",
               "type": "number"
            },
            "p2": {
               "title": "P2",
               "type": "number"
            },
            "adj": {
               "enum": [
                  "ADDITIVE",
                  "MULTIPLICATIVE"
               ],
               "title": "Adj",
               "type": "string"
            }
         },
         "required": [
            "state",
            "dist",
            "p1",
            "p2",
            "adj"
         ],
         "title": "ObservationErrorModel",
         "type": "object"
      },
      "OroPETCorrect": {
         "enum": [
            "OROCORR_HBV",
            "OROCORR_NONE",
            "OROCORR_SIMPLELAPSE"
         ],
         "title": "OroPETCorrect",
         "type": "string"
      },
      "OroPrecipCorrect": {
         "enum": [
            "OROCORR_HBV",
            "OROCORR_NONE",
            "OROCORR_SIMPLELAPSE",
            "OROCORR_UBC"
         ],
         "title": "OroPrecipCorrect",
         "type": "string"
      },
      "OroTempCorrect": {
         "enum": [
            "OROCORR_HBV",
            "OROCORR_NONE",
            "OROCORR_SIMPLELAPSE",
            "OROCORR_UBC",
            "OROCORR_UBC_2"
         ],
         "title": "OroTempCorrect",
         "type": "string"
      },
      "ParameterList": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "values": {
               "default": [],
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Values",
               "type": "array"
            }
         },
         "title": "ParameterList",
         "type": "object"
      },
      "PotentialMeltMethod": {
         "description": ":PotentialMelt algorithms",
         "enum": [
            "POTMELT_DATA",
            "POTMELT_DEGREE_DAY",
            "POTMELT_EB",
            "POTMELT_HBV",
            "POTMELT_HMETS",
            "POTMELT_NONE",
            "POTMELT_RESTRICTED",
            "POTMELT_UBC",
            "POTMELT_USACE"
         ],
         "title": "PotentialMeltMethod",
         "type": "string"
      },
      "PrecipIceptFract": {
         "enum": [
            "PRECIP_ICEPT_USER",
            "PRECIP_ICEPT_EXPLAI",
            "PRECIP_ICEPT_HEDSTROM",
            "PRECIP_ICEPT_LAI",
            "PRECIP_ICEPT_NONE"
         ],
         "title": "PrecipIceptFract",
         "type": "string"
      },
      "Process": {
         "additionalProperties": false,
         "description": "Process type embedded in HydrologicProcesses command.\n\nSee processes.py for list of processes.",
         "properties": {
            "algo": {
               "default": "RAVEN_DEFAULT",
               "title": "Algo",
               "type": "string"
            },
            "source": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Source"
            },
            "to": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "To",
               "type": "array"
            }
         },
         "title": "Process",
         "type": "object"
      },
      "ProcessGroup": {
         "additionalProperties": false,
         "properties": {
            "p": {
               "items": {
                  "$ref": "#/$defs/Process"
               },
               "title": "P",
               "type": "array"
            },
            "params": {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Params",
               "type": "array"
            }
         },
         "required": [
            "p",
            "params"
         ],
         "title": "ProcessGroup",
         "type": "object"
      },
      "RainSnowFraction": {
         "enum": [
            "RAINSNOW_DATA",
            "RAINSNOW_DINGMAN",
            "RAINSNOW_HARDER",
            "RAINSNOW_HBV",
            "RAINSNOW_HSPF",
            "RAINSNOW_SNTHERM89",
            "RAINSNOW_UBC",
            "RAINSNOW_WANG"
         ],
         "title": "RainSnowFraction",
         "type": "string"
      },
      "RainSnowTransition": {
         "additionalProperties": false,
         "description": "Specify the range of temperatures over which there will be a rain/snow mix when partitioning total precipitation into rain/snow components.\n\n:RainSnowTransition [temp] [delta]\n\n# equivalent to (the preferred option)\n:GlobalParameter RAINSNOW_TEMP [rainsnow_temp]\n:GlobalParameter RAINSNOW_DELTA [rainsnow_delta]",
         "properties": {
            "temp": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Temp"
            },
            "delta": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Delta"
            }
         },
         "required": [
            "temp",
            "delta"
         ],
         "title": "RainSnowTransition",
         "type": "object"
      },
      "ReadFromNetCDF": {
         "additionalProperties": false,
         "properties": {
            "FileNameNC": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "format": "path",
                     "type": "string"
                  }
               ],
               "description": "NetCDF file name.",
               "title": "Filenamenc"
            },
            "VarNameNC": {
               "description": "NetCDF variable name.",
               "title": "Varnamenc",
               "type": "string"
            },
            "DimNamesNC": {
               "items": {
                  "type": "string"
               },
               "title": "Dimnamesnc",
               "type": "array"
            },
            "StationIdx": {
               "default": 1,
               "description": "NetCDF index along station dimension. Starts at 1.",
               "title": "Stationidx",
               "type": "integer"
            },
            "TimeShift": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Time stamp shift in days.",
               "title": "Timeshift"
            },
            "LinearTransform": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinearTransform"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "Deaccumulate": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Deaccumulate"
            },
            "LatitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Latitudevarnamenc"
            },
            "LongitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Longitudevarnamenc"
            },
            "ElevationVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Elevationvarnamenc"
            }
         },
         "required": [
            "FileNameNC",
            "VarNameNC",
            "DimNamesNC"
         ],
         "title": "ReadFromNetCDF",
         "type": "object"
      },
      "RedirectToFile": {
         "description": "RedirectToFile command (RVT).\n\nNotes\n-----\nFor the moment, this command can only be used in the context of a `GriddedForcingCommand`\nor a `StationForcingCommand`, as a `grid_weights` field replacement when inlining is not\ndesired.",
         "format": "file-path",
         "title": "RedirectToFile",
         "type": "string"
      },
      "RelativeHumidityMethod": {
         "enum": [
            "RELHUM_CONSTANT",
            "RELHUM_CORR",
            "RELHUM_DATA",
            "RELHUM_MINDEWPT",
            "WINDVEL_CORR"
         ],
         "title": "RelativeHumidityMethod",
         "type": "string"
      },
      "Reservoir": {
         "additionalProperties": false,
         "description": "Reservoir command (RVH).",
         "properties": {
            "name": {
               "default": "Lake_XXX",
               "title": "Name",
               "type": "string"
            },
            "SubBasinID": {
               "default": 0,
               "title": "Subbasinid",
               "type": "integer"
            },
            "HRUID": {
               "default": 0,
               "title": "Hruid",
               "type": "integer"
            },
            "Type": {
               "default": "RESROUTE_STANDARD",
               "title": "Type",
               "type": "string"
            },
            "WeirCoefficient": {
               "default": 0,
               "title": "Weircoefficient",
               "type": "number"
            },
            "CrestWidth": {
               "default": 0,
               "title": "Crestwidth",
               "type": "number"
            },
            "MaxDepth": {
               "default": 0,
               "description": "Max depth (m)",
               "title": "Maxdepth",
               "type": "number"
            },
            "LakeArea": {
               "default": 0,
               "description": "Lake area (m2)",
               "title": "Lakearea",
               "type": "number"
            },
            "AbsoluteCrestHeight": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Absolute crest height (m)",
               "title": "Absolutecrestheight"
            },
            "MaxCapacity": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Maximum capacity in m3",
               "title": "Maxcapacity"
            },
            "SeepageParameters": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SeepageParameters"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "StageRelations": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StageRelations"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "Reservoir",
         "type": "object"
      },
      "RoughnessZone": {
         "default": [],
         "description": "RoughnessZone record.",
         "maxItems": 2,
         "minItems": 2,
         "prefixItems": [
            {
               "type": "number"
            },
            {
               "type": "number"
            }
         ],
         "title": "RoughnessZone",
         "type": "array"
      },
      "RoughnessZones": {
         "default": [
            []
         ],
         "description": "RoughnessZones record.\n\n[x_zone, mannings_n] x number of roughness zones.",
         "items": {
            "$ref": "#/$defs/RoughnessZone"
         },
         "title": "RoughnessZones",
         "type": "array"
      },
      "Routing": {
         "enum": [
            "ROUTE_DIFFUSIVE_WAVE",
            "ROUTE_HYDROLOGIC",
            "MUSKINGUM",
            "ROUTE_NONE",
            "ROUTE_PLUG_FLOW",
            "ROUTE_STORAGE_COEFF"
         ],
         "title": "Routing",
         "type": "string"
      },
      "SBGroupPropertyMultiplier": {
         "additionalProperties": false,
         "description": ":SBGroupPropertyMultiplier [group_name] [parameter_name] [mult]",
         "properties": {
            "group_name": {
               "title": "Group Name",
               "type": "string"
            },
            "parameter_name": {
               "title": "Parameter Name",
               "type": "string"
            },
            "mult": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Mult"
            }
         },
         "required": [
            "group_name",
            "parameter_name",
            "mult"
         ],
         "title": "SBGroupPropertyMultiplier",
         "type": "object"
      },
      "SWCanopyCorrect": {
         "enum": [
            "SW_CANOPY_CORR_NONE",
            "SW_CANOPY_CORR_DYNAMIC",
            "SW_CANOPY_CORR_STATIC",
            "SW_CANOPY_CORR_UBC"
         ],
         "title": "SWCanopyCorrect",
         "type": "string"
      },
      "SWCloudCorrect": {
         "enum": [
            "SW_CLOUD_CORR_NONE",
            "SW_CLOUD_CORR_ANNANDALE",
            "SW_CLOUD_CORR_DINGMAN",
            "SW_CLOUD_CORR_UBCWM"
         ],
         "title": "SWCloudCorrect",
         "type": "string"
      },
      "SWRadiationMethod": {
         "enum": [
            "SW_RAD_DATA",
            "SW_RAD_DEFAULT",
            "SW_RAD_UBCWM"
         ],
         "title": "SWRadiationMethod",
         "type": "string"
      },
      "SeasonalRelativeHeight": {
         "default": [
            {
               "name": "[DEFAULT]",
               "values": [
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0
               ]
            }
         ],
         "items": {
            "$ref": "#/$defs/_MonthlyRecord"
         },
         "title": "SeasonalRelativeHeight",
         "type": "array"
      },
      "SeasonalRelativeLAI": {
         "default": [
            {
               "name": "[DEFAULT]",
               "values": [
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0
               ]
            }
         ],
         "items": {
            "$ref": "#/$defs/_MonthlyRecord"
         },
         "title": "SeasonalRelativeLAI",
         "type": "array"
      },
      "SeepageParameters": {
         "additionalProperties": false,
         "description": ":SeepageParameters [K_seep] [href]",
         "properties": {
            "k_seep": {
               "title": "K Seep",
               "type": "number"
            },
            "h_ref": {
               "title": "H Ref",
               "type": "number"
            }
         },
         "required": [
            "k_seep",
            "h_ref"
         ],
         "title": "SeepageParameters",
         "type": "object"
      },
      "SoilClass": {
         "additionalProperties": false,
         "description": "SoilClass.",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "mineral": {
               "anyOf": [
                  {
                     "maxItems": 3,
                     "minItems": 3,
                     "prefixItems": [
                        {
                           "type": "number"
                        },
                        {
                           "type": "number"
                        },
                        {
                           "type": "number"
                        }
                     ],
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Mineral"
            },
            "organic": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Organic"
            }
         },
         "required": [
            "name"
         ],
         "title": "SoilClass",
         "type": "object"
      },
      "SoilClasses": {
         "default": [],
         "description": "SoilClasses command.\n\nExample::\n\n    :SoilClasses\n      :Attributes, %SAND, %CLAY, %SILT, %ORGANIC\n      :Units, none, none, none, none\n      SAND, 1, 0, 0, 0\n      LOAM, 0.5, 0.1, 0.4, 0.4\n    :EndSoilClasses",
         "items": {
            "$ref": "#/$defs/SoilClass"
         },
         "title": "SoilClasses",
         "type": "array"
      },
      "SoilModel": {
         "description": ":SoilModel SOIL_MULTILAYER 6",
         "title": "SoilModel",
         "type": "integer"
      },
      "SoilParameterList": {
         "additionalProperties": false,
         "properties": {
            "Parameters": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "AIR_ENTRY_PRESSURE",
                           "ALBEDO_DRY",
                           "ALBEDO_WET",
                           "BASEFLOW_COEFF",
                           "BASEFLOW_COEFF2",
                           "BASEFLOW_N",
                           "BASEFLOW_THRESH",
                           "BF_LOSS_FRACTION",
                           "BULK_DENSITY",
                           "B_EXP",
                           "CLAPP N,CLAPP M",
                           "CLAPP_B",
                           "CLAY_CON",
                           "EVAP_RES_FC",
                           "FIELD_CAPACITY",
                           "GR4J_X2",
                           "GR4J_X3",
                           "HBV_BETA",
                           "HEAT_CAPACITY",
                           "HYDRAUL_COND",
                           "INTERFLOW_COEF",
                           "MAX_BASEFLOW_RATE",
                           "MAX_CAP_RISE_RATE",
                           "MAX_INTERFLOW_RATE",
                           "MAX_PERC_RATE",
                           "ORG_CON",
                           "PERC_COEFF",
                           "PERC_N",
                           "PET_CORRECTION",
                           "POROSITY",
                           "SAC_PERC_ALPHA",
                           "SAC_PERC_EXPON",
                           "SAC_PERC_PFREE",
                           "SAND_CON",
                           "SAT_RES",
                           "SAT_WILT",
                           "SHUTTLEWORTH_B",
                           "SILT_CON",
                           "STONE_FRAC",
                           "STORAGE_THRESHOLD",
                           "THERMAL_COND",
                           "UBC_EVAL_SOIL_DEF",
                           "UBC_INFIL_SOIL_DEF",
                           "UNAVAIL_FRAC",
                           "VIC ALPHA",
                           "VIC_EVAP_GAMMA",
                           "VIC_ZMAX",
                           "VIZ_ZMIN",
                           "WETTING_FRONT_PSI",
                           "WILTING_PRESSURE"
                        ],
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Parameters"
            },
            "Units": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Units"
            },
            "pl": {
               "items": {
                  "$ref": "#/$defs/ParameterList"
               },
               "title": "Pl",
               "type": "array"
            }
         },
         "required": [
            "pl"
         ],
         "title": "SoilParameterList",
         "type": "object"
      },
      "SoilProfile": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "soil_classes": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "Soil Classes",
               "type": "array"
            },
            "thicknesses": {
               "default": [],
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Thicknesses",
               "type": "array"
            }
         },
         "title": "SoilProfile",
         "type": "object"
      },
      "SoilProfiles": {
         "description": "SoilProfiles command.\n\nExample::\n\n    :SoilProfiles\n      # name, #horizons, hor1, th1, hor2, th2\n      LAKE, 0\n      GLACIER, 0\n      LOAM_SEQ, 2, LOAM, 0.5, SAND, 1.5\n      ALL_SAND, 2, SAND, 0.5, SAND, 1.5\n    :EndSoilProfiles",
         "items": {
            "$ref": "#/$defs/SoilProfile"
         },
         "title": "SoilProfiles",
         "type": "array"
      },
      "StageRelation": {
         "anyOf": [
            {
               "maxItems": 4,
               "minItems": 4,
               "prefixItems": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  }
               ],
               "type": "array"
            },
            {
               "maxItems": 5,
               "minItems": 5,
               "prefixItems": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  }
               ],
               "type": "array"
            }
         ],
         "default": null,
         "description": "Stage relation record.\n\nh, q, v, a, [u]",
         "title": "StageRelation"
      },
      "StageRelations": {
         "default": null,
         "description": "Stage relations for the reservoir.",
         "items": {
            "$ref": "#/$defs/StageRelation"
         },
         "title": "StageRelations",
         "type": "array"
      },
      "StationForcing": {
         "additionalProperties": false,
         "description": "StationForcing command (RVT).",
         "properties": {
            "FileNameNC": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "format": "path",
                     "type": "string"
                  }
               ],
               "description": "NetCDF file name.",
               "title": "Filenamenc"
            },
            "VarNameNC": {
               "description": "NetCDF variable name.",
               "title": "Varnamenc",
               "type": "string"
            },
            "DimNamesNC": {
               "items": {
                  "type": "string"
               },
               "title": "Dimnamesnc",
               "type": "array"
            },
            "station_idx": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Station Idx"
            },
            "TimeShift": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Time stamp shift in days.",
               "title": "Timeshift"
            },
            "LinearTransform": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinearTransform"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "Deaccumulate": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Deaccumulate"
            },
            "LatitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Latitudevarnamenc"
            },
            "LongitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Longitudevarnamenc"
            },
            "ElevationVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Elevationvarnamenc"
            },
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "ForcingType": {
               "anyOf": [
                  {
                     "enum": [
                        "AIR_DENS",
                        "AIR_PRES",
                        "CLOUD_COVER",
                        "DAY_ANGLE",
                        "DAY_LENGTH",
                        "ET_RADIA",
                        "LW_INCOMING",
                        "LW_RADIA_NET",
                        "OW_PET",
                        "PET",
                        "PET_MONTH_AVE",
                        "POTENTIAL_MELT",
                        "PRECIP",
                        "PRECIP_5DAY",
                        "PRECIP_DAILY_AVE",
                        "RAINFALL",
                        "RECHARGE",
                        "REL_HUMIDITY",
                        "SHORTWAVE",
                        "SNOWFALL",
                        "SNOW_FRAC",
                        "SUBDAILY_CORR",
                        "SW_RADIA",
                        "SW_RADIA_NET",
                        "TEMP_AVE",
                        "TEMP_AVE_UNC",
                        "TEMP_DAILY_AVE",
                        "TEMP_DAILY_MAX",
                        "TEMP_DAILY_MIN",
                        "TEMP_MAX",
                        "TEMP_MAX_UNC",
                        "TEMP_MIN",
                        "TEMP_MIN_UNC",
                        "TEMP_MONTH_AVE",
                        "TEMP_MONTH_MAX",
                        "TEMP_MONTH_MIN",
                        "WIND_VEL"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Forcingtype"
            },
            "GridWeights": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GridWeights"
                  },
                  {
                     "$ref": "#/$defs/RedirectToFile"
                  }
               ],
               "default": {
                  "NumberHRUs": 1,
                  "NumberGridCells": 1,
                  "data": [
                     [
                        1,
                        0,
                        1.0
                     ]
                  ]
               },
               "title": "Gridweights"
            }
         },
         "required": [
            "FileNameNC",
            "VarNameNC",
            "DimNamesNC"
         ],
         "title": "StationForcing",
         "type": "object"
      },
      "SubBasin": {
         "additionalProperties": false,
         "description": "Record to populate RVH :SubBasins command internal table.",
         "properties": {
            "subbasin_id": {
               "default": 1,
               "exclusiveMinimum": 0,
               "title": "Subbasin Id",
               "type": "integer"
            },
            "name": {
               "default": "sub_001",
               "title": "Name",
               "type": "string"
            },
            "downstream_id": {
               "default": -1,
               "title": "Downstream Id",
               "type": "integer"
            },
            "profile": {
               "default": "NONE",
               "title": "Profile",
               "type": "string"
            },
            "reach_length": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": 0,
               "title": "Reach Length"
            },
            "gauged": {
               "default": true,
               "title": "Gauged",
               "type": "boolean"
            },
            "gauge_id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "",
               "title": "Gauge Id"
            }
         },
         "title": "SubBasin",
         "type": "object"
      },
      "SubBasinGroup": {
         "additionalProperties": false,
         "description": "SubBasinGroup command (RVH).",
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "sb_ids": {
               "default": [],
               "items": {
                  "type": "integer"
               },
               "title": "Sb Ids",
               "type": "array"
            }
         },
         "title": "SubBasinGroup",
         "type": "object"
      },
      "SubBasinProperties": {
         "additionalProperties": false,
         "properties": {
            "Parameters": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "CELERITY",
                           "DIFFUSIVITY",
                           "GAMMA_SCALE",
                           "GAMMA_SHAPE",
                           "MANNINGS_N",
                           "NUM_RESERVOIRS",
                           "Q_REFERENCE",
                           "RAIN_CORR",
                           "RES_CONSTANT",
                           "SLOPE",
                           "SNOW_CORR",
                           "TIME_CONC",
                           "TIME_LAG",
                           "TIME_TO_PEAK"
                        ],
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Parameters"
            },
            "records": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/SubBasinProperty"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Records"
            }
         },
         "title": "SubBasinProperties",
         "type": "object"
      },
      "SubBasinProperty": {
         "additionalProperties": false,
         "properties": {
            "sb_id": {
               "title": "Sb Id",
               "type": "string"
            },
            "values": {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Values",
               "type": "array"
            }
         },
         "required": [
            "sb_id",
            "values"
         ],
         "title": "SubBasinProperty",
         "type": "object"
      },
      "SubBasins": {
         "description": "SubBasins command (RVH)\n\nExample::\n\n    :SubBasins\n      :Attributes, NAME, DOWNSTREAM_ID, PROFILE, REACH_LENGTH, GAUGED\n      :Units, none, none, none, km, none\n      1, Downstream, -1, DEFAULT, 3.0, 1\n      2, Upstream, 1, DEFAULT, 3.0, 0\n    :EndSubBasins",
         "items": {
            "$ref": "#/$defs/SubBasin"
         },
         "title": "SubBasins",
         "type": "array"
      },
      "SubdailyMethod": {
         "enum": [
            "SUBDAILY_NONE",
            "SUBDAILY_SIMPLE",
            "SUBDAILY_UBC"
         ],
         "title": "SubdailyMethod",
         "type": "string"
      },
      "SurveyPoint": {
         "default": [],
         "description": "SurveyPoint record.",
         "maxItems": 2,
         "minItems": 2,
         "prefixItems": [
            {
               "type": "number"
            },
            {
               "type": "number"
            }
         ],
         "title": "SurveyPoint",
         "type": "array"
      },
      "SurveyPoints": {
         "default": [
            []
         ],
         "description": "SurveyPoints\n\n[x, bed_elevation] x number of survey points.",
         "items": {
            "$ref": "#/$defs/SurveyPoint"
         },
         "title": "SurveyPoints",
         "type": "array"
      },
      "TerrainClass": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "hillslope_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Hillslope Length"
            },
            "drainage_density": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Drainage Density"
            },
            "topmodel_lambda": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Topmodel Lambda"
            }
         },
         "required": [
            "name",
            "hillslope_length",
            "drainage_density"
         ],
         "title": "TerrainClass",
         "type": "object"
      },
      "TerrainClasses": {
         "items": {
            "$ref": "#/$defs/TerrainClass"
         },
         "title": "TerrainClasses",
         "type": "array"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      },
      "VegetationClass": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "max_ht": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.0,
               "title": "Max Ht"
            },
            "max_lai": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.0,
               "title": "Max Lai"
            },
            "max_leaf_cond": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.0,
               "title": "Max Leaf Cond"
            }
         },
         "title": "VegetationClass",
         "type": "object"
      },
      "VegetationClasses": {
         "items": {
            "$ref": "#/$defs/VegetationClass"
         },
         "title": "VegetationClasses",
         "type": "array"
      },
      "VegetationParameterList": {
         "additionalProperties": false,
         "properties": {
            "Parameters": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "ALBEDO",
                           "ALBEDO_WET",
                           "CAP_LAI_RATIO",
                           "CHU_MATURITY",
                           "DRIP_PROPORTION",
                           "MAX_CAPACITY",
                           "MAX_HEIGHT",
                           "MAX_INTERCEPT_RATE",
                           "MAX_LAI",
                           "MAX_LEAF_COND",
                           "MAX_ROOT_LENGTH",
                           "MAX_SNOW_CAPACITY",
                           "MIN_RESISTIVITY",
                           "PET_VEG_CORR",
                           "PSI_CRITICAL",
                           "RAIN_ICEPT_FACT",
                           "RAIN_ICEPT_PCT",
                           "RELATIVE_HT",
                           "RELATIVE_LAI",
                           "ROOTRADIUS",
                           "ROOT_EXTINCT",
                           "SAI_HT_RATIO",
                           "SNOCAP_LAI_RATIO",
                           "SNOW_ICEPT_FACT",
                           "SNOW_ICEPT_PCT",
                           "STEMFLOW_FRAC",
                           "SVF_EXTINCTION",
                           "TFRAIN",
                           "TFSNOW",
                           "TRUNK_FRACTION",
                           "VEG_DENS",
                           "VEG_DIAM",
                           "VEG_MBETA",
                           "XYLEM_FRAC"
                        ],
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Parameters"
            },
            "Units": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Units"
            },
            "pl": {
               "items": {
                  "$ref": "#/$defs/ParameterList"
               },
               "title": "Pl",
               "type": "array"
            }
         },
         "required": [
            "pl"
         ],
         "title": "VegetationParameterList",
         "type": "object"
      },
      "WindspeedMethod": {
         "enum": [
            "WINDVEL_CONSTANT",
            "WINDVEL_DATA",
            "WINDVEL_UBC"
         ],
         "title": "WindspeedMethod",
         "type": "string"
      },
      "_MonthlyRecord": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "[DEFAULT]",
               "title": "Name",
               "type": "string"
            },
            "values": {
               "default": [
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0
               ],
               "items": {
                  "type": "number"
               },
               "title": "Values",
               "type": "array"
            }
         },
         "title": "_MonthlyRecord",
         "type": "object"
      },
      "_Rec": {
         "items": {
            "type": "string"
         },
         "title": "_Rec",
         "type": "array"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

  • validate_default: bool = True

  • validate_assignment: bool = True

Fields:

Validators:
  • _cast_to_dataclass » params

  • _update_defaults » global_parameter

  • _update_defaults » netcdf_attribute

static header(rv)[source]

Return the header to print at the top of each RV file.

duplicate(**kwds)[source]

Duplicate this model, changing the values given in the keywords.

set_params(params: dict | Sequence) Config[source]

Return a new instance of Config with params frozen to their numerical values.

set_solution(fn: Path, timestamp: bool = True) Config[source]

Return a new instance of Config with hru, basin states and start date set from an existing solution.

Parameters:
  • fn (Path) – Path to solution file.

  • timestamp (bool) – If False, ignore time stamp information in the solution. If True, the solution will set StartDate to the solution’s timestamp.

Returns:

Config with internal state set from the solution file.

Return type:

Config

write_rv(workdir: str | Path, modelname: str | None = None, overwrite: bool = False, header: bool = True)[source]

Write configuration files to disk.

Parameters:
  • workdir (str, Path) – A directory where rv files will be written to disk.

  • modelname (str) – File name stem for rv files. If not given, defaults to RunName if set, otherwise raven.

  • overwrite (bool) – If True, overwrite existing configuration files.

  • header (bool) – If True, write a header at the top of each RV file.

zip(workdir: str | Path, modelname: str | None = None, overwrite: bool = False)[source]

Write configuration to zip file.

Parameters:
  • workdir (Path, str) – Path to zip archive storing RV files.

  • modelname (str, optional) – File name stem for rv files. If not given, defaults to RunName if set, otherwise raven.

  • overwrite (bool) – If True, overwrite existing configuration zip file.

property is_symbolic

Return True if configuration contains symbolic expressions.

property rvc
property rve
property rvh
property rvi
property rvp
property rvt
pydantic model ravenpy.config.rvs.RVC[source]

Bases: RV

Show JSON schema
{
   "title": "RVC",
   "type": "object",
   "properties": {
      "HRUStateVariableTable": {
         "anyOf": [
            {
               "$ref": "#/$defs/HRUStateVariableTable"
            },
            {
               "type": "null"
            }
         ]
      },
      "BasinStateVariables": {
         "anyOf": [
            {
               "$ref": "#/$defs/BasinStateVariables"
            },
            {
               "type": "null"
            }
         ]
      },
      "UniformInitialConditions": {
         "anyOf": [
            {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "title": "Uniforminitialconditions"
      }
   },
   "$defs": {
      "BasinIndex": {
         "additionalProperties": false,
         "description": "Initial conditions for a flow segment.",
         "properties": {
            "sb_id": {
               "default": 1,
               "title": "Sb Id",
               "type": "integer"
            },
            "name": {
               "default": "watershed",
               "title": "Name",
               "type": "string"
            },
            "ChannelStorage": {
               "default": 0.0,
               "title": "Channelstorage",
               "type": "number"
            },
            "RivuletStorage": {
               "default": 0.0,
               "title": "Rivuletstorage",
               "type": "number"
            },
            "Qout": {
               "default": [
                  1.0,
                  0.0,
                  0.0
               ],
               "items": {
                  "type": "number"
               },
               "title": "Qout",
               "type": "array"
            },
            "Qlat": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Qlat"
            },
            "Qin": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Qin"
            }
         },
         "title": "BasinIndex",
         "type": "object"
      },
      "BasinStateVariables": {
         "items": {
            "$ref": "#/$defs/BasinIndex"
         },
         "title": "BasinStateVariables",
         "type": "array"
      },
      "HRUState": {
         "additionalProperties": false,
         "properties": {
            "hru_id": {
               "default": 1,
               "title": "Hru Id",
               "type": "integer"
            },
            "data": {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Data",
               "type": "object"
            }
         },
         "title": "HRUState",
         "type": "object"
      },
      "HRUStateVariableTable": {
         "description": "Table of HRU state variables.\n\nIf the HRUState include different attributes, the states will be modified to include all attributes.",
         "items": {
            "$ref": "#/$defs/HRUState"
         },
         "title": "HRUStateVariableTable",
         "type": "array"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

  • validate_default: bool = True

  • validate_assignment: bool = True

Fields:
field basin_state_variables: BasinStateVariables | None [Optional] (alias 'BasinStateVariables')
field hru_state_variable_table: HRUStateVariableTable | None [Optional] (alias 'HRUStateVariableTable')
field uniform_initial_conditions: dict[str, Variable | ExpressionNode | float | None] | None [Optional] (alias 'UniformInitialConditions')
pydantic model ravenpy.config.rvs.RVE[source]

Bases: RV

Show JSON schema
{
   "title": "RVE",
   "type": "object",
   "properties": {
      "EnKFMode": {
         "anyOf": [
            {
               "$ref": "#/$defs/EnKFMode"
            },
            {
               "type": "null"
            }
         ]
      },
      "WindowSize": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "title": "Windowsize"
      },
      "SolutionRunName": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Solutionrunname"
      },
      "ExtraRVTFilename": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Extrarvtfilename"
      },
      "OutputDirectoryFormat": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "format": "path",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Outputdirectoryformat"
      },
      "ForecastRVTFilename": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Forecastrvtfilename"
      },
      "TruncateHindcasts": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Truncatehindcasts"
      },
      "ForcingPerturbation": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/ForcingPerturbation"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Forcingperturbation"
      },
      "AssimilatedState": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/AssimilatedState"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Assimilatedstate"
      },
      "AssimilateStreamflow": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/AssimilateStreamflow"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Assimilatestreamflow"
      },
      "ObservationErrorModel": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/ObservationErrorModel"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Observationerrormodel"
      }
   },
   "$defs": {
      "AssimilateStreamflow": {
         "additionalProperties": false,
         "description": "Subbasin ID to assimilate streamflow for.",
         "properties": {
            "sb_id": {
               "title": "Sb Id",
               "type": "string"
            }
         },
         "required": [
            "sb_id"
         ],
         "title": "AssimilateStreamflow",
         "type": "object"
      },
      "AssimilatedState": {
         "additionalProperties": false,
         "properties": {
            "state": {
               "anyOf": [
                  {
                     "enum": [
                        "ATMOSPHERE",
                        "ATMOS_PRECIP",
                        "CANOPY",
                        "CANOPY_SNOW",
                        "CANOPY_TEMP",
                        "COLD_CONTENT",
                        "CONSTITUENT",
                        "CONSTITUENT_SINK",
                        "CONSTITUENT_SRC",
                        "CONSTITUENT_SW",
                        "CONVOLUTION",
                        "CONV_STOR",
                        "CROP_HEAT_UNITS",
                        "CUM_INFIL",
                        "CUM_SNOWMELT",
                        "DEPRESSION",
                        "GLACIER",
                        "GLACIER_CC",
                        "GLACIER_ICE",
                        "GROUNDWATER",
                        "LAKE_STORAGE",
                        "MULTIPLE",
                        "PERMAFROST_DEPTH",
                        "PONDED_WATER",
                        "ROOT",
                        "SNOW",
                        "SNOW_AGE",
                        "SNOW_ALBEDO",
                        "SNOW_COVER",
                        "SNOW_DEPTH",
                        "SNOW_LIQ",
                        "SNOW_TEMP",
                        "SOIL",
                        "SOIL[0]",
                        "SOIL[1]",
                        "SOIL[2]",
                        "SOIL_TEMP",
                        "SURFACE_WATER",
                        "SURFACE_WATER_TEMP",
                        "TOTAL_SWE",
                        "TRUNK",
                        "WETLAND"
                     ],
                     "type": "string"
                  },
                  {
                     "const": "STREAMFLOW",
                     "type": "string"
                  }
               ],
               "title": "State"
            },
            "group": {
               "title": "Group",
               "type": "string"
            }
         },
         "required": [
            "state",
            "group"
         ],
         "title": "AssimilatedState",
         "type": "object"
      },
      "EnKFMode": {
         "enum": [
            "ENKF_CLOSED_LOOP",
            "ENKF_FORECAST",
            "ENKF_OPEN_FORECAST",
            "ENKF_OPEN_LOOP",
            "ENKF_SPINUP"
         ],
         "title": "EnKFMode",
         "type": "string"
      },
      "ForcingPerturbation": {
         "additionalProperties": false,
         "properties": {
            "forcing": {
               "enum": [
                  "AIR_DENS",
                  "AIR_PRES",
                  "CLOUD_COVER",
                  "DAY_ANGLE",
                  "DAY_LENGTH",
                  "ET_RADIA",
                  "LW_INCOMING",
                  "LW_RADIA_NET",
                  "OW_PET",
                  "PET",
                  "PET_MONTH_AVE",
                  "POTENTIAL_MELT",
                  "PRECIP",
                  "PRECIP_5DAY",
                  "PRECIP_DAILY_AVE",
                  "RAINFALL",
                  "RECHARGE",
                  "REL_HUMIDITY",
                  "SHORTWAVE",
                  "SNOWFALL",
                  "SNOW_FRAC",
                  "SUBDAILY_CORR",
                  "SW_RADIA",
                  "SW_RADIA_NET",
                  "TEMP_AVE",
                  "TEMP_AVE_UNC",
                  "TEMP_DAILY_AVE",
                  "TEMP_DAILY_MAX",
                  "TEMP_DAILY_MIN",
                  "TEMP_MAX",
                  "TEMP_MAX_UNC",
                  "TEMP_MIN",
                  "TEMP_MIN_UNC",
                  "TEMP_MONTH_AVE",
                  "TEMP_MONTH_MAX",
                  "TEMP_MONTH_MIN",
                  "WIND_VEL"
               ],
               "title": "Forcing",
               "type": "string"
            },
            "dist": {
               "enum": [
                  "DIST_UNIFORM",
                  "DIST_NORMAL",
                  "DIST_GAMMA"
               ],
               "title": "Dist",
               "type": "string"
            },
            "p1": {
               "title": "P1",
               "type": "number"
            },
            "p2": {
               "title": "P2",
               "type": "number"
            },
            "adj": {
               "enum": [
                  "ADDITIVE",
                  "MULTIPLICATIVE"
               ],
               "title": "Adj",
               "type": "string"
            },
            "hru_grp": {
               "default": "",
               "title": "Hru Grp",
               "type": "string"
            }
         },
         "required": [
            "forcing",
            "dist",
            "p1",
            "p2",
            "adj"
         ],
         "title": "ForcingPerturbation",
         "type": "object"
      },
      "ObservationErrorModel": {
         "additionalProperties": false,
         "properties": {
            "state": {
               "const": "STREAMFLOW",
               "title": "State",
               "type": "string"
            },
            "dist": {
               "enum": [
                  "DIST_UNIFORM",
                  "DIST_NORMAL",
                  "DIST_GAMMA"
               ],
               "title": "Dist",
               "type": "string"
            },
            "p1": {
               "title": "P1",
               "type": "number"
            },
            "p2": {
               "title": "P2",
               "type": "number"
            },
            "adj": {
               "enum": [
                  "ADDITIVE",
                  "MULTIPLICATIVE"
               ],
               "title": "Adj",
               "type": "string"
            }
         },
         "required": [
            "state",
            "dist",
            "p1",
            "p2",
            "adj"
         ],
         "title": "ObservationErrorModel",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

  • validate_default: bool = True

  • validate_assignment: bool = True

Fields:
field assimilate_streamflow: Sequence[AssimilateStreamflow] | None [Optional] (alias 'AssimilateStreamflow')
field assimilated_state: Sequence[AssimilatedState] | None [Optional] (alias 'AssimilatedState')
field enkf_mode: EnKFMode | None [Optional] (alias 'EnKFMode')
field extra_rvt_filename: str | None [Optional] (alias 'ExtraRVTFilename')
field forcing_perturbation: Sequence[ForcingPerturbation] | None [Optional] (alias 'ForcingPerturbation')
field forecast_rvt_filename: str | None [Optional] (alias 'ForecastRVTFilename')
field observation_error_model: Sequence[ObservationErrorModel] | None [Optional] (alias 'ObservationErrorModel')
field output_directory_format: str | Path | None [Optional] (alias 'OutputDirectoryFormat')
field solution_run_name: str | None [Optional] (alias 'SolutionRunName')
field truncate_hindcasts: bool | None [Optional] (alias 'TruncateHindcasts')
field window_size: int | None [Optional] (alias 'WindowSize')
pydantic model ravenpy.config.rvs.RVH[source]

Bases: RV

Show JSON schema
{
   "title": "RVH",
   "type": "object",
   "properties": {
      "SubBasins": {
         "anyOf": [
            {
               "$ref": "#/$defs/SubBasins"
            },
            {
               "type": "null"
            }
         ]
      },
      "SubBasinGroup": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/SubBasinGroup"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Subbasingroup"
      },
      "SubBasinProperties": {
         "anyOf": [
            {
               "$ref": "#/$defs/SubBasinProperties"
            },
            {
               "type": "null"
            }
         ]
      },
      "SBGroupPropertyMultiplier": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/SBGroupPropertyMultiplier"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Sbgrouppropertymultiplier"
      },
      "GaugedSubBasinGroup": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Gaugedsubbasingroup"
      },
      "HRUs": {
         "anyOf": [
            {
               "$ref": "#/$defs/HRUs"
            },
            {
               "type": "null"
            }
         ]
      },
      "HRUGroup": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/HRUGroup"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Hrugroup"
      },
      "Reservoirs": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/Reservoir"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Reservoirs"
      }
   },
   "$defs": {
      "HRU": {
         "additionalProperties": false,
         "description": "Record to populate :HRUs command internal table (RVH).",
         "properties": {
            "hru_id": {
               "default": 1,
               "exclusiveMinimum": 0,
               "title": "Hru Id",
               "type": "integer"
            },
            "area": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "title": "Area"
            },
            "elevation": {
               "default": 0,
               "title": "Elevation",
               "type": "number"
            },
            "latitude": {
               "default": 0,
               "title": "Latitude",
               "type": "number"
            },
            "longitude": {
               "default": 0,
               "title": "Longitude",
               "type": "number"
            },
            "subbasin_id": {
               "default": 1,
               "exclusiveMinimum": 0,
               "title": "Subbasin Id",
               "type": "integer"
            },
            "land_use_class": {
               "default": "[NONE]",
               "title": "Land Use Class",
               "type": "string"
            },
            "veg_class": {
               "default": "[NONE]",
               "title": "Veg Class",
               "type": "string"
            },
            "soil_profile": {
               "default": "[NONE]",
               "title": "Soil Profile",
               "type": "string"
            },
            "aquifer_profile": {
               "default": "[NONE]",
               "title": "Aquifer Profile",
               "type": "string"
            },
            "terrain_class": {
               "default": "[NONE]",
               "title": "Terrain Class",
               "type": "string"
            },
            "slope": {
               "default": 0.0,
               "minimum": 0,
               "title": "Slope",
               "type": "number"
            },
            "aspect": {
               "default": 0.0,
               "maximum": 360,
               "minimum": 0,
               "title": "Aspect",
               "type": "number"
            },
            "hru_type": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Hru Type"
            }
         },
         "title": "HRU",
         "type": "object"
      },
      "HRUGroup": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "groups": {
               "$ref": "#/$defs/_Rec"
            }
         },
         "required": [
            "name",
            "groups"
         ],
         "title": "HRUGroup",
         "type": "object"
      },
      "HRUs": {
         "description": "HRUs command (RVH).",
         "items": {
            "$ref": "#/$defs/HRU"
         },
         "title": "HRUs",
         "type": "array"
      },
      "Reservoir": {
         "additionalProperties": false,
         "description": "Reservoir command (RVH).",
         "properties": {
            "name": {
               "default": "Lake_XXX",
               "title": "Name",
               "type": "string"
            },
            "SubBasinID": {
               "default": 0,
               "title": "Subbasinid",
               "type": "integer"
            },
            "HRUID": {
               "default": 0,
               "title": "Hruid",
               "type": "integer"
            },
            "Type": {
               "default": "RESROUTE_STANDARD",
               "title": "Type",
               "type": "string"
            },
            "WeirCoefficient": {
               "default": 0,
               "title": "Weircoefficient",
               "type": "number"
            },
            "CrestWidth": {
               "default": 0,
               "title": "Crestwidth",
               "type": "number"
            },
            "MaxDepth": {
               "default": 0,
               "description": "Max depth (m)",
               "title": "Maxdepth",
               "type": "number"
            },
            "LakeArea": {
               "default": 0,
               "description": "Lake area (m2)",
               "title": "Lakearea",
               "type": "number"
            },
            "AbsoluteCrestHeight": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Absolute crest height (m)",
               "title": "Absolutecrestheight"
            },
            "MaxCapacity": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Maximum capacity in m3",
               "title": "Maxcapacity"
            },
            "SeepageParameters": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SeepageParameters"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "StageRelations": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StageRelations"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "Reservoir",
         "type": "object"
      },
      "SBGroupPropertyMultiplier": {
         "additionalProperties": false,
         "description": ":SBGroupPropertyMultiplier [group_name] [parameter_name] [mult]",
         "properties": {
            "group_name": {
               "title": "Group Name",
               "type": "string"
            },
            "parameter_name": {
               "title": "Parameter Name",
               "type": "string"
            },
            "mult": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Mult"
            }
         },
         "required": [
            "group_name",
            "parameter_name",
            "mult"
         ],
         "title": "SBGroupPropertyMultiplier",
         "type": "object"
      },
      "SeepageParameters": {
         "additionalProperties": false,
         "description": ":SeepageParameters [K_seep] [href]",
         "properties": {
            "k_seep": {
               "title": "K Seep",
               "type": "number"
            },
            "h_ref": {
               "title": "H Ref",
               "type": "number"
            }
         },
         "required": [
            "k_seep",
            "h_ref"
         ],
         "title": "SeepageParameters",
         "type": "object"
      },
      "StageRelation": {
         "anyOf": [
            {
               "maxItems": 4,
               "minItems": 4,
               "prefixItems": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  }
               ],
               "type": "array"
            },
            {
               "maxItems": 5,
               "minItems": 5,
               "prefixItems": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  }
               ],
               "type": "array"
            }
         ],
         "default": null,
         "description": "Stage relation record.\n\nh, q, v, a, [u]",
         "title": "StageRelation"
      },
      "StageRelations": {
         "default": null,
         "description": "Stage relations for the reservoir.",
         "items": {
            "$ref": "#/$defs/StageRelation"
         },
         "title": "StageRelations",
         "type": "array"
      },
      "SubBasin": {
         "additionalProperties": false,
         "description": "Record to populate RVH :SubBasins command internal table.",
         "properties": {
            "subbasin_id": {
               "default": 1,
               "exclusiveMinimum": 0,
               "title": "Subbasin Id",
               "type": "integer"
            },
            "name": {
               "default": "sub_001",
               "title": "Name",
               "type": "string"
            },
            "downstream_id": {
               "default": -1,
               "title": "Downstream Id",
               "type": "integer"
            },
            "profile": {
               "default": "NONE",
               "title": "Profile",
               "type": "string"
            },
            "reach_length": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  }
               ],
               "default": 0,
               "title": "Reach Length"
            },
            "gauged": {
               "default": true,
               "title": "Gauged",
               "type": "boolean"
            },
            "gauge_id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "",
               "title": "Gauge Id"
            }
         },
         "title": "SubBasin",
         "type": "object"
      },
      "SubBasinGroup": {
         "additionalProperties": false,
         "description": "SubBasinGroup command (RVH).",
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "sb_ids": {
               "default": [],
               "items": {
                  "type": "integer"
               },
               "title": "Sb Ids",
               "type": "array"
            }
         },
         "title": "SubBasinGroup",
         "type": "object"
      },
      "SubBasinProperties": {
         "additionalProperties": false,
         "properties": {
            "Parameters": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "CELERITY",
                           "DIFFUSIVITY",
                           "GAMMA_SCALE",
                           "GAMMA_SHAPE",
                           "MANNINGS_N",
                           "NUM_RESERVOIRS",
                           "Q_REFERENCE",
                           "RAIN_CORR",
                           "RES_CONSTANT",
                           "SLOPE",
                           "SNOW_CORR",
                           "TIME_CONC",
                           "TIME_LAG",
                           "TIME_TO_PEAK"
                        ],
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Parameters"
            },
            "records": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/SubBasinProperty"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Records"
            }
         },
         "title": "SubBasinProperties",
         "type": "object"
      },
      "SubBasinProperty": {
         "additionalProperties": false,
         "properties": {
            "sb_id": {
               "title": "Sb Id",
               "type": "string"
            },
            "values": {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Values",
               "type": "array"
            }
         },
         "required": [
            "sb_id",
            "values"
         ],
         "title": "SubBasinProperty",
         "type": "object"
      },
      "SubBasins": {
         "description": "SubBasins command (RVH)\n\nExample::\n\n    :SubBasins\n      :Attributes, NAME, DOWNSTREAM_ID, PROFILE, REACH_LENGTH, GAUGED\n      :Units, none, none, none, km, none\n      1, Downstream, -1, DEFAULT, 3.0, 1\n      2, Upstream, 1, DEFAULT, 3.0, 0\n    :EndSubBasins",
         "items": {
            "$ref": "#/$defs/SubBasin"
         },
         "title": "SubBasins",
         "type": "array"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      },
      "_Rec": {
         "items": {
            "type": "string"
         },
         "title": "_Rec",
         "type": "array"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

  • validate_default: bool = True

  • validate_assignment: bool = True

Fields:
field gauged_sub_basin_group: str | None [Optional] (alias 'GaugedSubBasinGroup')
field hru_group: Sequence[HRUGroup] | None [Optional] (alias 'HRUGroup')
field hrus: HRUs | None [Optional] (alias 'HRUs')
field reservoirs: Sequence[Reservoir] | None [Optional] (alias 'Reservoirs')
field sb_group_property_multiplier: Sequence[SBGroupPropertyMultiplier] | None [Optional] (alias 'SBGroupPropertyMultiplier')
field sub_basin_group: Sequence[SubBasinGroup] | None [Optional] (alias 'SubBasinGroup')
field sub_basin_properties: SubBasinProperties | None [Optional] (alias 'SubBasinProperties')
field sub_basins: SubBasins | None [Optional] (alias 'SubBasins')
pydantic model ravenpy.config.rvs.RVI[source]

Bases: RV

Show JSON schema
{
   "title": "RVI",
   "type": "object",
   "properties": {
      "SilentMode": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Silentmode"
      },
      "NoisyMode": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Noisymode"
      },
      "RunName": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Runname"
      },
      "Calendar": {
         "anyOf": [
            {
               "$ref": "#/$defs/Calendar"
            },
            {
               "type": "null"
            }
         ]
      },
      "StartDate": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "format": "date",
               "type": "string"
            },
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Startdate"
      },
      "AssimilationStartTime": {
         "anyOf": [
            {
               "format": "date",
               "type": "string"
            },
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Assimilationstarttime"
      },
      "EndDate": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "format": "date",
               "type": "string"
            },
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Enddate"
      },
      "Duration": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "title": "Duration"
      },
      "TimeStep": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Timestep"
      },
      "Interpolation": {
         "anyOf": [
            {
               "$ref": "#/$defs/Interpolation"
            },
            {
               "type": "null"
            }
         ]
      },
      "Routing": {
         "anyOf": [
            {
               "$ref": "#/$defs/Routing"
            },
            {
               "type": "null"
            }
         ]
      },
      "CatchmentRoute": {
         "anyOf": [
            {
               "$ref": "#/$defs/CatchmentRoute"
            },
            {
               "type": "null"
            }
         ]
      },
      "Evaporation": {
         "anyOf": [
            {
               "$ref": "#/$defs/Evaporation"
            },
            {
               "type": "null"
            }
         ]
      },
      "OW_Evaporation": {
         "anyOf": [
            {
               "$ref": "#/$defs/Evaporation"
            },
            {
               "type": "null"
            }
         ]
      },
      "SWRadiationMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/SWRadiationMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "SWCloudCorrect": {
         "anyOf": [
            {
               "$ref": "#/$defs/SWCloudCorrect"
            },
            {
               "type": "null"
            }
         ]
      },
      "SWCanopyCorrect": {
         "anyOf": [
            {
               "$ref": "#/$defs/SWCanopyCorrect"
            },
            {
               "type": "null"
            }
         ]
      },
      "LWRadiationMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/LWRadiationMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "WindspeedMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/WindspeedMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "RainSnowFraction": {
         "anyOf": [
            {
               "$ref": "#/$defs/RainSnowFraction"
            },
            {
               "type": "null"
            }
         ]
      },
      "PotentialMeltMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/PotentialMeltMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "OroTempCorrect": {
         "anyOf": [
            {
               "$ref": "#/$defs/OroTempCorrect"
            },
            {
               "type": "null"
            }
         ]
      },
      "OroPrecipCorrect": {
         "anyOf": [
            {
               "$ref": "#/$defs/OroPrecipCorrect"
            },
            {
               "type": "null"
            }
         ]
      },
      "OroPETCorrect": {
         "anyOf": [
            {
               "$ref": "#/$defs/OroPETCorrect"
            },
            {
               "type": "null"
            }
         ]
      },
      "CloudCoverMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/CloudCoverMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "PrecipIceptFract": {
         "anyOf": [
            {
               "$ref": "#/$defs/PrecipIceptFract"
            },
            {
               "type": "null"
            }
         ]
      },
      "SubdailyMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/SubdailyMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "MonthlyInterpolationMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/MonthlyInterpolationMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "SoilModel": {
         "anyOf": [
            {
               "$ref": "#/$defs/SoilModel"
            },
            {
               "type": "null"
            }
         ]
      },
      "TemperatureCorrection": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "description": "Gridded or gauged temperature bias correction.",
         "title": "Temperaturecorrection"
      },
      "LakeStorage": {
         "anyOf": [
            {
               "enum": [
                  "ATMOSPHERE",
                  "ATMOS_PRECIP",
                  "CANOPY",
                  "CANOPY_SNOW",
                  "CANOPY_TEMP",
                  "COLD_CONTENT",
                  "CONSTITUENT",
                  "CONSTITUENT_SINK",
                  "CONSTITUENT_SRC",
                  "CONSTITUENT_SW",
                  "CONVOLUTION",
                  "CONV_STOR",
                  "CROP_HEAT_UNITS",
                  "CUM_INFIL",
                  "CUM_SNOWMELT",
                  "DEPRESSION",
                  "GLACIER",
                  "GLACIER_CC",
                  "GLACIER_ICE",
                  "GROUNDWATER",
                  "LAKE_STORAGE",
                  "MULTIPLE",
                  "PERMAFROST_DEPTH",
                  "PONDED_WATER",
                  "ROOT",
                  "SNOW",
                  "SNOW_AGE",
                  "SNOW_ALBEDO",
                  "SNOW_COVER",
                  "SNOW_DEPTH",
                  "SNOW_LIQ",
                  "SNOW_TEMP",
                  "SOIL",
                  "SOIL[0]",
                  "SOIL[1]",
                  "SOIL[2]",
                  "SOIL_TEMP",
                  "SURFACE_WATER",
                  "SURFACE_WATER_TEMP",
                  "TOTAL_SWE",
                  "TRUNK",
                  "WETLAND"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Lakestorage"
      },
      "RelativeHumidityMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/RelativeHumidityMethod"
            },
            {
               "type": "null"
            }
         ]
      },
      "DefineHRUGroups": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Definehrugroups"
      },
      "HydrologicProcesses": {
         "anyOf": [
            {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Process"
                     },
                     {
                        "$ref": "#/$defs/Conditional"
                     },
                     {
                        "$ref": "#/$defs/ProcessGroup"
                     }
                  ]
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Hydrologicprocesses"
      },
      "EvaluationMetrics": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/EvaluationMetrics"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Evaluationmetrics"
      },
      "EvaluationPeriod": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/EvaluationPeriod"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Evaluationperiod"
      },
      "EnsembleMode": {
         "anyOf": [
            {
               "$ref": "#/$defs/EnsembleMode"
            },
            {
               "type": "null"
            }
         ]
      },
      "WriteNetcdfFormat": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Writenetcdfformat"
      },
      "NetCDFAttribute": {
         "anyOf": [
            {
               "additionalProperties": {
                  "type": "string"
               },
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": {},
         "title": "Netcdfattribute"
      },
      "CustomOutput": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/CustomOutput"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Customoutput"
      },
      "DirectEvaporation": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "description": "Rainfall is automatically reduced through evapotranspiration up to the limit of the calculated PET.",
         "title": "Directevaporation"
      },
      "DeltaresFEWSMode": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Deltaresfewsmode"
      },
      "DebugMode": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Debugmode"
      },
      "DontWriteWatershedStorage": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "description": "Do not write watershed storage variables to disk.",
         "title": "Dontwritewatershedstorage"
      },
      "PavicsMode": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Pavicsmode"
      },
      "SuppressOutput": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "description": "Write minimal output to disk when enabled.",
         "title": "Suppressoutput"
      },
      "WriteForcingFunctions": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "description": "Write watershed averaged forcing functions (e.g. rainfall, radiation, PET, etc).",
         "title": "Writeforcingfunctions"
      },
      "WriteSubbasinFile": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "title": "Writesubbasinfile"
      },
      "WriteLocalFlows": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "description": "Write local contribution to hydrograph in hydrograph.csv",
         "title": "Writelocalflows"
      }
   },
   "$defs": {
      "Calendar": {
         "enum": [
            "ALL_LEAP",
            "GREGORIAN",
            "JULIAN",
            "NOLEAP",
            "PROLEPTIC_GREGORIAN",
            "STANDARD",
            "365_DAY",
            "366_DAY"
         ],
         "title": "Calendar",
         "type": "string"
      },
      "CatchmentRoute": {
         "description": ":CatchmentRoute",
         "enum": [
            "ROUTE_DELAYED_FIRST_ORDER",
            "ROUTE_DUMP",
            "ROUTE_EXPONENTIAL",
            "EXPONENTIAL_UH",
            "ROUTE_GAMMA_CONVOLUTION",
            "ROUTE_RESERVOIR_SERIES",
            "ROUTE_TRI_CONVOLUTION",
            "TRIANGULAR_UH",
            "TRI_CONVOLUTION"
         ],
         "title": "CatchmentRoute",
         "type": "string"
      },
      "CloudCoverMethod": {
         "enum": [
            "CLOUDCOV_NONE",
            "CLOUDCOV_DATA",
            "CLOUDCOV_UBC"
         ],
         "title": "CloudCoverMethod",
         "type": "string"
      },
      "Conditional": {
         "additionalProperties": false,
         "description": "Conditional statement.",
         "properties": {
            "kind": {
               "enum": [
                  "HRU_TYPE",
                  "LAND_CLASS",
                  "HRU_GROUP"
               ],
               "title": "Kind",
               "type": "string"
            },
            "op": {
               "enum": [
                  "IS",
                  "IS_NOT"
               ],
               "title": "Op",
               "type": "string"
            },
            "value": {
               "title": "Value",
               "type": "string"
            }
         },
         "required": [
            "kind",
            "op",
            "value"
         ],
         "title": "Conditional",
         "type": "object"
      },
      "CustomOutput": {
         "additionalProperties": false,
         "description": "Create custom output file to track a single variable, parameter, or forcing function over time at a number of basins, HRUs, or across watershed.\n\n:CustomOutput DAILY AVERAGE AET BY_HRU",
         "properties": {
            "time_per": {
               "enum": [
                  "DAILY",
                  "MONTHLY",
                  "YEARLY",
                  "WATER_YEARLY",
                  "CONTINUOUS"
               ],
               "title": "Time Per",
               "type": "string"
            },
            "stat": {
               "enum": [
                  "AVERAGE",
                  "MAXIMUM",
                  "MINIMUM",
                  "RANGE",
                  "MEDIAN",
                  "QUARTILES"
               ],
               "title": "Stat",
               "type": "string"
            },
            "variable": {
               "title": "Variable",
               "type": "string"
            },
            "space_agg": {
               "enum": [
                  "BY_BASIN",
                  "BY_HRU",
                  "BY_HRU_GROUP",
                  "BY_SB_GROUP",
                  "ENTIRE_WATERSHED"
               ],
               "title": "Space Agg",
               "type": "string"
            },
            "filename": {
               "default": "",
               "title": "Filename",
               "type": "string"
            }
         },
         "required": [
            "time_per",
            "stat",
            "variable",
            "space_agg"
         ],
         "title": "CustomOutput",
         "type": "object"
      },
      "EnsembleMode": {
         "additionalProperties": false,
         "properties": {
            "mode": {
               "const": "ENSEMBLE_ENKF",
               "default": "ENSEMBLE_ENKF",
               "title": "Mode",
               "type": "string"
            },
            "n": {
               "description": "Number of members",
               "title": "N",
               "type": "integer"
            }
         },
         "required": [
            "n"
         ],
         "title": "EnsembleMode",
         "type": "object"
      },
      "EvaluationMetrics": {
         "enum": [
            "ABSERR",
            "ABSERR_RUN",
            "ABSMAX",
            "DIAG_SPEARMAN",
            "FUZZY_NASH",
            "KGE_PRIME",
            "KLING_GUPTA",
            "LOG_NASH",
            "NASH_SUTCLIFFE",
            "NSC",
            "PCT_BIAS",
            "PDIFF",
            "RCOEFF",
            "RMSE",
            "TMVOL"
         ],
         "title": "EvaluationMetrics",
         "type": "string"
      },
      "EvaluationPeriod": {
         "additionalProperties": false,
         "description": ":EvaluationPeriod [period_name] [start yyyy-mm-dd] [end yyyy-mm-dd]",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "start": {
               "format": "date",
               "title": "Start",
               "type": "string"
            },
            "end": {
               "format": "date",
               "title": "End",
               "type": "string"
            }
         },
         "required": [
            "name",
            "start",
            "end"
         ],
         "title": "EvaluationPeriod",
         "type": "object"
      },
      "Evaporation": {
         "enum": [
            "PET_CONSTANT",
            "PET_DATA",
            "PET_FROMMONTHLY",
            "PET_HAMON_1961",
            "PET_HARGREAVES",
            "PET_HARGREAVES_1985",
            "PET_MAKKINK_1957",
            "PET_MOHYSE",
            "PET_MONTHLY_FACTOR",
            "PET_OUDIN",
            "PET_PENMAN_COMBINATION",
            "PET_PENMAN_MONTEITH",
            "PET_PRIESTLEY_TAYLOR",
            "PET_TURC_1961",
            "PET_VAPDEFICIT"
         ],
         "title": "Evaporation",
         "type": "string"
      },
      "Interpolation": {
         "enum": [
            "INTERP_AVERAGE_ALL",
            "INTERP_FROM_FILE",
            "INTERP_INVERSE_DISTANCE",
            "INTERP_NEAREST_NEIGHBOR"
         ],
         "title": "Interpolation",
         "type": "string"
      },
      "LWRadiationMethod": {
         "enum": [
            "LW_RAD_DATA",
            "LW_RAD_DEFAULT",
            "LW_RAD_UBC"
         ],
         "title": "LWRadiationMethod",
         "type": "string"
      },
      "MonthlyInterpolationMethod": {
         "enum": [
            "MONTHINT_LINEAR_21",
            "MONTHINT_LINEAR_FOM",
            "MONTHINT_LINEAR_MID",
            "MONTHINT_UNIFORM"
         ],
         "title": "MonthlyInterpolationMethod",
         "type": "string"
      },
      "OroPETCorrect": {
         "enum": [
            "OROCORR_HBV",
            "OROCORR_NONE",
            "OROCORR_SIMPLELAPSE"
         ],
         "title": "OroPETCorrect",
         "type": "string"
      },
      "OroPrecipCorrect": {
         "enum": [
            "OROCORR_HBV",
            "OROCORR_NONE",
            "OROCORR_SIMPLELAPSE",
            "OROCORR_UBC"
         ],
         "title": "OroPrecipCorrect",
         "type": "string"
      },
      "OroTempCorrect": {
         "enum": [
            "OROCORR_HBV",
            "OROCORR_NONE",
            "OROCORR_SIMPLELAPSE",
            "OROCORR_UBC",
            "OROCORR_UBC_2"
         ],
         "title": "OroTempCorrect",
         "type": "string"
      },
      "PotentialMeltMethod": {
         "description": ":PotentialMelt algorithms",
         "enum": [
            "POTMELT_DATA",
            "POTMELT_DEGREE_DAY",
            "POTMELT_EB",
            "POTMELT_HBV",
            "POTMELT_HMETS",
            "POTMELT_NONE",
            "POTMELT_RESTRICTED",
            "POTMELT_UBC",
            "POTMELT_USACE"
         ],
         "title": "PotentialMeltMethod",
         "type": "string"
      },
      "PrecipIceptFract": {
         "enum": [
            "PRECIP_ICEPT_USER",
            "PRECIP_ICEPT_EXPLAI",
            "PRECIP_ICEPT_HEDSTROM",
            "PRECIP_ICEPT_LAI",
            "PRECIP_ICEPT_NONE"
         ],
         "title": "PrecipIceptFract",
         "type": "string"
      },
      "Process": {
         "additionalProperties": false,
         "description": "Process type embedded in HydrologicProcesses command.\n\nSee processes.py for list of processes.",
         "properties": {
            "algo": {
               "default": "RAVEN_DEFAULT",
               "title": "Algo",
               "type": "string"
            },
            "source": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Source"
            },
            "to": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "To",
               "type": "array"
            }
         },
         "title": "Process",
         "type": "object"
      },
      "ProcessGroup": {
         "additionalProperties": false,
         "properties": {
            "p": {
               "items": {
                  "$ref": "#/$defs/Process"
               },
               "title": "P",
               "type": "array"
            },
            "params": {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Params",
               "type": "array"
            }
         },
         "required": [
            "p",
            "params"
         ],
         "title": "ProcessGroup",
         "type": "object"
      },
      "RainSnowFraction": {
         "enum": [
            "RAINSNOW_DATA",
            "RAINSNOW_DINGMAN",
            "RAINSNOW_HARDER",
            "RAINSNOW_HBV",
            "RAINSNOW_HSPF",
            "RAINSNOW_SNTHERM89",
            "RAINSNOW_UBC",
            "RAINSNOW_WANG"
         ],
         "title": "RainSnowFraction",
         "type": "string"
      },
      "RelativeHumidityMethod": {
         "enum": [
            "RELHUM_CONSTANT",
            "RELHUM_CORR",
            "RELHUM_DATA",
            "RELHUM_MINDEWPT",
            "WINDVEL_CORR"
         ],
         "title": "RelativeHumidityMethod",
         "type": "string"
      },
      "Routing": {
         "enum": [
            "ROUTE_DIFFUSIVE_WAVE",
            "ROUTE_HYDROLOGIC",
            "MUSKINGUM",
            "ROUTE_NONE",
            "ROUTE_PLUG_FLOW",
            "ROUTE_STORAGE_COEFF"
         ],
         "title": "Routing",
         "type": "string"
      },
      "SWCanopyCorrect": {
         "enum": [
            "SW_CANOPY_CORR_NONE",
            "SW_CANOPY_CORR_DYNAMIC",
            "SW_CANOPY_CORR_STATIC",
            "SW_CANOPY_CORR_UBC"
         ],
         "title": "SWCanopyCorrect",
         "type": "string"
      },
      "SWCloudCorrect": {
         "enum": [
            "SW_CLOUD_CORR_NONE",
            "SW_CLOUD_CORR_ANNANDALE",
            "SW_CLOUD_CORR_DINGMAN",
            "SW_CLOUD_CORR_UBCWM"
         ],
         "title": "SWCloudCorrect",
         "type": "string"
      },
      "SWRadiationMethod": {
         "enum": [
            "SW_RAD_DATA",
            "SW_RAD_DEFAULT",
            "SW_RAD_UBCWM"
         ],
         "title": "SWRadiationMethod",
         "type": "string"
      },
      "SoilModel": {
         "description": ":SoilModel SOIL_MULTILAYER 6",
         "title": "SoilModel",
         "type": "integer"
      },
      "SubdailyMethod": {
         "enum": [
            "SUBDAILY_NONE",
            "SUBDAILY_SIMPLE",
            "SUBDAILY_UBC"
         ],
         "title": "SubdailyMethod",
         "type": "string"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      },
      "WindspeedMethod": {
         "enum": [
            "WINDVEL_CONSTANT",
            "WINDVEL_DATA",
            "WINDVEL_UBC"
         ],
         "title": "WindspeedMethod",
         "type": "string"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

  • validate_default: bool = True

  • validate_assignment: bool = True

Fields:
Validators:
field assimilation_start_time: date | datetime | datetime | None [Optional] (alias 'AssimilationStartTime')
Validated by:
field calendar: Calendar | None [Optional] (alias 'Calendar')
field catchment_route: CatchmentRoute | None [Optional] (alias 'CatchmentRoute')
field cloud_cover_method: CloudCoverMethod | None [Optional] (alias 'CloudCoverMethod')
field custom_output: Sequence[CustomOutput] | None [Optional] (alias 'CustomOutput')
field debug_mode: bool | None [Optional] (alias 'DebugMode')
field define_hru_groups: Sequence[str] | None [Optional] (alias 'DefineHRUGroups')
field deltares_fews_mode: bool | None [Optional] (alias 'DeltaresFEWSMode')
field direct_evaporation: bool | None [Optional] (alias 'DirectEvaporation')

Rainfall is automatically reduced through evapotranspiration up to the limit of the calculated PET.

field dont_write_watershed_storage: bool | None [Optional] (alias 'DontWriteWatershedStorage')

Do not write watershed storage variables to disk.

field duration: float | None [Optional] (alias 'Duration')
field end_date: str | date | datetime | datetime | None [Optional] (alias 'EndDate')
Validated by:
field ensemble_mode: EnsembleMode | None [Optional] (alias 'EnsembleMode')
field evaluation_metrics: Sequence[EvaluationMetrics] | None [Optional] (alias 'EvaluationMetrics')
field evaluation_period: Sequence[EvaluationPeriod] | None [Optional] (alias 'EvaluationPeriod')
field evaporation: Evaporation | None [Optional] (alias 'Evaporation')
field hydrologic_processes: Sequence[Process | Conditional | ProcessGroup] | None [Optional] (alias 'HydrologicProcesses')
field interpolation: Interpolation | None [Optional] (alias 'Interpolation')
field lake_storage: Literal['ATMOSPHERE', 'ATMOS_PRECIP', 'CANOPY', 'CANOPY_SNOW', 'CANOPY_TEMP', 'COLD_CONTENT', 'CONSTITUENT', 'CONSTITUENT_SINK', 'CONSTITUENT_SRC', 'CONSTITUENT_SW', 'CONVOLUTION', 'CONV_STOR', 'CROP_HEAT_UNITS', 'CUM_INFIL', 'CUM_SNOWMELT', 'DEPRESSION', 'GLACIER', 'GLACIER_CC', 'GLACIER_ICE', 'GROUNDWATER', 'LAKE_STORAGE', 'MULTIPLE', 'PERMAFROST_DEPTH', 'PONDED_WATER', 'ROOT', 'SNOW', 'SNOW_AGE', 'SNOW_ALBEDO', 'SNOW_COVER', 'SNOW_DEPTH', 'SNOW_LIQ', 'SNOW_TEMP', 'SOIL', 'SOIL[0]', 'SOIL[1]', 'SOIL[2]', 'SOIL_TEMP', 'SURFACE_WATER', 'SURFACE_WATER_TEMP', 'TOTAL_SWE', 'TRUNK', 'WETLAND'] | None [Optional] (alias 'LakeStorage')
field lw_radiation_method: LWRadiationMethod | None [Optional] (alias 'LWRadiationMethod')
field monthly_interpolation_method: MonthlyInterpolationMethod | None [Optional] (alias 'MonthlyInterpolationMethod')
field netcdf_attribute: dict[str, str] | None = {} (alias 'NetCDFAttribute')
field noisy_mode: bool | None [Optional] (alias 'NoisyMode')
field oro_pet_correct: OroPETCorrect | None [Optional] (alias 'OroPETCorrect')
field oro_precip_correct: OroPrecipCorrect | None [Optional] (alias 'OroPrecipCorrect')
field oro_temp_correct: OroTempCorrect | None [Optional] (alias 'OroTempCorrect')
field ow_evaporation: Evaporation | None [Optional] (alias 'OW_Evaporation')
field pavics_mode: bool | None [Optional] (alias 'PavicsMode')
field potential_melt_method: PotentialMeltMethod | None [Optional] (alias 'PotentialMeltMethod')
field precip_icept_frac: PrecipIceptFract | None [Optional] (alias 'PrecipIceptFract')
field rain_snow_fraction: RainSnowFraction | None [Optional] (alias 'RainSnowFraction')
field relative_humidity_method: RelativeHumidityMethod | None [Optional] (alias 'RelativeHumidityMethod')
field routing: Routing | None [Optional] (alias 'Routing')
field run_name: str | None [Optional] (alias 'RunName')
field silent_mode: bool | None [Optional] (alias 'SilentMode')
field soil_model: SoilModel | None [Optional] (alias 'SoilModel')
Validated by:
field start_date: str | date | datetime | datetime | None [Optional] (alias 'StartDate')
Validated by:
field subdaily_method: SubdailyMethod | None [Optional] (alias 'SubdailyMethod')
field suppress_output: bool | None [Optional] (alias 'SuppressOutput')

Write minimal output to disk when enabled.

field sw_canopy_correct: SWCanopyCorrect | None [Optional] (alias 'SWCanopyCorrect')
field sw_cloud_correct: SWCloudCorrect | None [Optional] (alias 'SWCloudCorrect')
field sw_radiation_method: SWRadiationMethod | None [Optional] (alias 'SWRadiationMethod')
field temperature_correction: bool | None [Optional] (alias 'TemperatureCorrection')

Gridded or gauged temperature bias correction.

field time_step: float | str | None [Optional] (alias 'TimeStep')
field windspeed_method: WindspeedMethod | None [Optional] (alias 'WindspeedMethod')
field write_forcing_functions: bool | None [Optional] (alias 'WriteForcingFunctions')

Write watershed averaged forcing functions (e.g. rainfall, radiation, PET, etc).

field write_local_flows: bool | None [Optional] (alias 'WriteLocalFlows')

Write local contribution to hydrograph in hydrograph.csv

field write_netcdf_format: bool | None [Optional] (alias 'WriteNetcdfFormat')
field write_subbasin_file: bool | None [Optional] (alias 'WriteSubbasinFile')
validator dates2cf  »  start_date, assimilation_start_time, end_date[source]

Convert dates to cftime dates.

validator init_soil_model  »  soil_model[source]
pydantic model ravenpy.config.rvs.RVP[source]

Bases: RV

Show JSON schema
{
   "title": "RVP",
   "type": "object",
   "properties": {
      "params": {
         "default": null,
         "title": "Params"
      },
      "SoilClasses": {
         "anyOf": [
            {
               "$ref": "#/$defs/SoilClasses"
            },
            {
               "type": "null"
            }
         ]
      },
      "SoilProfiles": {
         "anyOf": [
            {
               "$ref": "#/$defs/SoilProfiles"
            },
            {
               "type": "null"
            }
         ]
      },
      "VegetationClasses": {
         "anyOf": [
            {
               "$ref": "#/$defs/VegetationClasses"
            },
            {
               "type": "null"
            }
         ]
      },
      "LandUseClasses": {
         "anyOf": [
            {
               "$ref": "#/$defs/LandUseClasses"
            },
            {
               "type": "null"
            }
         ]
      },
      "TerrainClasses": {
         "anyOf": [
            {
               "$ref": "#/$defs/TerrainClasses"
            },
            {
               "type": "null"
            }
         ]
      },
      "SoilParameterList": {
         "anyOf": [
            {
               "$ref": "#/$defs/SoilParameterList"
            },
            {
               "type": "null"
            }
         ]
      },
      "LandUseParameterList": {
         "anyOf": [
            {
               "$ref": "#/$defs/LandUseParameterList"
            },
            {
               "type": "null"
            }
         ]
      },
      "VegetationParameterList": {
         "anyOf": [
            {
               "$ref": "#/$defs/VegetationParameterList"
            },
            {
               "type": "null"
            }
         ]
      },
      "ChannelProfile": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/ChannelProfile"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Channelprofile"
      },
      "GlobalParameter": {
         "anyOf": [
            {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": {},
         "title": "Globalparameter"
      },
      "RainSnowTransition": {
         "anyOf": [
            {
               "$ref": "#/$defs/RainSnowTransition"
            },
            {
               "type": "null"
            }
         ]
      },
      "SeasonalRelativeLAI": {
         "anyOf": [
            {
               "$ref": "#/$defs/SeasonalRelativeLAI"
            },
            {
               "type": "null"
            }
         ]
      },
      "SeasonalRelativeHeight": {
         "anyOf": [
            {
               "$ref": "#/$defs/SeasonalRelativeHeight"
            },
            {
               "type": "null"
            }
         ]
      }
   },
   "$defs": {
      "ChannelProfile": {
         "additionalProperties": false,
         "description": "ChannelProfile command (RVP).",
         "properties": {
            "name": {
               "default": "chn_XXX",
               "title": "Name",
               "type": "string"
            },
            "Bedslope": {
               "default": 0,
               "title": "Bedslope",
               "type": "number"
            },
            "SurveyPoints": {
               "$ref": "#/$defs/SurveyPoints"
            },
            "RoughnessZones": {
               "$ref": "#/$defs/RoughnessZones"
            }
         },
         "title": "ChannelProfile",
         "type": "object"
      },
      "LandUseClass": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "impermeable_frac": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.0,
               "title": "Impermeable Frac"
            },
            "forest_coverage": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.0,
               "title": "Forest Coverage"
            }
         },
         "title": "LandUseClass",
         "type": "object"
      },
      "LandUseClasses": {
         "items": {
            "$ref": "#/$defs/LandUseClass"
         },
         "title": "LandUseClasses",
         "type": "array"
      },
      "LandUseParameterList": {
         "additionalProperties": false,
         "properties": {
            "Parameters": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "ABST_PERCENT",
                           "AET_COEFF",
                           "BF_LOSS_FRACTION",
                           "B_EXP",
                           "CC_DECAY_COEFF",
                           "DD_AGGRADATION",
                           "DD_MELT_TEMP",
                           "DD_REFREEZE_TEMP",
                           "DEP_K",
                           "DEP_MAX",
                           "DEP_MAX_FLOW",
                           "DEP_N",
                           "DEP_SEEP_K",
                           "DEP_THRESHOLD",
                           "FOREST_COVERAGE",
                           "FOREST_PET_CORR",
                           "FOREST_SPARSENESS",
                           "GAMMA_SCALE",
                           "GAMMA_SCALE2",
                           "GAMMA_SHAPE",
                           "GAMMA_SHAPE2",
                           "GLAC_STORAGE_COEFF",
                           "GR4J_X4",
                           "HBV_GLACIER_AG",
                           "HBV_GLACIER_KMIN",
                           "HBV_MELT_ASP_CORR",
                           "HBV_MELT_FOR_CORR",
                           "HBV_MELT_GLACIER_CORR",
                           "HMETS_RUNOFF_COEFF",
                           "IMPERMEABLE_FRAC",
                           "LAKE_PET_CORR",
                           "LAKE_REL_COEFF",
                           "MAX_DEP_AREA_FRAC",
                           "MAX_MELT_FACTOR",
                           "MAX_SAT_AREA_FRAC",
                           "MELT_FACTOR",
                           "MIN_MELT_FACTOR",
                           "OW_PET_CORR",
                           "PARTITION_COEFF",
                           "PDMROF_B",
                           "PONDED_EXP",
                           "REFREEZE_EXP",
                           "REFREEZE_FACTOR",
                           "ROUGHNESS",
                           "SCS_CN",
                           "SCS_IA_FRACTION",
                           "SNOW_PATCH_LIMIT",
                           "STREAM_FRACTION",
                           "UBC_ICEPT_FACTOR"
                        ],
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Parameters"
            },
            "Units": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Units"
            },
            "pl": {
               "items": {
                  "$ref": "#/$defs/ParameterList"
               },
               "title": "Pl",
               "type": "array"
            }
         },
         "required": [
            "pl"
         ],
         "title": "LandUseParameterList",
         "type": "object"
      },
      "ParameterList": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "values": {
               "default": [],
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Values",
               "type": "array"
            }
         },
         "title": "ParameterList",
         "type": "object"
      },
      "RainSnowTransition": {
         "additionalProperties": false,
         "description": "Specify the range of temperatures over which there will be a rain/snow mix when partitioning total precipitation into rain/snow components.\n\n:RainSnowTransition [temp] [delta]\n\n# equivalent to (the preferred option)\n:GlobalParameter RAINSNOW_TEMP [rainsnow_temp]\n:GlobalParameter RAINSNOW_DELTA [rainsnow_delta]",
         "properties": {
            "temp": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Temp"
            },
            "delta": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Delta"
            }
         },
         "required": [
            "temp",
            "delta"
         ],
         "title": "RainSnowTransition",
         "type": "object"
      },
      "RoughnessZone": {
         "default": [],
         "description": "RoughnessZone record.",
         "maxItems": 2,
         "minItems": 2,
         "prefixItems": [
            {
               "type": "number"
            },
            {
               "type": "number"
            }
         ],
         "title": "RoughnessZone",
         "type": "array"
      },
      "RoughnessZones": {
         "default": [
            []
         ],
         "description": "RoughnessZones record.\n\n[x_zone, mannings_n] x number of roughness zones.",
         "items": {
            "$ref": "#/$defs/RoughnessZone"
         },
         "title": "RoughnessZones",
         "type": "array"
      },
      "SeasonalRelativeHeight": {
         "default": [
            {
               "name": "[DEFAULT]",
               "values": [
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0
               ]
            }
         ],
         "items": {
            "$ref": "#/$defs/_MonthlyRecord"
         },
         "title": "SeasonalRelativeHeight",
         "type": "array"
      },
      "SeasonalRelativeLAI": {
         "default": [
            {
               "name": "[DEFAULT]",
               "values": [
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0
               ]
            }
         ],
         "items": {
            "$ref": "#/$defs/_MonthlyRecord"
         },
         "title": "SeasonalRelativeLAI",
         "type": "array"
      },
      "SoilClass": {
         "additionalProperties": false,
         "description": "SoilClass.",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "mineral": {
               "anyOf": [
                  {
                     "maxItems": 3,
                     "minItems": 3,
                     "prefixItems": [
                        {
                           "type": "number"
                        },
                        {
                           "type": "number"
                        },
                        {
                           "type": "number"
                        }
                     ],
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Mineral"
            },
            "organic": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Organic"
            }
         },
         "required": [
            "name"
         ],
         "title": "SoilClass",
         "type": "object"
      },
      "SoilClasses": {
         "default": [],
         "description": "SoilClasses command.\n\nExample::\n\n    :SoilClasses\n      :Attributes, %SAND, %CLAY, %SILT, %ORGANIC\n      :Units, none, none, none, none\n      SAND, 1, 0, 0, 0\n      LOAM, 0.5, 0.1, 0.4, 0.4\n    :EndSoilClasses",
         "items": {
            "$ref": "#/$defs/SoilClass"
         },
         "title": "SoilClasses",
         "type": "array"
      },
      "SoilParameterList": {
         "additionalProperties": false,
         "properties": {
            "Parameters": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "AIR_ENTRY_PRESSURE",
                           "ALBEDO_DRY",
                           "ALBEDO_WET",
                           "BASEFLOW_COEFF",
                           "BASEFLOW_COEFF2",
                           "BASEFLOW_N",
                           "BASEFLOW_THRESH",
                           "BF_LOSS_FRACTION",
                           "BULK_DENSITY",
                           "B_EXP",
                           "CLAPP N,CLAPP M",
                           "CLAPP_B",
                           "CLAY_CON",
                           "EVAP_RES_FC",
                           "FIELD_CAPACITY",
                           "GR4J_X2",
                           "GR4J_X3",
                           "HBV_BETA",
                           "HEAT_CAPACITY",
                           "HYDRAUL_COND",
                           "INTERFLOW_COEF",
                           "MAX_BASEFLOW_RATE",
                           "MAX_CAP_RISE_RATE",
                           "MAX_INTERFLOW_RATE",
                           "MAX_PERC_RATE",
                           "ORG_CON",
                           "PERC_COEFF",
                           "PERC_N",
                           "PET_CORRECTION",
                           "POROSITY",
                           "SAC_PERC_ALPHA",
                           "SAC_PERC_EXPON",
                           "SAC_PERC_PFREE",
                           "SAND_CON",
                           "SAT_RES",
                           "SAT_WILT",
                           "SHUTTLEWORTH_B",
                           "SILT_CON",
                           "STONE_FRAC",
                           "STORAGE_THRESHOLD",
                           "THERMAL_COND",
                           "UBC_EVAL_SOIL_DEF",
                           "UBC_INFIL_SOIL_DEF",
                           "UNAVAIL_FRAC",
                           "VIC ALPHA",
                           "VIC_EVAP_GAMMA",
                           "VIC_ZMAX",
                           "VIZ_ZMIN",
                           "WETTING_FRONT_PSI",
                           "WILTING_PRESSURE"
                        ],
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Parameters"
            },
            "Units": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Units"
            },
            "pl": {
               "items": {
                  "$ref": "#/$defs/ParameterList"
               },
               "title": "Pl",
               "type": "array"
            }
         },
         "required": [
            "pl"
         ],
         "title": "SoilParameterList",
         "type": "object"
      },
      "SoilProfile": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "soil_classes": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "Soil Classes",
               "type": "array"
            },
            "thicknesses": {
               "default": [],
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Variable"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Thicknesses",
               "type": "array"
            }
         },
         "title": "SoilProfile",
         "type": "object"
      },
      "SoilProfiles": {
         "description": "SoilProfiles command.\n\nExample::\n\n    :SoilProfiles\n      # name, #horizons, hor1, th1, hor2, th2\n      LAKE, 0\n      GLACIER, 0\n      LOAM_SEQ, 2, LOAM, 0.5, SAND, 1.5\n      ALL_SAND, 2, SAND, 0.5, SAND, 1.5\n    :EndSoilProfiles",
         "items": {
            "$ref": "#/$defs/SoilProfile"
         },
         "title": "SoilProfiles",
         "type": "array"
      },
      "SurveyPoint": {
         "default": [],
         "description": "SurveyPoint record.",
         "maxItems": 2,
         "minItems": 2,
         "prefixItems": [
            {
               "type": "number"
            },
            {
               "type": "number"
            }
         ],
         "title": "SurveyPoint",
         "type": "array"
      },
      "SurveyPoints": {
         "default": [
            []
         ],
         "description": "SurveyPoints\n\n[x, bed_elevation] x number of survey points.",
         "items": {
            "$ref": "#/$defs/SurveyPoint"
         },
         "title": "SurveyPoints",
         "type": "array"
      },
      "TerrainClass": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "hillslope_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Hillslope Length"
            },
            "drainage_density": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Drainage Density"
            },
            "topmodel_lambda": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Topmodel Lambda"
            }
         },
         "required": [
            "name",
            "hillslope_length",
            "drainage_density"
         ],
         "title": "TerrainClass",
         "type": "object"
      },
      "TerrainClasses": {
         "items": {
            "$ref": "#/$defs/TerrainClass"
         },
         "title": "TerrainClasses",
         "type": "array"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      },
      "VegetationClass": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "max_ht": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.0,
               "title": "Max Ht"
            },
            "max_lai": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.0,
               "title": "Max Lai"
            },
            "max_leaf_cond": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0.0,
               "title": "Max Leaf Cond"
            }
         },
         "title": "VegetationClass",
         "type": "object"
      },
      "VegetationClasses": {
         "items": {
            "$ref": "#/$defs/VegetationClass"
         },
         "title": "VegetationClasses",
         "type": "array"
      },
      "VegetationParameterList": {
         "additionalProperties": false,
         "properties": {
            "Parameters": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "ALBEDO",
                           "ALBEDO_WET",
                           "CAP_LAI_RATIO",
                           "CHU_MATURITY",
                           "DRIP_PROPORTION",
                           "MAX_CAPACITY",
                           "MAX_HEIGHT",
                           "MAX_INTERCEPT_RATE",
                           "MAX_LAI",
                           "MAX_LEAF_COND",
                           "MAX_ROOT_LENGTH",
                           "MAX_SNOW_CAPACITY",
                           "MIN_RESISTIVITY",
                           "PET_VEG_CORR",
                           "PSI_CRITICAL",
                           "RAIN_ICEPT_FACT",
                           "RAIN_ICEPT_PCT",
                           "RELATIVE_HT",
                           "RELATIVE_LAI",
                           "ROOTRADIUS",
                           "ROOT_EXTINCT",
                           "SAI_HT_RATIO",
                           "SNOCAP_LAI_RATIO",
                           "SNOW_ICEPT_FACT",
                           "SNOW_ICEPT_PCT",
                           "STEMFLOW_FRAC",
                           "SVF_EXTINCTION",
                           "TFRAIN",
                           "TFSNOW",
                           "TRUNK_FRACTION",
                           "VEG_DENS",
                           "VEG_DIAM",
                           "VEG_MBETA",
                           "XYLEM_FRAC"
                        ],
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Parameters"
            },
            "Units": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Units"
            },
            "pl": {
               "items": {
                  "$ref": "#/$defs/ParameterList"
               },
               "title": "Pl",
               "type": "array"
            }
         },
         "required": [
            "pl"
         ],
         "title": "VegetationParameterList",
         "type": "object"
      },
      "_MonthlyRecord": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "[DEFAULT]",
               "title": "Name",
               "type": "string"
            },
            "values": {
               "default": [
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0,
                  1.0
               ],
               "items": {
                  "type": "number"
               },
               "title": "Values",
               "type": "array"
            }
         },
         "title": "_MonthlyRecord",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

  • validate_default: bool = True

  • validate_assignment: bool = True

Fields:
field channel_profile: Sequence[ChannelProfile] | None [Optional] (alias 'ChannelProfile')
field global_parameter: dict[str, Variable | ExpressionNode | float | None] | None = {} (alias 'GlobalParameter')
field land_use_classes: LandUseClasses | None [Optional] (alias 'LandUseClasses')
field land_use_parameter_list: LandUseParameterList | None [Optional] (alias 'LandUseParameterList')
field params: Any = None
field rain_snow_transition: RainSnowTransition | None [Optional] (alias 'RainSnowTransition')
field seasonal_relative_height: SeasonalRelativeHeight | None [Optional] (alias 'SeasonalRelativeHeight')
field seasonal_relative_lai: SeasonalRelativeLAI | None [Optional] (alias 'SeasonalRelativeLAI')
field soil_classes: SoilClasses | None [Optional] (alias 'SoilClasses')
field soil_parameter_list: SoilParameterList | None [Optional] (alias 'SoilParameterList')
field soil_profiles: SoilProfiles | None [Optional] (alias 'SoilProfiles')
field terrain_classes: TerrainClasses | None [Optional] (alias 'TerrainClasses')
field vegetation_classes: VegetationClasses | None [Optional] (alias 'VegetationClasses')
field vegetation_parameter_list: VegetationParameterList | None [Optional] (alias 'VegetationParameterList')
pydantic model ravenpy.config.rvs.RVT[source]

Bases: RV

Show JSON schema
{
   "title": "RVT",
   "type": "object",
   "properties": {
      "Gauge": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/Gauge"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Gauge"
      },
      "StationForcing": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/StationForcing"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Stationforcing"
      },
      "GriddedForcing": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/GriddedForcing"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Griddedforcing"
      },
      "ObservationData": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/ObservationData"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Observationdata"
      }
   },
   "$defs": {
      "Data": {
         "additionalProperties": false,
         "properties": {
            "data_type": {
               "default": "",
               "enum": [
                  "AIR_DENS",
                  "AIR_PRES",
                  "CLOUD_COVER",
                  "DAY_ANGLE",
                  "DAY_LENGTH",
                  "ET_RADIA",
                  "LW_INCOMING",
                  "LW_RADIA_NET",
                  "OW_PET",
                  "PET",
                  "PET_MONTH_AVE",
                  "POTENTIAL_MELT",
                  "PRECIP",
                  "PRECIP_5DAY",
                  "PRECIP_DAILY_AVE",
                  "RAINFALL",
                  "RECHARGE",
                  "REL_HUMIDITY",
                  "SHORTWAVE",
                  "SNOWFALL",
                  "SNOW_FRAC",
                  "SUBDAILY_CORR",
                  "SW_RADIA",
                  "SW_RADIA_NET",
                  "TEMP_AVE",
                  "TEMP_AVE_UNC",
                  "TEMP_DAILY_AVE",
                  "TEMP_DAILY_MAX",
                  "TEMP_DAILY_MIN",
                  "TEMP_MAX",
                  "TEMP_MAX_UNC",
                  "TEMP_MIN",
                  "TEMP_MIN_UNC",
                  "TEMP_MONTH_AVE",
                  "TEMP_MONTH_MAX",
                  "TEMP_MONTH_MIN",
                  "WIND_VEL"
               ],
               "title": "Data Type",
               "type": "string"
            },
            "units": {
               "default": "",
               "title": "Units",
               "type": "string"
            },
            "ReadFromNetCDF": {
               "$ref": "#/$defs/ReadFromNetCDF"
            }
         },
         "required": [
            "ReadFromNetCDF"
         ],
         "title": "Data",
         "type": "object"
      },
      "GWRecord": {
         "default": [
            1,
            0,
            1.0
         ],
         "description": "GridWeights record.",
         "maxItems": 3,
         "minItems": 3,
         "prefixItems": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            },
            {
               "type": "number"
            }
         ],
         "title": "GWRecord",
         "type": "array"
      },
      "Gauge": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "default": "default",
               "title": "Name",
               "type": "string"
            },
            "Latitude": {
               "title": "Latitude",
               "type": "number"
            },
            "Longitude": {
               "title": "Longitude",
               "type": "number"
            },
            "Elevation": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Elevation"
            },
            "RainCorrection": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rain correction",
               "title": "Raincorrection"
            },
            "SnowCorrection": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Variable"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Snow correction",
               "title": "Snowcorrection"
            },
            "MonthlyAveEvaporation": {
               "anyOf": [
                  {
                     "items": {},
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Monthlyaveevaporation"
            },
            "MonthlyAveTemperature": {
               "anyOf": [
                  {
                     "items": {},
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Monthlyavetemperature"
            },
            "MonthlyMinTemperature": {
               "anyOf": [
                  {
                     "items": {},
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Monthlymintemperature"
            },
            "MonthlyMaxTemperature": {
               "anyOf": [
                  {
                     "items": {},
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Monthlymaxtemperature"
            },
            "Data": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Data"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Data"
            }
         },
         "required": [
            "Latitude",
            "Longitude"
         ],
         "title": "Gauge",
         "type": "object"
      },
      "GridWeights": {
         "additionalProperties": false,
         "description": "GridWeights command.\n\nNotes\n-----\ncommand can be embedded in both a `GriddedForcing` or a `StationForcing`.\n\nThe default is to have a single cell that covers an entire single HRU, with a\nweight of 1.",
         "properties": {
            "NumberHRUs": {
               "default": 1,
               "title": "Numberhrus",
               "type": "integer"
            },
            "NumberGridCells": {
               "default": 1,
               "title": "Numbergridcells",
               "type": "integer"
            },
            "data": {
               "default": [
                  [
                     1,
                     0,
                     1.0
                  ]
               ],
               "items": {
                  "$ref": "#/$defs/GWRecord"
               },
               "title": "Data",
               "type": "array"
            }
         },
         "title": "GridWeights",
         "type": "object"
      },
      "GriddedForcing": {
         "additionalProperties": false,
         "description": "GriddedForcing command (RVT).",
         "properties": {
            "FileNameNC": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "format": "path",
                     "type": "string"
                  }
               ],
               "description": "NetCDF file name.",
               "title": "Filenamenc"
            },
            "VarNameNC": {
               "description": "NetCDF variable name.",
               "title": "Varnamenc",
               "type": "string"
            },
            "DimNamesNC": {
               "items": {
                  "type": "string"
               },
               "title": "Dimnamesnc",
               "type": "array"
            },
            "station_idx": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Station Idx"
            },
            "TimeShift": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Time stamp shift in days.",
               "title": "Timeshift"
            },
            "LinearTransform": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinearTransform"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "Deaccumulate": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Deaccumulate"
            },
            "LatitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Latitudevarnamenc"
            },
            "LongitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Longitudevarnamenc"
            },
            "ElevationVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Elevationvarnamenc"
            },
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "ForcingType": {
               "anyOf": [
                  {
                     "enum": [
                        "AIR_DENS",
                        "AIR_PRES",
                        "CLOUD_COVER",
                        "DAY_ANGLE",
                        "DAY_LENGTH",
                        "ET_RADIA",
                        "LW_INCOMING",
                        "LW_RADIA_NET",
                        "OW_PET",
                        "PET",
                        "PET_MONTH_AVE",
                        "POTENTIAL_MELT",
                        "PRECIP",
                        "PRECIP_5DAY",
                        "PRECIP_DAILY_AVE",
                        "RAINFALL",
                        "RECHARGE",
                        "REL_HUMIDITY",
                        "SHORTWAVE",
                        "SNOWFALL",
                        "SNOW_FRAC",
                        "SUBDAILY_CORR",
                        "SW_RADIA",
                        "SW_RADIA_NET",
                        "TEMP_AVE",
                        "TEMP_AVE_UNC",
                        "TEMP_DAILY_AVE",
                        "TEMP_DAILY_MAX",
                        "TEMP_DAILY_MIN",
                        "TEMP_MAX",
                        "TEMP_MAX_UNC",
                        "TEMP_MIN",
                        "TEMP_MIN_UNC",
                        "TEMP_MONTH_AVE",
                        "TEMP_MONTH_MAX",
                        "TEMP_MONTH_MIN",
                        "WIND_VEL"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Forcingtype"
            },
            "GridWeights": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GridWeights"
                  },
                  {
                     "$ref": "#/$defs/RedirectToFile"
                  }
               ],
               "default": {
                  "NumberHRUs": 1,
                  "NumberGridCells": 1,
                  "data": [
                     [
                        1,
                        0,
                        1.0
                     ]
                  ]
               },
               "title": "Gridweights"
            }
         },
         "required": [
            "FileNameNC",
            "VarNameNC",
            "DimNamesNC"
         ],
         "title": "GriddedForcing",
         "type": "object"
      },
      "LinearTransform": {
         "additionalProperties": false,
         "description": ":LinearTransform 1.0 -273.15",
         "properties": {
            "scale": {
               "default": 1,
               "title": "Scale",
               "type": "number"
            },
            "offset": {
               "default": 0,
               "title": "Offset",
               "type": "number"
            }
         },
         "title": "LinearTransform",
         "type": "object"
      },
      "ObservationData": {
         "additionalProperties": false,
         "properties": {
            "data_type": {
               "const": "HYDROGRAPH",
               "default": "HYDROGRAPH",
               "title": "Data Type",
               "type": "string"
            },
            "units": {
               "default": "",
               "title": "Units",
               "type": "string"
            },
            "ReadFromNetCDF": {
               "$ref": "#/$defs/ReadFromNetCDF"
            },
            "uid": {
               "default": "1",
               "title": "Uid",
               "type": "string"
            }
         },
         "required": [
            "ReadFromNetCDF"
         ],
         "title": "ObservationData",
         "type": "object"
      },
      "ReadFromNetCDF": {
         "additionalProperties": false,
         "properties": {
            "FileNameNC": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "format": "path",
                     "type": "string"
                  }
               ],
               "description": "NetCDF file name.",
               "title": "Filenamenc"
            },
            "VarNameNC": {
               "description": "NetCDF variable name.",
               "title": "Varnamenc",
               "type": "string"
            },
            "DimNamesNC": {
               "items": {
                  "type": "string"
               },
               "title": "Dimnamesnc",
               "type": "array"
            },
            "StationIdx": {
               "default": 1,
               "description": "NetCDF index along station dimension. Starts at 1.",
               "title": "Stationidx",
               "type": "integer"
            },
            "TimeShift": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Time stamp shift in days.",
               "title": "Timeshift"
            },
            "LinearTransform": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinearTransform"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "Deaccumulate": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Deaccumulate"
            },
            "LatitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Latitudevarnamenc"
            },
            "LongitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Longitudevarnamenc"
            },
            "ElevationVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Elevationvarnamenc"
            }
         },
         "required": [
            "FileNameNC",
            "VarNameNC",
            "DimNamesNC"
         ],
         "title": "ReadFromNetCDF",
         "type": "object"
      },
      "RedirectToFile": {
         "description": "RedirectToFile command (RVT).\n\nNotes\n-----\nFor the moment, this command can only be used in the context of a `GriddedForcingCommand`\nor a `StationForcingCommand`, as a `grid_weights` field replacement when inlining is not\ndesired.",
         "format": "file-path",
         "title": "RedirectToFile",
         "type": "string"
      },
      "StationForcing": {
         "additionalProperties": false,
         "description": "StationForcing command (RVT).",
         "properties": {
            "FileNameNC": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "format": "path",
                     "type": "string"
                  }
               ],
               "description": "NetCDF file name.",
               "title": "Filenamenc"
            },
            "VarNameNC": {
               "description": "NetCDF variable name.",
               "title": "Varnamenc",
               "type": "string"
            },
            "DimNamesNC": {
               "items": {
                  "type": "string"
               },
               "title": "Dimnamesnc",
               "type": "array"
            },
            "station_idx": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Station Idx"
            },
            "TimeShift": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Time stamp shift in days.",
               "title": "Timeshift"
            },
            "LinearTransform": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinearTransform"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "Deaccumulate": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Deaccumulate"
            },
            "LatitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Latitudevarnamenc"
            },
            "LongitudeVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Longitudevarnamenc"
            },
            "ElevationVarNameNC": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Elevationvarnamenc"
            },
            "name": {
               "default": "",
               "title": "Name",
               "type": "string"
            },
            "ForcingType": {
               "anyOf": [
                  {
                     "enum": [
                        "AIR_DENS",
                        "AIR_PRES",
                        "CLOUD_COVER",
                        "DAY_ANGLE",
                        "DAY_LENGTH",
                        "ET_RADIA",
                        "LW_INCOMING",
                        "LW_RADIA_NET",
                        "OW_PET",
                        "PET",
                        "PET_MONTH_AVE",
                        "POTENTIAL_MELT",
                        "PRECIP",
                        "PRECIP_5DAY",
                        "PRECIP_DAILY_AVE",
                        "RAINFALL",
                        "RECHARGE",
                        "REL_HUMIDITY",
                        "SHORTWAVE",
                        "SNOWFALL",
                        "SNOW_FRAC",
                        "SUBDAILY_CORR",
                        "SW_RADIA",
                        "SW_RADIA_NET",
                        "TEMP_AVE",
                        "TEMP_AVE_UNC",
                        "TEMP_DAILY_AVE",
                        "TEMP_DAILY_MAX",
                        "TEMP_DAILY_MIN",
                        "TEMP_MAX",
                        "TEMP_MAX_UNC",
                        "TEMP_MIN",
                        "TEMP_MIN_UNC",
                        "TEMP_MONTH_AVE",
                        "TEMP_MONTH_MAX",
                        "TEMP_MONTH_MIN",
                        "WIND_VEL"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Forcingtype"
            },
            "GridWeights": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GridWeights"
                  },
                  {
                     "$ref": "#/$defs/RedirectToFile"
                  }
               ],
               "default": {
                  "NumberHRUs": 1,
                  "NumberGridCells": 1,
                  "data": [
                     [
                        1,
                        0,
                        1.0
                     ]
                  ]
               },
               "title": "Gridweights"
            }
         },
         "required": [
            "FileNameNC",
            "VarNameNC",
            "DimNamesNC"
         ],
         "title": "StationForcing",
         "type": "object"
      },
      "Variable": {
         "description": ".. autoattribute:: name",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "Variable",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • arbitrary_types_allowed: bool = True

  • populate_by_name: bool = True

  • validate_by_alias: bool = True

  • validate_by_name: bool = True

  • validate_default: bool = True

  • validate_assignment: bool = True

Fields:
field gauge: Sequence[Gauge] | None [Optional] (alias 'Gauge')
field gridded_forcing: Sequence[GriddedForcing] | None [Optional] (alias 'GriddedForcing')
field observation_data: Sequence[ObservationData] | None [Optional] (alias 'ObservationData')
field station_forcing: Sequence[StationForcing] | None [Optional] (alias 'StationForcing')
ravenpy.config.rvs.is_symbolic(params: dict | Any) bool[source]

Return True if parameters include a symbolic variable.

ravenpy.config.utils module

ravenpy.config.utils.filter_for(kls, attrs, **kwds)[source]

Return attributes that are fields of dataclass.

Notes

If attrs includes an attribute name and its Raven alias, e.g. linear_transform and LinearTransform, the latter will have priority.

ravenpy.config.utils.get_annotations(a)[source]

Return all annotations inside [] or Union[…].

ravenpy.config.utils.get_average_annual_runoff(nc_file_path: str | PathLike[str], area_in_m2: float, time_dim: str = 'time', obs_var: str = 'qobs', na_value: int | float = -1.2345)[source]

Compute the average annual runoff from observed data.

ravenpy.config.utils.infer_dim_names(da: DataArray) tuple[source]

Return names of dimensions in dataset in order expected by Raven.

If 3D, return X, Y, T axes names if they can be inferred from CF conventions. If 2D, return STATION, T

ravenpy.config.utils.nc_specs(fn: str | PathLike[str], data_type: str, station_idx: int | None = None, alt_names: str | Sequence[str] | None = None, mon_ave: bool = False, engine: str = 'h5netcdf')[source]

Extract specifications from netCDF file.

Parameters:
  • fn (str, Path) – NetCDF file path or DAP link.

  • data_type (str) – Raven data type.

  • station_idx (int, optional) – Index along station dimension. Starts at 1.

  • alt_names (str or list of str, optional) – Alternative variable names for data type if not the CF standard default.

  • mon_ave (bool) – If True, compute the monthly average.

  • engine (str) – The engine used to open the dataset. Default is ‘h5netcdf’.

Return type:

dict

Notes

Attributes: var_name_nc, dim_names_nc, units, linear_transform, latitude_var_name_nc, longitude_var_name_nc, elevation_var_name_nc latitude, longitude, elevation, name