API Reference

swaty.classes.pycase.CaseClassEncoder : public JSONEncoder

The JSON encoder for the pycase class

Args:
    JSONEncoder (_type_): The json encoder for hru class

Public Functions

default(self, obj)
swaty.classes.hru.HruClassEncoder : public JSONEncoder

The JSON encoder for the hru class

Args:
    JSONEncoder (_type_): The json encoder for hru class

Public Functions

default(self, obj)
swaty.classes.swatpara.ParaClassEncoder : public JSONEncoder

The general parameter JSON encoder

Args:
    JSONEncoder (_type_): _description_

Public Functions

default(self, obj)
swaty.classes.hru.pyhru : public object

The HRU class

Args:
    object (_type_): _description_

Returns:
    _type_: _description_

Public Functions

__init__(self, aConfig_in=None)
setup_parameter_by_dict(self, aPara_in=None)

Set up the hru class object parameter

Args:
    aPara_in (dict, optional): The dictionary that stores parameters. Defaults to None.

setup_parameter_by_list(self, aPara_in=None)

Another function to set up the hru class object parameter

Args:
    aPara_in (list, optional): The list that stores parameters. Defaults to None.

tojson(self)

Convert a hru object to a JSON object

Returns:
    _type_: _description_

Public Members

nParameter_hru

Public Static Attributes

lIndex_hru = -1
iFlag_hru = 0
nSoil_layer = 1
nParameter_hru = 0
aParameter_hru = None
aParameter_hru_name = None
aSoil = None
sSoil_type = ''
swaty.classes.soil.pysoil : public object

The soil class

Args:
    object (_type_): _description_

Returns:
    _type_: _description_

Public Functions

__init__(self, aConfig_in=None)
setup_parameter_by_dict(self, aPara_in=None)

Set up the soil class object parameter

Args:
    aPara_in (dict, optional): The dictionary that stores parameters. Defaults to None.

setup_parameter_by_list(self, aPara_in=None)

Another function to set up the soil class object parameter

Args:
    aPara_in (list, optional): The list that stores parameters. Defaults to None.

tojson(self)

Convert the object to a JSON object

Returns:
    _type_: _description_

Public Members

nParameter_soil

Public Static Attributes

lIndex_hru = -1
lIndex_soil_layer = -1
iFlag_soil = 0
sSoil_type = ''
nParameter_soil = 0
aParameter_soil = None
aParameter_soil_name = None
swaty.classes.subbasin.pysubbasin : public object

The subbasin class

Args:
    object (_type_): _description_

Returns:
    _type_: _description_

Public Functions

__init__(self, aConfig_in=None)
setup_parameter_by_dict(self, aPara_in=None)

Set up the subbasin class object parameter

Args:
    aPara_in (dict, optional): The dictionary that stores parameters. Defaults to None.

setup_parameter_by_list(self, aPara_in=None)

Another function to set up the subbasin class object parameter

Args:
    aPara_in (list, optional): The list that stores parameters. Defaults to None.

tojson(self)

Convert a subbasin object to a JSON object

Returns:
    _type_: _description_

Public Members

nParameter_subbasin

Public Static Attributes

lIndex_subbasin = -1
iFlag_subbasin = 0
nSoil_layer = 1
nParameter_subbasin = 0
aParameter_subbasin = None
aParameter_subbasin_name = None
swaty.classes.watershed.pywatershed : public object

The watershed class

Args:
    object (_type_): _description_

Returns:
    _type_: _description_

Public Functions

__init__(self, aConfig_in=None)
setup_parameter_by_dict(self, aPara_in)

Set up the watershed class object parameter

Args:
    aPara_in (dict, optional): The dictionary that stores parameters. Defaults to None.

tojson(self)

Convert a watershed object to a JSON object

Returns:
    _type_: _description_

Public Members

nParameter_watershed

Public Static Attributes

lIndex_watershed = -1
iFlag_watershed = 0
nSoil_layer = 1
nParameter_watershed = 0
aParameter_watershed = None
aParameter_watershed_name = None
swaty.classes.soil.SoilClassEncoder : public JSONEncoder

