diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 00000000..543db8e2 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,24 @@ +# .readthedocs.yaml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Build documentation in the docs/ directory with Sphinx +sphinx: + fail_on_warning: true + +build: + os: ubuntu-20.04 + tools: + python: "3.9" + +python: + install: + - requirements: requirements-dev.txt + +# Build all formats +# formats: +# - pdf +# - htmlzip diff --git a/Docs/Makefile b/Docs/Makefile new file mode 100644 index 00000000..6a377463 --- /dev/null +++ b/Docs/Makefile @@ -0,0 +1,23 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . +BUILDDIR = _build +SPHINXAPIDOC ?= sphinx-apidoc + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile +# TODO: Revisit %SPHINXAPIDOC% and get it working adequately with readthedocs +# @$(SPHINXAPIDOC) -f -M -H WaterTAP -d 3 -o apidoc ../watertap "../*tests*" + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file diff --git a/Docs/_static/favicon.ico b/Docs/_static/favicon.ico new file mode 100644 index 00000000..a11777cc Binary files /dev/null and b/Docs/_static/favicon.ico differ diff --git a/Docs/_static/img/background.jpg b/Docs/_static/img/background.jpg new file mode 100644 index 00000000..f25ecba2 Binary files /dev/null and b/Docs/_static/img/background.jpg differ diff --git a/Docs/_static/img/create-scenario.png b/Docs/_static/img/create-scenario.png new file mode 100644 index 00000000..0350d6cc Binary files /dev/null and b/Docs/_static/img/create-scenario.png differ diff --git a/Docs/_static/img/infrastructure-override.png b/Docs/_static/img/infrastructure-override.png new file mode 100644 index 00000000..dbce6632 Binary files /dev/null and b/Docs/_static/img/infrastructure-override.png differ diff --git a/Docs/_static/img/input-page.png b/Docs/_static/img/input-page.png new file mode 100644 index 00000000..2b50fd4e Binary files /dev/null and b/Docs/_static/img/input-page.png differ diff --git a/Docs/_static/img/kpi-dashboard.png b/Docs/_static/img/kpi-dashboard.png new file mode 100644 index 00000000..2a0f82ec Binary files /dev/null and b/Docs/_static/img/kpi-dashboard.png differ diff --git a/Docs/_static/img/model-settings.png b/Docs/_static/img/model-settings.png new file mode 100644 index 00000000..336e845c Binary files /dev/null and b/Docs/_static/img/model-settings.png differ diff --git a/Docs/_static/img/running-model.png b/Docs/_static/img/running-model.png new file mode 100644 index 00000000..137a8edb Binary files /dev/null and b/Docs/_static/img/running-model.png differ diff --git a/Docs/_static/img/sankey-diagram.png b/Docs/_static/img/sankey-diagram.png new file mode 100644 index 00000000..b91919ae Binary files /dev/null and b/Docs/_static/img/sankey-diagram.png differ diff --git a/Docs/_static/img/scenario-comparison.png b/Docs/_static/img/scenario-comparison.png new file mode 100644 index 00000000..4249b506 Binary files /dev/null and b/Docs/_static/img/scenario-comparison.png differ diff --git a/Docs/_static/img/scenarios-page.png b/Docs/_static/img/scenarios-page.png new file mode 100644 index 00000000..1be59ac7 Binary files /dev/null and b/Docs/_static/img/scenarios-page.png differ diff --git a/Docs/_static/img/software-website.png b/Docs/_static/img/software-website.png new file mode 100644 index 00000000..53e7a128 Binary files /dev/null and b/Docs/_static/img/software-website.png differ diff --git a/Docs/_static/img/windows-installer.png b/Docs/_static/img/windows-installer.png new file mode 100644 index 00000000..403334e1 Binary files /dev/null and b/Docs/_static/img/windows-installer.png differ diff --git a/Docs/citing.rst b/Docs/citing.rst new file mode 100644 index 00000000..8d91d4be --- /dev/null +++ b/Docs/citing.rst @@ -0,0 +1,12 @@ +Citing PARETO +============= + +If you make use of PARETO software in your work, please cite the following article: + +* Drouven, M. G., Caldéron, A. J., Zamarripa, M. A. et al. PARETO: An open-source produced water optimization framework. Optim Eng 24, 2229-2249 (2023). https://doi.org/10.1007/s11081-022-09773-w + +You can also cite the latest release of PARETO software (currently 0.9.0) as follows: + +* Melody Shellman, Travis Arnold, Ludovico Bianchi, Elmira Shamlou, Naresh Susarla, Philip Tominac, Michael Pesce, Sarah Poon, Keith Beattie, Miguel Zamarripa, Dan Gunter, Markus Drouven, PARETO 0.9.0 Release, 11/2/2023, https://edx.netl.doe.gov/dataset/pareto-0-9-0-release, DOI: 10.18141/2308838 + +Citation information for previous versions of PARETO software may be found on `EDX `_. diff --git a/Docs/conf.py b/Docs/conf.py new file mode 100644 index 00000000..3ce2443d --- /dev/null +++ b/Docs/conf.py @@ -0,0 +1,79 @@ +import os +import sys +import sphinx_rtd_theme + +sys.path.insert(0, os.path.abspath("..")) + +# -- Project information ----------------------------------------------------- + +project = "PARETO" +# copyright = "" +# author = "" + +release = "1.0.0" +version = "1.0.0" +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + "sphinx_rtd_theme", + "sphinx.ext.autodoc", + "sphinx.ext.intersphinx", + "sphinx.ext.coverage", + "sphinx.ext.mathjax", + "sphinx.ext.ifconfig", + "sphinx.ext.viewcode", + "sphinx.ext.githubpages", + "sphinx.ext.autosectionlabel", + "sphinx.ext.doctest", +] + +mathjax3_config = {"chtml": {"displayAlign": "left", "displayIndent": "2em"}} + +autosectionlabel_prefix_document = True +autodoc_warningiserror = False # suppress warnings during autodoc + +# Add any paths that contain templates here, relative to this directory. +# templates_path = ["_templates"] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "apidoc/*tests*"] + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = "sphinx_rtd_theme" + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ["_static"] +html_css_files = ["custom.css"] + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +# +html_logo = "_static/NAWI_logo.png" + +# The name of an image file (relative to this directory) to use as a favicon of +# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +# +html_favicon = "_static/favicon.ico" + +# intersphinx mapping to idaes +intersphinx_mapping = { + "pareto": ("https://idaes-pse.readthedocs.io/en/stable/", None), + "parameter_sweep": ("https://parameter-sweep.readthedocs.io/en/latest/", None), +} + +rst_epilog = """ +.. |Binder launch button| image:: https://mybinder.org/badge_logo.svg + :target: https://mybinder.org/v2/gh/watertap-org/watertap/main?labpath=tutorials%2F00-index.ipynb +""" diff --git a/Docs/copyright.rst b/Docs/copyright.rst new file mode 100644 index 00000000..eeb02473 --- /dev/null +++ b/Docs/copyright.rst @@ -0,0 +1,3 @@ +.. _pareto-project-copyright: + +.. include:: ../COPYRIGHT.md diff --git a/Docs/how_to_guides/index.rst b/Docs/how_to_guides/index.rst index e69de29b..55248a3f 100644 --- a/Docs/how_to_guides/index.rst +++ b/Docs/how_to_guides/index.rst @@ -0,0 +1,7 @@ +How To Guides +============= + +.. toctree:: + :maxdepth: 1 + + how_to_use_interface diff --git a/Docs/index.rst b/Docs/index.rst index 044a3fe1..eb3ae1f5 100644 --- a/Docs/index.rst +++ b/Docs/index.rst @@ -1,19 +1,21 @@ .. index:: pair: pareto-user-interface;Home -Welcome to PARETO UI's documentation! -====================================== +Produced Water Application for Beneficial Reuse, Environmental Impact and Treatment Optimization (PARETO) User Interface +========================================================================================================= Project PARETO - The Produced Water Optimization Initiative The National Energy Technology Laboratory (NETL), in cooperation with the Lawrence Berkeley National Laboratory (LBNL), has launched a three-year, $5 million produced water optimization initiative to develop, demonstrate and deploy a novel optimization framework. -Refer :ref:`https://www.project-pareto.org/` for more background information. +Refer :ref:`Projec PARETO `_ for more background information. + Collaborating Institutions -------------------------- The PARETO development team is composed of researchers from: -* National Energy Technology Laboratory +* National Energy Technology Laboratory (Lead) +* Sandia National Laboratory * Lawrence Berkeley National Laboratory Content @@ -23,8 +25,8 @@ Content :maxdepth: 2 how_to_guides/index -.. license -.. copyright + license + copyright Indices and tables ------------------ diff --git a/Docs/license.rst b/Docs/license.rst new file mode 100644 index 00000000..f535afd1 --- /dev/null +++ b/Docs/license.rst @@ -0,0 +1,3 @@ +.. _pareto_project-license: + +.. include:: ../LICENSE.md diff --git a/Docs/make.bat b/Docs/make.bat new file mode 100644 index 00000000..c4dd3e7e --- /dev/null +++ b/Docs/make.bat @@ -0,0 +1,41 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +if "%SPHINXAPIDOC%" == "" ( + set SPHINXAPIDOC=sphinx-apidoc +) + +set SOURCEDIR=. +set BUILDDIR=_build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) +REM TODO: Revisit %SPHINXAPIDOC% and get it working adequately with readthedocs +REM %SPHINXAPIDOC% -f -M -H WaterTAP -d 3 -o apidoc ../watertap "../*tests*" +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:end +popd \ No newline at end of file diff --git a/backend/requirements-dev.txt b/backend/requirements-dev.txt new file mode 100644 index 00000000..1fabde91 --- /dev/null +++ b/backend/requirements-dev.txt @@ -0,0 +1,4 @@ +-r requirements.txt +sphinx +sphinx_rtd_theme +nbsphinx \ No newline at end of file