From d1c0e844ae0826261c441e31f6ad1dd0eb9bee5b Mon Sep 17 00:00:00 2001 From: Adam Atia Date: Mon, 29 Apr 2024 16:43:18 -0400 Subject: [PATCH] Costing docs- initial template rollout (#1361) * fix typo in costing_base.rst for heater/chiller costing method * add index * add unit costing doc templates * black * Complete template and put up for review * black * take away ampersand * added overwrite and overwrite list options * delete comments * black * change overwrite default to false so people don't erase their changes unintentionally * Update docs/technical_reference/costing/automate_detailed_unit_costing_rst_file.py Co-authored-by: MarcusHolly <96305519+MarcusHolly@users.noreply.github.com> * delete ref to unit model code * specify where cost parameters live and where unit cost vars live * set overwrite to False again --------- Co-authored-by: MarcusHolly <96305519+MarcusHolly@users.noreply.github.com> --- .../costing/WT_unit_costing_for_docs.csv | 27 +++ .../costing/anaerobic_digester.rst | 59 ++++++ ...automate_detailed_unit_costing_rst_file.py | 190 ++++++++++++++++++ .../technical_reference/costing/clarifier.rst | 59 ++++++ .../costing/compressor.rst | 59 ++++++ .../costing/costing_base.rst | 2 +- .../costing/crystallizer.rst | 59 ++++++ docs/technical_reference/costing/cstr.rst | 59 ++++++ .../costing/cstr_injection.rst | 59 ++++++ .../costing/detailed_unit_model_costing.rst | 33 +++ .../costing/dewatering.rst | 59 ++++++ .../technical_reference/costing/electroNP.rst | 59 ++++++ .../costing/electrodialysis.rst | 59 ++++++ .../costing/electrolyzer.rst | 59 ++++++ .../costing/energy_recovery_device.rst | 59 ++++++ .../costing/evaporator.rst | 59 ++++++ docs/technical_reference/costing/gac.rst | 59 ++++++ .../costing/heat_exchanger.rst | 59 ++++++ .../costing/heater_chiller.rst | 59 ++++++ docs/technical_reference/costing/index.rst | 5 +- .../costing/ion_exchange.rst | 59 ++++++ .../costing/membrane_distillation.rst | 59 ++++++ docs/technical_reference/costing/mixer.rst | 59 ++++++ .../costing/nanofiltration.rst | 59 ++++++ .../osmotically_assisted_reverse_osmosis.rst | 59 ++++++ .../costing/pressure_exchanger.rst | 59 ++++++ docs/technical_reference/costing/pump.rst | 59 ++++++ .../costing/reverse_osmosis.rst | 59 ++++++ .../costing/stoichiometric_reactor.rst | 59 ++++++ .../technical_reference/costing/thickener.rst | 59 ++++++ docs/technical_reference/costing/uv_aop.rst | 59 ++++++ 31 files changed, 1788 insertions(+), 3 deletions(-) create mode 100644 docs/technical_reference/costing/WT_unit_costing_for_docs.csv create mode 100644 docs/technical_reference/costing/anaerobic_digester.rst create mode 100644 docs/technical_reference/costing/automate_detailed_unit_costing_rst_file.py create mode 100644 docs/technical_reference/costing/clarifier.rst create mode 100644 docs/technical_reference/costing/compressor.rst create mode 100644 docs/technical_reference/costing/crystallizer.rst create mode 100644 docs/technical_reference/costing/cstr.rst create mode 100644 docs/technical_reference/costing/cstr_injection.rst create mode 100644 docs/technical_reference/costing/detailed_unit_model_costing.rst create mode 100644 docs/technical_reference/costing/dewatering.rst create mode 100644 docs/technical_reference/costing/electroNP.rst create mode 100644 docs/technical_reference/costing/electrodialysis.rst create mode 100644 docs/technical_reference/costing/electrolyzer.rst create mode 100644 docs/technical_reference/costing/energy_recovery_device.rst create mode 100644 docs/technical_reference/costing/evaporator.rst create mode 100644 docs/technical_reference/costing/gac.rst create mode 100644 docs/technical_reference/costing/heat_exchanger.rst create mode 100644 docs/technical_reference/costing/heater_chiller.rst create mode 100644 docs/technical_reference/costing/ion_exchange.rst create mode 100644 docs/technical_reference/costing/membrane_distillation.rst create mode 100644 docs/technical_reference/costing/mixer.rst create mode 100644 docs/technical_reference/costing/nanofiltration.rst create mode 100644 docs/technical_reference/costing/osmotically_assisted_reverse_osmosis.rst create mode 100644 docs/technical_reference/costing/pressure_exchanger.rst create mode 100644 docs/technical_reference/costing/pump.rst create mode 100644 docs/technical_reference/costing/reverse_osmosis.rst create mode 100644 docs/technical_reference/costing/stoichiometric_reactor.rst create mode 100644 docs/technical_reference/costing/thickener.rst create mode 100644 docs/technical_reference/costing/uv_aop.rst diff --git a/docs/technical_reference/costing/WT_unit_costing_for_docs.csv b/docs/technical_reference/costing/WT_unit_costing_for_docs.csv new file mode 100644 index 0000000000..2228fd66f4 --- /dev/null +++ b/docs/technical_reference/costing/WT_unit_costing_for_docs.csv @@ -0,0 +1,27 @@ +name,unit +anaerobic digester,anaerobic_digester +clarifier,clarifier +compressor,compressor +crystallizer,crystallizer +cstr injection,cstr_injection +cstr,cstr +dewatering,dewatering +electrodialysis,electrodialysis +electrolyzer,electrolyzer +electroNP,electroNP +energy recovery device,energy_recovery_device +evaporator,evaporator +gac,gac +heat exchanger,heat_exchanger +heater chiller,heater_chiller +ion exchange,ion_exchange +membrane distillation,membrane_distillation +mixer,mixer +nanofiltration,nanofiltration +osmotically assisted reverse osmosis,osmotically_assisted_reverse_osmosis +pressure exchanger,pressure_exchanger +pump,pump +reverse osmosis,reverse_osmosis +stoichiometric reactor,stoichiometric_reactor +thickener,thickener +uv aop,uv_aop diff --git a/docs/technical_reference/costing/anaerobic_digester.rst b/docs/technical_reference/costing/anaerobic_digester.rst new file mode 100644 index 0000000000..98cfb9d5a8 --- /dev/null +++ b/docs/technical_reference/costing/anaerobic_digester.rst @@ -0,0 +1,59 @@ +Anaerobic Digester Costing Method +================================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.anaerobic_digester`) when applying the `cost_anaerobic_digester` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_anaerobic_digester` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.anaerobic_digester` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/automate_detailed_unit_costing_rst_file.py b/docs/technical_reference/costing/automate_detailed_unit_costing_rst_file.py new file mode 100644 index 0000000000..40259d348b --- /dev/null +++ b/docs/technical_reference/costing/automate_detailed_unit_costing_rst_file.py @@ -0,0 +1,190 @@ +################################################################################# +# WaterTAP Copyright (c) 2020-2024, The Regents of the University of California, +# through Lawrence Berkeley National Laboratory, Oak Ridge National Laboratory, +# National Renewable Energy Laboratory, and National Energy Technology +# Laboratory (subject to receipt of any required approvals from the U.S. Dept. +# of Energy). All rights reserved. +# +# Please see the files COPYRIGHT.md and LICENSE.md for full copyright and license +# information, respectively. These files are also available online at the URL +# "https://github.com/watertap-org/watertap/" +################################################################################# + +__author__ = "Adam Atia" + +import pandas as pd + +df = pd.read_csv("WT_unit_costing_for_docs.csv") + + +unit_title_list = [i.title() for i in df["name"]] + +unit_name_list = list(df["unit"]) + +title_exceptions = { + "cstr_injection": "Completely Stirred Tank Reactor w/Injection Stream", + "cstr": "Completely Stirred Tank Reactor", + "dewatering": "Dewatering Unit", + "electroNP": "ElectroN-P", + "gac": "Granular Activated Carbon", + "heater_chiller": "Heater/Chiller", + "uv_aop": "UV with Advanced Oxidation Processes", +} + + +if __name__ == "__main__": + # Toggle OVERWRITE to True to overwrite unit model costing rst files + OVERWRITE = False + # Specify unit model costing filenames (e.g., "ion_exchange") that you want to overwrite + # Otherwise, if list left empty, the default is to overwrite all files + OVERWRITE_LIST = [] + try: + with open("detailed_unit_model_costing.rst", "r") as f: + lines = f.readlines() + except: + + # Create index file for all unit model costing docs + with open("detailed_unit_model_costing.rst", "w") as f: + f.write("Detailed Unit Model Costing\n") + f.write("=" * len("Detailed Unit Model Costing")) + f.write("\n") + f.write( + "Default costing methods are provided for the unit models listed below. However, users should supply their own cost relationship, if possible, instead of relying completely on the defaults.\n\n" + ) + f.write(".. toctree::\n") + f.write(" :maxdepth: 1\n\n") + with open("detailed_unit_model_costing.rst", "r") as f: + lines = f.readlines() + + for i, unit_title in enumerate(unit_title_list): + for l, line in enumerate(lines): + # set on_list flag to False if unit name not found in landing page list + if unit_name_list[i] != line.strip(): + on_list = False + # set on_list flag to True if unit name is on landing page list and break inner loop + else: + on_list = True + line_index = l + break + + # if new entry or if overwriting existing entry + if (not on_list) or (OVERWRITE and (on_list)): + + # check that entries in OVERWRITE_LIST are valid + if OVERWRITE and len(OVERWRITE_LIST): + if all( + overwrite_item not in unit_name_list + for overwrite_item in OVERWRITE_LIST + ): + raise ValueError( + "Entries provided in OVERWRITE_LIST are invalid.\nOVERWRITE_LIST should be empty or contain a list of valid unit names (e.g., 'ion_exchange')" + ) + + # if this is a new entry, append the unit name to the landing page for all unit costing + if not on_list: + # append unit doc to index + with open("detailed_unit_model_costing.rst", "a") as f: + f.write(f" {unit_name_list[i]}\n") + else: + # either overwrite all units in the landing page OR overwrite specific units specified on OVERWRITE_LIST + if (not len(OVERWRITE_LIST)) or ( + any(item == unit_name_list[i] for item in OVERWRITE_LIST) + ): + lines[line_index] = f" {unit_name_list[i]}\n" + with open("detailed_unit_model_costing.rst", "w") as f: + f.writelines(lines) + else: + pass + + if ( + (not on_list) + or (not len(OVERWRITE_LIST)) + or (any(item == unit_name_list[i] for item in OVERWRITE_LIST)) + ): + with open(f"{unit_name_list[i]}.rst", "w") as f: + + # write doc title based on unit name + if unit_name_list[i] in title_exceptions: + f.write(f"{title_exceptions[unit_name_list[i]]} Costing Method") + f.write("\n") + f.write( + "=" + * len( + f"{title_exceptions[unit_name_list[i]]} Costing Method\n" + ) + ) + else: + f.write(f"{unit_title} Costing Method") + f.write("\n") + f.write("=" * len(f"{unit_title} Costing Method\n")) + + # TODO: add parameter tables + f.write("\n\nCosting Method Parameters\n") + f.write("+" * len("Costing Method Parameters")) + f.write( + f"\n\nThe following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.{unit_name_list[i]}`) when applying the `cost_{unit_name_list[i]}` costing method in the ``watertap_costing_package``:\n\n" + ) + f.write(".. csv-table::\n") + f.write( + ' :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units"\n\n' + ) + f.write( + ' "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\\text{dimensionless}`"\n' + ) + + # TODO: add var tables + f.write("\nCosting Method Variables\n") + f.write("+" * len("Costing Method Variables")) + f.write( + f"\n\nThe following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_{unit_name_list[i]}` costing method in the ``watertap_costing_package``:\n\n" + ) + f.write(".. csv-table::\n") + f.write( + ' :header: "Description", "Symbol", "Variable Name", "Default Value", "Units"\n\n' + ) + f.write( + ' "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\\text{dimensionless}`"\n' + ) + + # TODO: add capex eqs + f.write("\nCapital Cost Calculations\n") + f.write("+" * len("Capital Cost Calculations")) + f.write( + "\n\nDescribe capital costs..keep it concise where possible\n\n" + ) + f.write(" .. math::\n\n") + f.write( + " C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other}" + ) + f.write("\n\n .. math::\n\n") + f.write( + " C_{cap,example1} = fill in equation for each component in total capex equation\n\n " + ) + + # TODO: add opex eqs + f.write("\nOperating Cost Calculations\n") + f.write("+" * len("Operating Cost Calculations")) + f.write( + "\n\nDescribe operating/maintenance costs..keep it concise where possible\n\n" + ) + f.write(" .. math::\n\n") + f.write( + " C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other}" + ) + f.write("\n\n .. math::\n\n") + f.write( + " C_{op,example1} = fill in equation for each component in total opex equation\n\n " + ) + + # TODO: add module directives to unit and cost method + f.write("\nCode Documentation\n") + f.write("-" * len("Code Documentation")) + f.write( + f"\n\n* :mod:`watertap.costing.unit_models.{unit_name_list[i]}`" + ) + + f.write("\n\nReferences\n") + f.write("-" * len("References")) + f.write( + "\nAim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values" + ) diff --git a/docs/technical_reference/costing/clarifier.rst b/docs/technical_reference/costing/clarifier.rst new file mode 100644 index 0000000000..ff3cb35510 --- /dev/null +++ b/docs/technical_reference/costing/clarifier.rst @@ -0,0 +1,59 @@ +Clarifier Costing Method +========================= + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.clarifier`) when applying the `cost_clarifier` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_clarifier` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.clarifier` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/compressor.rst b/docs/technical_reference/costing/compressor.rst new file mode 100644 index 0000000000..4a03ef47cc --- /dev/null +++ b/docs/technical_reference/costing/compressor.rst @@ -0,0 +1,59 @@ +Compressor Costing Method +========================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.compressor`) when applying the `cost_compressor` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_compressor` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.compressor` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/costing_base.rst b/docs/technical_reference/costing/costing_base.rst index d8424f120a..7385c3a41e 100644 --- a/docs/technical_reference/costing/costing_base.rst +++ b/docs/technical_reference/costing/costing_base.rst @@ -392,7 +392,7 @@ While the expectation is that unit models use the self-registration process note * Mixer - :py:func:`watertap.costing.unit_models.mixer.cost_mixer` * HeatExchanger - :py:func:`watertap.costing.unit_models.heat_exchanger.cost_heat_exchanger` * CSTR - :py:func:`watertap.costing.unit_models.cstr.cost_cstr` -* Heater - :py:func:`watertap.costing.unit_models.heater_ciller.cost_heater_ciller` +* Heater - :py:func:`watertap.costing.unit_models.heater_chiller.cost_heater_chiller` Class Documentation diff --git a/docs/technical_reference/costing/crystallizer.rst b/docs/technical_reference/costing/crystallizer.rst new file mode 100644 index 0000000000..44d6986d55 --- /dev/null +++ b/docs/technical_reference/costing/crystallizer.rst @@ -0,0 +1,59 @@ +Crystallizer Costing Method +============================ + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.crystallizer`) when applying the `cost_crystallizer` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_crystallizer` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.crystallizer` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/cstr.rst b/docs/technical_reference/costing/cstr.rst new file mode 100644 index 0000000000..e78bc4845e --- /dev/null +++ b/docs/technical_reference/costing/cstr.rst @@ -0,0 +1,59 @@ +Completely Stirred Tank Reactor Costing Method +=============================================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.cstr`) when applying the `cost_cstr` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_cstr` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.cstr` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/cstr_injection.rst b/docs/technical_reference/costing/cstr_injection.rst new file mode 100644 index 0000000000..e8d9b6da61 --- /dev/null +++ b/docs/technical_reference/costing/cstr_injection.rst @@ -0,0 +1,59 @@ +Completely Stirred Tank Reactor w/Injection Stream Costing Method +================================================================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.cstr_injection`) when applying the `cost_cstr_injection` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_cstr_injection` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.cstr_injection` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/detailed_unit_model_costing.rst b/docs/technical_reference/costing/detailed_unit_model_costing.rst new file mode 100644 index 0000000000..894befc2af --- /dev/null +++ b/docs/technical_reference/costing/detailed_unit_model_costing.rst @@ -0,0 +1,33 @@ +Detailed Unit Model Costing +=========================== +Default costing methods are provided for the unit models listed below. However, users should supply their own cost relationship, if possible, instead of relying completely on the defaults. + +.. toctree:: + :maxdepth: 1 + + anaerobic_digester + clarifier + compressor + crystallizer + cstr_injection + cstr + dewatering + electrodialysis + electrolyzer + electroNP + energy_recovery_device + evaporator + gac + heat_exchanger + heater_chiller + ion_exchange + membrane_distillation + mixer + nanofiltration + osmotically_assisted_reverse_osmosis + pressure_exchanger + pump + reverse_osmosis + stoichiometric_reactor + thickener + uv_aop diff --git a/docs/technical_reference/costing/dewatering.rst b/docs/technical_reference/costing/dewatering.rst new file mode 100644 index 0000000000..7dc8dac571 --- /dev/null +++ b/docs/technical_reference/costing/dewatering.rst @@ -0,0 +1,59 @@ +Dewatering Unit Costing Method +=============================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.dewatering`) when applying the `cost_dewatering` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_dewatering` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.dewatering` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/electroNP.rst b/docs/technical_reference/costing/electroNP.rst new file mode 100644 index 0000000000..4a2fbfe0a1 --- /dev/null +++ b/docs/technical_reference/costing/electroNP.rst @@ -0,0 +1,59 @@ +ElectroN-P Costing Method +========================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.electroNP`) when applying the `cost_electroNP` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_electroNP` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.electroNP` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/electrodialysis.rst b/docs/technical_reference/costing/electrodialysis.rst new file mode 100644 index 0000000000..81270aaba2 --- /dev/null +++ b/docs/technical_reference/costing/electrodialysis.rst @@ -0,0 +1,59 @@ +Electrodialysis Costing Method +=============================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.electrodialysis`) when applying the `cost_electrodialysis` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_electrodialysis` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.electrodialysis` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/electrolyzer.rst b/docs/technical_reference/costing/electrolyzer.rst new file mode 100644 index 0000000000..295defac99 --- /dev/null +++ b/docs/technical_reference/costing/electrolyzer.rst @@ -0,0 +1,59 @@ +Electrolyzer Costing Method +============================ + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.electrolyzer`) when applying the `cost_electrolyzer` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_electrolyzer` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.electrolyzer` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/energy_recovery_device.rst b/docs/technical_reference/costing/energy_recovery_device.rst new file mode 100644 index 0000000000..1e611b6e59 --- /dev/null +++ b/docs/technical_reference/costing/energy_recovery_device.rst @@ -0,0 +1,59 @@ +Energy Recovery Device Costing Method +====================================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.energy_recovery_device`) when applying the `cost_energy_recovery_device` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_energy_recovery_device` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.energy_recovery_device` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/evaporator.rst b/docs/technical_reference/costing/evaporator.rst new file mode 100644 index 0000000000..183ecc2b52 --- /dev/null +++ b/docs/technical_reference/costing/evaporator.rst @@ -0,0 +1,59 @@ +Evaporator Costing Method +========================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.evaporator`) when applying the `cost_evaporator` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_evaporator` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.evaporator` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/gac.rst b/docs/technical_reference/costing/gac.rst new file mode 100644 index 0000000000..44105bb801 --- /dev/null +++ b/docs/technical_reference/costing/gac.rst @@ -0,0 +1,59 @@ +Granular Activated Carbon Costing Method +========================================= + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.gac`) when applying the `cost_gac` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_gac` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.gac` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/heat_exchanger.rst b/docs/technical_reference/costing/heat_exchanger.rst new file mode 100644 index 0000000000..916c12d353 --- /dev/null +++ b/docs/technical_reference/costing/heat_exchanger.rst @@ -0,0 +1,59 @@ +Heat Exchanger Costing Method +============================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.heat_exchanger`) when applying the `cost_heat_exchanger` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_heat_exchanger` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.heat_exchanger` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/heater_chiller.rst b/docs/technical_reference/costing/heater_chiller.rst new file mode 100644 index 0000000000..752646c5d9 --- /dev/null +++ b/docs/technical_reference/costing/heater_chiller.rst @@ -0,0 +1,59 @@ +Heater/Chiller Costing Method +============================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.heater_chiller`) when applying the `cost_heater_chiller` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_heater_chiller` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.heater_chiller` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/index.rst b/docs/technical_reference/costing/index.rst index b548657dc4..43bfedc656 100644 --- a/docs/technical_reference/costing/index.rst +++ b/docs/technical_reference/costing/index.rst @@ -1,4 +1,4 @@ -Costing Components +Costing Models ================== .. toctree:: @@ -7,6 +7,7 @@ Costing Components costing_base watertap_costing watertap_costing_detailed + detailed_unit_model_costing zero_order_costing multiple_choice_costing_block - util + util \ No newline at end of file diff --git a/docs/technical_reference/costing/ion_exchange.rst b/docs/technical_reference/costing/ion_exchange.rst new file mode 100644 index 0000000000..cf51c6322c --- /dev/null +++ b/docs/technical_reference/costing/ion_exchange.rst @@ -0,0 +1,59 @@ +Ion Exchange Costing Method +============================ + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.ion_exchange`) when applying the `cost_ion_exchange` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_ion_exchange` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.ion_exchange` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/membrane_distillation.rst b/docs/technical_reference/costing/membrane_distillation.rst new file mode 100644 index 0000000000..2d28149d67 --- /dev/null +++ b/docs/technical_reference/costing/membrane_distillation.rst @@ -0,0 +1,59 @@ +Membrane Distillation Costing Method +===================================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.membrane_distillation`) when applying the `cost_membrane_distillation` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_membrane_distillation` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.membrane_distillation` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/mixer.rst b/docs/technical_reference/costing/mixer.rst new file mode 100644 index 0000000000..73dff5e483 --- /dev/null +++ b/docs/technical_reference/costing/mixer.rst @@ -0,0 +1,59 @@ +Mixer Costing Method +===================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.mixer`) when applying the `cost_mixer` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_mixer` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.mixer` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/nanofiltration.rst b/docs/technical_reference/costing/nanofiltration.rst new file mode 100644 index 0000000000..3128aac287 --- /dev/null +++ b/docs/technical_reference/costing/nanofiltration.rst @@ -0,0 +1,59 @@ +Nanofiltration Costing Method +============================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.nanofiltration`) when applying the `cost_nanofiltration` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_nanofiltration` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.nanofiltration` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/osmotically_assisted_reverse_osmosis.rst b/docs/technical_reference/costing/osmotically_assisted_reverse_osmosis.rst new file mode 100644 index 0000000000..ec5308f5e5 --- /dev/null +++ b/docs/technical_reference/costing/osmotically_assisted_reverse_osmosis.rst @@ -0,0 +1,59 @@ +Osmotically Assisted Reverse Osmosis Costing Method +==================================================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.osmotically_assisted_reverse_osmosis`) when applying the `cost_osmotically_assisted_reverse_osmosis` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_osmotically_assisted_reverse_osmosis` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.osmotically_assisted_reverse_osmosis` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/pressure_exchanger.rst b/docs/technical_reference/costing/pressure_exchanger.rst new file mode 100644 index 0000000000..59f4c463e4 --- /dev/null +++ b/docs/technical_reference/costing/pressure_exchanger.rst @@ -0,0 +1,59 @@ +Pressure Exchanger Costing Method +================================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.pressure_exchanger`) when applying the `cost_pressure_exchanger` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_pressure_exchanger` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.pressure_exchanger` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/pump.rst b/docs/technical_reference/costing/pump.rst new file mode 100644 index 0000000000..86632dbb06 --- /dev/null +++ b/docs/technical_reference/costing/pump.rst @@ -0,0 +1,59 @@ +Pump Costing Method +==================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.pump`) when applying the `cost_pump` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_pump` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.pump` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/reverse_osmosis.rst b/docs/technical_reference/costing/reverse_osmosis.rst new file mode 100644 index 0000000000..022b68b9c1 --- /dev/null +++ b/docs/technical_reference/costing/reverse_osmosis.rst @@ -0,0 +1,59 @@ +Reverse Osmosis Costing Method +=============================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.reverse_osmosis`) when applying the `cost_reverse_osmosis` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_reverse_osmosis` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.reverse_osmosis` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/stoichiometric_reactor.rst b/docs/technical_reference/costing/stoichiometric_reactor.rst new file mode 100644 index 0000000000..46c33f2ff4 --- /dev/null +++ b/docs/technical_reference/costing/stoichiometric_reactor.rst @@ -0,0 +1,59 @@ +Stoichiometric Reactor Costing Method +====================================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.stoichiometric_reactor`) when applying the `cost_stoichiometric_reactor` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_stoichiometric_reactor` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.stoichiometric_reactor` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/thickener.rst b/docs/technical_reference/costing/thickener.rst new file mode 100644 index 0000000000..1beb331f74 --- /dev/null +++ b/docs/technical_reference/costing/thickener.rst @@ -0,0 +1,59 @@ +Thickener Costing Method +========================= + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.thickener`) when applying the `cost_thickener` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_thickener` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.thickener` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file diff --git a/docs/technical_reference/costing/uv_aop.rst b/docs/technical_reference/costing/uv_aop.rst new file mode 100644 index 0000000000..77775a7503 --- /dev/null +++ b/docs/technical_reference/costing/uv_aop.rst @@ -0,0 +1,59 @@ +UV with Advanced Oxidation Processes Costing Method +==================================================== + +Costing Method Parameters ++++++++++++++++++++++++++ + +The following parameters are constructed for the unit on the FlowsheetCostingBlock (e.g., `m.fs.costing.uv_aop`) when applying the `cost_uv_aop` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Parameter Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "parameter_name", "1", ":math:`\text{dimensionless}`" + +Costing Method Variables +++++++++++++++++++++++++ + +The following variables are constructed on the unit block (e.g., m.fs.unit.costing) when applying the `cost_uv_aop` costing method in the ``watertap_costing_package``: + +.. csv-table:: + :header: "Description", "Symbol", "Variable Name", "Default Value", "Units" + + "description", ":math:`Symbol_{example}`", "variable_name", "1", ":math:`\text{dimensionless}`" + +Capital Cost Calculations ++++++++++++++++++++++++++ + +Describe capital costs..keep it concise where possible + + .. math:: + + C_{cap,tot} = C_{cap,example1}+C_{cap,example2}+C_{cap,other} + + .. math:: + + C_{cap,example1} = fill in equation for each component in total capex equation + + +Operating Cost Calculations ++++++++++++++++++++++++++++ + +Describe operating/maintenance costs..keep it concise where possible + + .. math:: + + C_{op,tot} = C_{op,example1}+C_{op,example2}+C_{op,other} + + .. math:: + + C_{op,example1} = fill in equation for each component in total opex equation + + +Code Documentation +------------------ + +* :mod:`watertap.costing.unit_models.uv_aop` + +References +---------- +Aim to include at least one reference in most cases, but delete this section if no references used for cost relationships/default values \ No newline at end of file