The JSON encoder for the soil class

Args:
    JSONEncoder (_type_): _description_

Public Functions

default(self, obj)
swaty.classes.subbasin.SubbasinClassEncoder : public JSONEncoder

The subbasin class json encoder

Args:
    JSONEncoder (_type_): _description_

Public Functions

default(self, obj)
swaty.classes.pycase.swatcase : public object

The swat case class

Args:
    object (_type_): _description_

Returns:
    _type_: _description_

Public Functions

__init__(self, aConfig_in, iFlag_read_discretization_in=None, iFlag_standalone_in=None, sDate_in=None, sWorkspace_output_in=None, aParameter_in=None)

_summary_

:param aConfig_in: _description_
:type aConfig_in: _type_
:param iFlag_read_discretization_in: _description_, defaults to None
:type iFlag_read_discretization_in: _type_, optional
:param iFlag_standalone_in: _description_, defaults to None
:type iFlag_standalone_in: _type_, optional
:param sDate_in: _description_, defaults to None
:type sDate_in: _type_, optional
:param sWorkspace_output_in: _description_, defaults to None
:type sWorkspace_output_in: _type_, optional
:param aParameter_in: _description_, defaults to None
:type aParameter_in: _type_, optional

copy_TxtInOut_files(self)

Copy the raw SWAT input files

prepare_pest_template_files(self)

Prepare all the PEST calibration template files

setup(self)

Set up a SWAT case

convert_pest_parameter_to_model_input(self, sFilename_pest_parameter_watershed_in=None, sFilename_watershed_parameter_default_in=None, sFilename_watershed_parameter_bounds_in=None, sFilename_pest_parameter_subbasin_in=None, sFilename_subbasin_parameter_default_in=None, sFilename_subbasin_parameter_bounds_in=None, sFilename_pest_parameter_hru_in=None, sFilename_hru_parameter_default_in=None, sFilename_hru_parameter_bounds_in=None, sFilename_pest_parameter_soil_in=None, sFilename_soil_parameter_bounds_in=None, sWorkspace_soil_parameter_default_in=None)

Convert the pest parameters into SWAT input file

Args:
    sFilename_pest_parameter_watershed_in (str, optional): _description_. Defaults to None.
    sFilename_watershed_parameter_default_in (str, optional): _description_. Defaults to None.
    sFilename_watershed_parameter_bounds_in (str, optional): _description_. Defaults to None.
    sFilename_pest_parameter_subbasin_in (str, optional): _description_. Defaults to None.
    sFilename_subbasin_parameter_default_in (str, optional): _description_. Defaults to None.
    sFilename_subbasin_parameter_bounds_in (str, optional): _description_. Defaults to None.
    sFilename_pest_parameter_hru_in (str, optional): _description_. Defaults to None.
    sFilename_hru_parameter_default_in (str, optional): _description_. Defaults to None.
    sFilename_hru_parameter_bounds_in (str, optional): _description_. Defaults to None.
    sFilename_pest_parameter_soil_in (str, optional): _description_. Defaults to None.
    sFilename_soil_parameter_bounds_in (str, optional): _description_. Defaults to None.
    sWorkspace_soil_parameter_default_in (str, optional): _description_. Defaults to None.

convert_pest_parameter_to_actual_parameter(self, sFilename_pest_parameter_watershed_in=None, sFilename_watershed_parameter_default_in=None, sFilename_watershed_parameter_bounds_in=None, sFilename_pest_parameter_subbasin_in=None, sFilename_subbasin_parameter_default_in=None, sFilename_subbasin_parameter_bounds_in=None, sFilename_pest_parameter_hru_in=None, sFilename_hru_parameter_default_in=None, sFilename_hru_parameter_bounds_in=None, sFilename_pest_parameter_soil_in=None, sFilename_soil_parameter_bounds_in=None, sWorkspace_soil_parameter_default_in=None)

Convert PEST parameters to actual SWAT parameters

