watertap.tools.oli_api.util package

Submodules

watertap.tools.oli_api.util.fixed_keys_dict module

class watertap.tools.oli_api.util.fixed_keys_dict.FixedKeysDict(d)[source]

Bases: UserDict

__init__(d)[source]

watertap.tools.oli_api.util.state_block_helper_functions module

watertap.tools.oli_api.util.state_block_helper_functions.convert_to_state_block_units(state_variable, source: dict, key)[source]

Converts state variable values from input source to state block units.

Parameters:
  • state_variable – state block attribute (i.e. temperature, pressure, concentration) to convert

  • source – input source with initial value

  • key – lookup key in input source for specified state variable

watertap.tools.oli_api.util.state_block_helper_functions.create_property_model_input(components, property_model_type: str = '')[source]

Builds property package inputs.

Parameters:
  • components – dictionary containing solute concentrations in mg/L

  • property_model_type – string specifying property model to use

Return property_model_inputs:

dict containing inputs needed to build property model

watertap.tools.oli_api.util.state_block_helper_functions.create_state_block(source_water)[source]

Creates a state block using the Multi Component Aqueous Solution (MCAS) property model.

Parameters:

source_water – dictionary containing state variables and units

Return m:

ConcreteModel containing MCAS state block

watertap.tools.oli_api.util.state_block_helper_functions.extract_state_vars(state_block, conc_var, units)[source]

Extracts state variables from state block into a dictionary.

Parameters:
  • state_block – input source to extract values from

  • conc_var – state block attribute containing concentrations

  • units – dict containing PYOMO unit objects

Return state_vars:

dictionary containing state variables

watertap.tools.oli_api.util.watertap_to_oli_helper_functions module

This file contains methods to convert WaterTAP naming conventions to OLI and generate molecular weight and charge dictionaries from molecular formulae.

It calculates molecular weights using the periodic_table.csv from: https://gist.github.com/GoodmanSciences/c2dd862cd38f21b0ad36b8f96b4bf1ee.

class watertap.tools.oli_api.util.watertap_to_oli_helper_functions.OLIName(oli_name, watertap_name, charge, charge_group, molar_mass)

Bases: tuple

charge

Alias for field number 2

charge_group

Alias for field number 3

molar_mass

Alias for field number 4

oli_name

Alias for field number 0

watertap_name

Alias for field number 1

watertap.tools.oli_api.util.watertap_to_oli_helper_functions.get_oli_name(watertap_name: str) str[source]

Converts an WaterTAP formatted name, i.e., “Na_+” into an OLI formatted name, i.e., “NAION”.

Parameters:

watertap_name – string name of a solute in WaterTAP format

Return oli_name:

string name of a solute in OLI format

watertap.tools.oli_api.util.watertap_to_oli_helper_functions.get_oli_names(source: dict)[source]

Updates source dictionary with data to populate MCAS property model.

Parameters:

source – dictionary containing WaterTAP names as keys

Return source:

dictionary with OLIName named tuples as keys

watertap.tools.oli_api.util.watertap_to_oli_helper_functions.oli_reverse_lookup(oli_name: str, names_db) OLIName[source]

Looks up WaterTAP formatted name for solute in OLI format, if listed in names_db dictionary.

Parameters:

oli_name – string name of a solute in OLI format

Return watertap_name:

string name of a solute in WaterTAP format

watertap.tools.oli_api.util.watertap_to_oli_helper_functions.watertap_to_oli(watertap_name: str) OLIName[source]

This method creates a named tuple which can be passed directly into OLI or into MCAS property models.

Parameters:

watertap_name – string name of substance in WaterTAP format, i.e., B[OH]4_-

Return OLIName:

named tuple containing attributes derived from molecular formula

Module contents