Args:
    sFilename_pest_parameter_watershed_in (_type_, optional): _description_. Defaults to None.
    sFilename_watershed_parameter_default_in (_type_, optional): _description_. Defaults to None.
    sFilename_watershed_parameter_bounds_in (_type_, optional): _description_. Defaults to None.
    sFilename_pest_parameter_subbasin_in (_type_, optional): _description_. Defaults to None.
    sFilename_subbasin_parameter_default_in (_type_, optional): _description_. Defaults to None.
    sFilename_subbasin_parameter_bounds_in (_type_, optional): _description_. Defaults to None.
    sFilename_pest_parameter_hru_in (_type_, optional): _description_. Defaults to None.
    sFilename_hru_parameter_default_in (_type_, optional): _description_. Defaults to None.
    sFilename_hru_parameter_bounds_in (_type_, optional): _description_. Defaults to None.
    sFilename_pest_parameter_soil_in (_type_, optional): _description_. Defaults to None.
    sFilename_soil_parameter_bounds_in (_type_, optional): _description_. Defaults to None.
    sWorkspace_soil_parameter_default_in (_type_, optional): _description_. Defaults to None.

convert_pest_watershed_parameter_to_actual_parameter(self, sFilename_pest_parameter_watershed_in=None, sFilename_watershed_parameter_default_in=None, sFilename_watershed_parameter_bounds_in=None)

Convert PEST watershed parameter to actual parameter

:param sFilename_pest_parameter_watershed_in: _description_, defaults to None
:type sFilename_pest_parameter_watershed_in: _type_, optional
:param sFilename_watershed_parameter_bounds_in: _description_, defaults to None
:type sFilename_watershed_parameter_bounds_in: _type_, optional

convert_pest_subbasin_parameter_to_actual_parameter(self, sFilename_pest_parameter_subbasin_in=None, sFilename_subbasin_parameter_default_in=None, sFilename_subbasin_parameter_bounds_in=None)

Convert PEST subbasin parameter to actual parameter

Args:
    sFilename_pest_parameter_subbasin_in (_type_, optional): _description_. Defaults to None.
    sFilename_subbasin_parameter_default_in (_type_, optional): _description_. Defaults to None.
    sFilename_subbasin_parameter_bounds_in (_type_, optional): _description_. Defaults to None.

convert_pest_hru_parameter_to_actual_parameter(self, sFilename_pest_parameter_hru_in=None, sFilename_hru_parameter_default_in=None, sFilename_hru_parameter_bounds_in=None)

Convert PEST hru parameter to actual parameter

Args:
    sFilename_pest_parameter_hru_in (_type_, optional): _description_. Defaults to None.
    sFilename_hru_parameter_default_in (_type_, optional): _description_. Defaults to None.
    sFilename_hru_parameter_bounds_in (_type_, optional): _description_. Defaults to None.

convert_pest_soil_parameter_to_actual_parameter(self, sFilename_pest_parameter_soil_in=None, sFilename_soil_parameter_bounds_in=None, sWorkspace_soil_parameter_default_in=None)

Convert PEST soil parameter to actual parameter

Args:
    sFilename_pest_parameter_soil_in (_type_, optional): _description_. Defaults to None.
    sFilename_soil_parameter_bounds_in (_type_, optional): _description_. Defaults to None.
    sWorkspace_soil_parameter_default_in (_type_, optional): _description_. Defaults to None.

run(self)

Run the SWAT simulation using a subprocess

analyze(self, sFilename_output_in=None)

Analyze the SWAT simulation

Args:
    sFilename_output_in (_type_, optional): _description_. Defaults to None.

evaluate(self)

Evaluate the SWAT model simualtion

swaty_generate_model_structure_files(self)

Generate the SWAT model spatial discretization configuration

generate_parameter_bounds(self, sFilename_watershed_parameter_bounds_in=None, sFilename_subbasin_parameter_bounds_in=None, sFilename_hru_parameter_bounds_in=None, sFilename_soil_parameter_bounds_in=None)

Generate the upper and lower bound of SWAT parameters

Args:
    sFilename_watershed_parameter_bounds_in (str, optional): _description_. Defaults to None.
    sFilename_subbasin_parameter_bounds_in (str, optional): _description_. Defaults to None.
    sFilename_hru_parameter_bounds_in (str, optional): _description_. Defaults to None.
    sFilename_soil_parameter_bounds_in (str, optional): _description_. Defaults to None.

extract_default_parameter_value(self, aParameter_in, sFilename_watershed_in=None, sFilename_subbasin_in=None, sFilename_hru_in=None, sWorkspace_soil_in=None)

Extract the default SWAT model parameters

Args:
    aParameter_in (_type_): _description_
    sFilename_watershed_in (str, optional): _description_. Defaults to None.
    sFilename_subbasin_in (str, optional): _description_. Defaults to None.
    sFilename_hru_in (str, optional): _description_. Defaults to None.
    sWorkspace_soil_in (str, optional): _description_. Defaults to None.

extract_default_parameter_value_watershed(self, aParameter_watershed, sFilename_watershed_in=None)

Extract the default watershed parameter

Args:
    aParameter_watershed (_type_): _description_
    sFilename_watershed_in (str, optional): _description_. Defaults to None.

extract_default_parameter_value_subbasin(self, aParameter_subbasin, sFilename_subbasin_in=None)

Extract the default subbaisn parameter

Args:
    aParameter_subbasin (_type_): _description_
    sFilename_subbasin_in (_type_, optional): _description_. Defaults to None.

extract_default_parameter_value_hru(self, aParameter_hru, sFilename_hru_in=None)

Extract the default hru parameters

Args:
    aParameter_hru (_type_): _description_
    sFilename_hru_in (str, optional): _description_. Defaults to None.

extract_default_parameter_value_soil(self, aParameter_soil, sWorkspace_soil_in=None)

Extract the default soil parameter

Args:
    aParameter_soil (_type_): _description_
    sWorkspace_soil_in (str, optional): _description_. Defaults to None.

swaty_prepare_watershed_configuration(self)

Prepare the watershed configuration

swaty_retrieve_soil_info(self)

Retrieve the soil information from the existing files

swaty_prepare_watershed_parameter_file(self)

prepare the pest control file

swaty_prepare_watershed_template_file(self, sFilename_watershed_template_in=None)

#prepare the pest control file

swaty_prepare_subbasin_parameter_file(self)

#prepare the pest control file

swaty_prepare_subbasin_template_file(self, sFilename_subbasin_template_in=None)

#prepare the pest control file

swaty_prepare_hru_parameter_file(self)

#prepare the pest control file

swaty_prepare_hru_template_file(self, sFilename_hru_template_in=None)

Prepare the hru template file for PEST

Args:
    sFilename_hru_template_in (str, optional): _description_. Defaults to None.

swaty_prepare_soil_parameter_file(self)

Prepare the soil parameter file

swaty_prepare_soil_template_file(self, sFilename_soil_template_in=None)

Prepare the soil template file for PEST

Args:
    sFilename_soil_template_in (str, optional): _description_. Defaults to None.

swaty_create_pest_instruction_file(self, sFilename_instruction)

Prepare pest instruction file

Args:
    sFilename_instruction (str): The pest instruction filename

swaty_write_watershed_input_file(self)

write the input files from the new parameter generated by PEST to each hru file

swaty_write_subbasin_input_file(self)

write the input files from the new parameter generated by PEST to each hru file

swaty_write_hru_input_file(self)

write the input files from the new parameter generated by PEST to each hru file

swaty_copy_executable_file(self)

Prepare executable file to the workspace

swaty_prepare_simulation_bash_file(self)

Generate a swat simulation bash file.

Returns:
    _type_: _description_

swaty_prepare_simulation_job_file(self)

Generate a HPC job file for the SWAT simulation

Returns:
    _type_: _description_

swaty_prepare_observation_discharge_file(self)

Pre-process the observed stream discharge

swaty_extract_stream_discharge(self, sFilename_output_in=None)

Extract discharge from swat model simulation

Args:
    sFilename_output_in (str, optional): the destination filename. Defaults to None.

swaty_tsplot_stream_discharge(self)

Plot the time series swat simulated stream discharge

export_config_to_json(self, sFilename_output)

Export the configuration to a JSON object

Returns:
    _type_: _description_

tojson(self)

Convert a swat case object to a JSON object

Returns:
    _type_: _description_

Public Members

iFlag_run
iFlag_standalone
iFlag_read_discretization
iFlag_initialization
iFlag_calibration
iFlag_simulation
iFlag_watershed
iFlag_subbasin
iFlag_hru
iFlag_soil
iFlag_mode
iFlag_replace_parameter
iYear_start
iYear_end
iMonth_start
iMonth_end
iDay_start
iDay_end
nstress
sRegion
sModel
sPython
sFilename_model_configuration
sWorkspace_input
sWorkspace_output
sWorkspace_bin
sDate
iCase_index
sCase
sJob
sWorkspace_simulation_copy
sFilename_LandUseSoilsReport
sFilename_HRULandUseSoilsReport
sFilename_parameter_bounds
sFilename_hru_combination
sFilename_watershed_configuration
sFilename_hru_info
sFilename_soil_combination
sFilename_soil_info
nsubbasin
nsegment
nhru_combination
nhru
nsoil_combination
sFilename_observation_discharge
sTime_step_calibration
sFilename_swat
nstress_month
nParameter_watershed
nParameter_subbasin
nParameter_hru
nParameter_soil
sFilename_swat_current

Public Static Attributes

iCase_index = 0
iSiteID = 0
iFlag_run = 0
iFlag_standalone = 1
iFlag_simulation = 1
iFlag_initialization = 1
iFlag_calibration = 0
iFlag_watershed = 0
iFlag_subbasin = 0
iFlag_hru = 0
iFlag_soil = 0
iFlag_mode = 0
iYear_start = 0
iYear_end = 0
iMonth_start = 0
iMonth_end = 0
iDay_start = 0
iDay_end = 0
nstress = 0
nsegment = 0
nhru = 0
nhru_combination = 0
nsoil_combination = 0
aConfig_in = None
aParameter_watershed_name = None
aParameter_subbasin_name = None
aParameter_hru_name = None
aParameter_soil_name = None
pWatershed = None
aSubbasin = None
aHru = None
aHru_combination = None
aSoil_combinaiton = None
nParameter = 0
nParameter_watershed = 0
nParameter_subbasin = 0
nParameter_hru = 0
nParameter_soil = 0
sFilename_swat_current = ''
sFilename_model_configuration = ''
sWorkspace_input = ''
sWorkspace_output = ''
sTime_step_calibration = ''
sFilename_observation_discharge = ''
sFilename_LandUseSoilsReport = ''
sFilename_HRULandUseSoilsReport = ''
sRegion = ''
sModel = ''
sCase = ''
sDate = ''
sSiteID = ''
sDate_start = ''
sDate_end = ''
swaty.classes.swatpara.swatpara : public object

The parameter class

Args:
    object (_type_): _description_

Returns:
    _type_: _description_

Public Functions

__init__(self, aConfig_in)

Initialize a parameter object through a dictionary

Args:
    aConfig_in (dict): The dictionary that stores parameters

tojson(self)

Convert a parameter object to a JSON object

Returns:
    _type_: _description_

Public Members

iParameter_type
iFlag_pseudo
lIndex_subbasin
lIndex_hru
lIndex_soil_layer
sName
dValue_init
dValue_current
dValue_lower
dValue_upper

Public Static Attributes

sName = ''
iParameter_type = 1
lIndex_subbasin = -1
lIndex_hru = -1
lIndex_soil_layer = -1
iFlag_pseudo = 0
dValue_init = 0.0
dValue_current = 0.5
dValue_lower = -1
dValue_upper = 1
swaty.classes.watershed.WatershedClassEncoder : public JSONEncoder

The watershed class json encoder

Args:
    JSONEncoder (_type_): _description_

Public Functions

default(self, obj)
module define_global_variables
module swaty
module auxiliary
module line_count

Functions

line_count(sFilename_in)

Count the line number of a text-based file

Args:
    sFilename_in (string): text filename

Returns:
    int: line number

module text_reader_string

Functions

text_reader_string(sFilename_in, ncolumn_in=None, nrow_in=None, cDelimiter_in=None, iFlag_remove_quota=None, iSkipline_in=None)

Read a text based file
sFilename_in,
ncolumn_in = None, 
nrow_in = None, 
cDelimiter_in = None, 
iSkipline_in =  None

module classes
module hru
module pycase

Variables

pDate = datetime.datetime.today()
sDate_default = "{:04d}".format(pDate.year) + "{:02d}".format(pDate.month) + "{:02d}".format(pDate.day)
module soil
module subbasin
module swatpara
module watershed
module swaty_create_template_configuration_file

Functions

swaty_create_template_configuration_file(sFilename_json, sPath_bin, sWorkspace_input, sWorkspace_output, iFlag_standalone_in=None, iCase_index_in=None, iFlag_read_discretization_in=None, sDate_in=None, aParameter_in=None)

Generat a template configuration file for users

Args:
    sFilename_json (string): The output json file
    sPath_bin (string): The swat binary file path
    sWorkspace_input (string): The input workspace
    sWorkspace_output (string): The output workspace
    iCase_index_in (int, optional): The case study ID. Defaults to None.
    aParameter_in (dict, optional): The dictionary that stores all the parameters. Defaults to None.

Returns:
    int: None

module swaty_read_model_configuration_file

Functions

swaty_read_model_configuration_file(sFilename_configuration_in, iFlag_read_discretization_in=None, iFlag_standalone_in=None, iCase_index_in=None, sDate_in=None, iYear_start_in=None, iMonth_start_in=None, iDay_start_in=None, iYear_end_in=None, iMonth_end_in=None, iDay_end_in=None, sWorkspace_input_in=None, sWorkspace_output_in=None, aParameter_in=None)

_summary_

Args:
    sFilename_configuration_in (str): Filename of the configuration json file
    iFlag_read_discretization_in (int, optional): _description_. Defaults to None.
    iFlag_standalone_in (int, optional): _description_. Defaults to None.
    iCase_index_in (int, optional): _description_. Defaults to None.
    sDate_in (str, optional): _description_. Defaults to None.
    iYear_start_in (int, optional): _description_. Defaults to None.
    iMonth_start_in (int, optional): _description_. Defaults to None.
    iDay_start_in (int, optional): _description_. Defaults to None.
    iYear_end_in (int, optional): _description_. Defaults to None.
    iMonth_end_in (int, optional): _description_. Defaults to None.
    iDay_end_in (int, optional): _description_. Defaults to None.
    sWorkspace_input_in (str, optional): _description_. Defaults to None.
    sWorkspace_output_in (str, optional): _description_. Defaults to None.
    aParameter_in (dict, optional): _description_. Defaults to None.

Returns:
    _type_: _description_

Variables

pDate = datetime.datetime.today()
sDate_default = "{:04d}".format(pDate.year) + "{:02d}".format(pDate.month) + "{:02d}".format(pDate.day)
module tools
file __init__.py
file __init__.py
file __init__.py
file __init__.py
file line_count.py
file text_reader_string.py
file hru.py
file pycase.py
file soil.py
file subbasin.py
file swatpara.py
file watershed.py
file swaty_create_template_configuration_file.py
file swaty_read_model_configuration_file.py
dir /home/docs/checkouts/readthedocs.org/user_builds/swaty/checkouts/latest/swaty/auxiliary
dir /home/docs/checkouts/readthedocs.org/user_builds/swaty/checkouts/latest/swaty/classes
dir /home/docs/checkouts/readthedocs.org/user_builds/swaty/checkouts/latest/swaty
dir /home/docs/checkouts/readthedocs.org/user_builds/swaty/checkouts/latest/swaty/tools