Skip to content

Add MESSAGEix-Nexus module #88

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 177 commits into from
Mar 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
177 commits
Select commit Hold shift + click to select a range
0f9b2c2
Auto stash before rebase of "upstream/master"
awais307 Nov 17, 2020
63a3837
Add water data
adrivinca Apr 19, 2021
bf6bb05
Add water model
adrivinca Apr 19, 2021
636363c
Minor changes and adjustments
awais307 Apr 20, 2021
26d320a
Remove unnecessary stuff from cli.py
awais307 Apr 21, 2021
01afa53
Update to cli that works and simplify scenario, TO clarify commented …
adrivinca Apr 21, 2021
d865375
Remove unnecessary data folders
awais307 Apr 21, 2021
150cee5
Adjust data function
awais307 Apr 21, 2021
c95b3b2
Fixed to cli for cooling tech, add region default option
adrivinca Apr 22, 2021
b06b600
More doc for cli.py and remove data files
adrivinca Apr 22, 2021
0b1e691
Remove unused files
awais307 Apr 22, 2021
a976938
Formatting to 'Black' style
awais307 Apr 22, 2021
658acc5
Remove unused parts
awais307 Apr 29, 2021
dfeec0d
Fix typos
awais307 Apr 29, 2021
c1348a8
Add km3 to units
awais307 Apr 29, 2021
52b9f9f
Update functions description to numpy docstring format
awais307 Apr 29, 2021
eefb878
Update documentation
awais307 Apr 29, 2021
fbc270e
Fix Minor documentation formatting issues and Deprecated R code
adrivinca May 3, 2021
857604f
Remove old.rst & cooling.rst
awais307 May 3, 2021
e5466e5
Add description for functions.
awais307 May 3, 2021
22db707
Delete unused functions temporarily
awais307 May 3, 2021
293eddc
Apply formats and sort
awais307 May 3, 2021
62991a7
Restore config.yaml
awais307 May 4, 2021
3172a10
Fix info in data/_init_.py
awais307 May 4, 2021
dd8f5b9
Small fixes
awais307 May 4, 2021
88d86cb
Edit cli overwriting of scenario, changed description and warnings
adrivinca May 27, 2021
fee2696
Adapt cooling implementation for both global and country model
adrivinca Jun 9, 2021
2091ac2
Run black and isort
adrivinca Jun 11, 2021
56a9a17
Update documentation to include country specification
adrivinca Jun 11, 2021
598c69a
Reorganize folder structure
awais307 Jun 21, 2021
e71f9ce
Apply code style
awais307 Jun 21, 2021
9cdb457
Adapt cli and build function for R12
adrivinca Jun 24, 2021
46e4509
Add R12 flexibility and include PR comments
adrivinca Jun 30, 2021
d15ef20
Run black and isort
adrivinca Jun 30, 2021
146b441
Adjust migrated imports in .water.utils
khaeru Jul 19, 2021
611caef
Update deprecated imports in .model.data, .water_for_ppl
khaeru Aug 25, 2021
e769a18
Link to #246 from water docs
khaeru Aug 25, 2021
f1a0187
Add "water" to title of water docs
khaeru Aug 25, 2021
7e4f9ec
Add shapefiles and csv for basins
awais307 Jun 28, 2021
5839f38
Extend build.py for adding basins
awais307 Jun 28, 2021
7b778cc
Update cli and build functions to account flexibility
awais307 Jun 30, 2021
6502526
Fix map_basin function
awais307 Jul 1, 2021
4071163
Update delineation data
awais307 Jul 30, 2021
457aad6
Add set and technology
awais307 Jul 30, 2021
314e4a7
Map basins to regions
awais307 Jul 30, 2021
d5ea4c3
Improve cooling technology for basins mapping
awais307 Jul 30, 2021
0681798
Fix errors in overall workflow
awais307 Jul 30, 2021
0962fd9
Add demands
awais307 Aug 2, 2021
2b07645
Fix small bugs
awais307 Aug 2, 2021
d719c18
Update demand data
awais307 Aug 24, 2021
84cd476
Minor fix
awais307 Aug 24, 2021
22a5d93
Update ppl water functions
awais307 Aug 24, 2021
76f5f28
Fix minor bugs
awais307 Aug 24, 2021
b4bb7ba
Add spatial pre-processing scripts
awais307 Aug 25, 2021
e36262b
Update nodes and associated data
awais307 Aug 25, 2021
acff461
Change naming conventions and adjust tecs linkages
awais307 Aug 26, 2021
9dea4a1
Fix minor bug in pandas append of dfs
awais307 Aug 31, 2021
74f9996
Remove GLB from nodes
awais307 Sep 2, 2021
1a91740
Add balance_equality set
awais307 Sep 7, 2021
9ad9c5b
Segregate sectoral demands and water availability
awais307 Sep 7, 2021
c9e3f6d
Add water infrasructure
awais307 Sep 7, 2021
23f146d
Minor changes to cli, pre-rebase
adrivinca Sep 8, 2021
90d5ca9
Minor fixes of packages updates
adrivinca Sep 17, 2021
a58c432
Fix minor bugs
awais307 Sep 17, 2021
6033ab5
Fix infrastructure techs
awais307 Sep 20, 2021
39d0c74
Update R script for water demands and access
adrivinca Sep 20, 2021
e4dacc5
Add structure for separate set configurations
awais307 Sep 20, 2021
2e8139a
Add documentation
awais307 Sep 20, 2021
25ef59d
Revert build setting temporarily
awais307 Sep 21, 2021
8017e85
Update in demands, fix rates >1
adrivinca Sep 21, 2021
439b7b7
Make wastewater demands negative
awais307 Sep 21, 2021
5c8b2de
Add electricity input for water techs
awais307 Sep 23, 2021
085a66b
Fix minor typo
awais307 Sep 23, 2021
6b5324f
Remove hard coded region definitions
awais307 Sep 24, 2021
e3656eb
Apply formatting changes
awais307 Sep 26, 2021
dec9577
Adjust hard coded region definition
awais307 Sep 27, 2021
5046db7
Add configuration for cooling and nexus option
awais307 Sep 29, 2021
13bf288
Adjust formatting of pre-processing scripts
awais307 Sep 30, 2021
cc2290e
MESSAGEix-Nexus updates 2021-10 to 2022-09 (#404)
adrivinca Sep 15, 2022
bdc051e
Adding Zambia delineation and water_supply script adjustments
adrivinca Oct 5, 2022
3ba4fdf
Adding demand data for Zambia
adrivinca Oct 5, 2022
a712f20
Improving desalination script, data and model for country-version
adrivinca Oct 5, 2022
23078e7
Adding groundwater script from Pdrive and national data
adrivinca Oct 5, 2022
cd39bcb
Change the duffix of files names
awais307 Oct 6, 2022
19801a7
Add zambia water availability data
awais307 Oct 6, 2022
1fe1bca
Update names and remove basin columns
awais307 Oct 6, 2022
d55282f
Refractor code by adjusting directory names
awais307 Oct 6, 2022
9e38c70
Editing water_for_ppl to match country model
adrivinca Oct 6, 2022
78357c7
Adjusting various scripts to solve a country model
adrivinca Oct 6, 2022
0dec92c
Removing obsolete files and renaming e-flow files for R11
adrivinca Oct 6, 2022
789bd7a
Improving the documentation and running black & isort
adrivinca Oct 6, 2022
869c97f
Add e-flow data and scripts
awais307 Oct 7, 2022
85cb334
Add ZMB file mapping tha status
awais307 Oct 7, 2022
4930ab9
Edits to also run with water SDG policies
adrivinca Oct 7, 2022
69e72af
Address warnings in Sphinx docs build
khaeru Oct 7, 2022
5f65896
Defining sub-annual time-step in cli and adapting a parameter to new …
adrivinca Oct 13, 2022
a75a004
Rename datafiles to account sub annual time
awais307 Oct 14, 2022
9d1b716
Adjust water availbility demands
awais307 Oct 14, 2022
260c705
Add industry water technologies and adapt to sub-annual demand
adrivinca Oct 19, 2022
4bf79e7
Replace 6.0 zambian qtot
awais307 Oct 19, 2022
1a42bb4
Fix the bugs in hydrological data
awais307 Oct 19, 2022
bbf5328
Adapt water_supply and demand to sub-annual
adrivinca Oct 19, 2022
a862c4b
Add monthly e flow for Zambia
awais307 Oct 20, 2022
7d447c0
Fix bug in read_water_availability function
awais307 Oct 20, 2022
41feff9
Adjust e-flow function to account sub-annual e flow data
awais307 Oct 20, 2022
499bb4e
Revert share of surface water calculation
adrivinca Oct 20, 2022
ba958a5
Adds a share calculation function
awais307 Oct 20, 2022
91da6c9
Fix bugs and context.time. compilation works
adrivinca Oct 21, 2022
b9451c3
Starting adapting reporting to industry demand
adrivinca Oct 27, 2022
df94c6c
Account industrial water in reporting
awais307 Oct 27, 2022
a450f08
Remove no climate data files
awais307 Oct 27, 2022
331af1e
Add bias correction to water availability
awais307 Oct 27, 2022
22f4847
Fix e flow function
awais307 Oct 28, 2022
709e30d
Adjust share calculation with bias adjustment
awais307 Oct 28, 2022
a415929
Adjust share calculation with bias adjustment
awais307 Oct 28, 2022
23c277d
Adjust the datetime format for eflow monthly data
awais307 Nov 2, 2022
4a7ac40
Fix e-flow files date format
adrivinca Nov 2, 2022
26ca357
Re-process water data
awais307 Nov 10, 2022
a553dba
Adjust water resource functions per new data
awais307 Nov 10, 2022
96857e3
Small fix in qtot data
awais307 Nov 10, 2022
36103f6
Update water data
awais307 Nov 10, 2022
3f565a9
Add missing year in the data
awais307 Nov 10, 2022
adb4b10
Eflow bias correction
awais307 Nov 11, 2022
46839eb
Replace zambian water availability data
awais307 Nov 11, 2022
63c4cb3
Fix e flow function to account for updated data format
awais307 Nov 11, 2022
68207ef
F
awais307 Nov 13, 2022
c9f1cb9
Fixing water rates for monthly model, commenting irrigation wtdr
adrivinca Dec 2, 2022
65cb67b
Format code as per style
awais307 Dec 10, 2022
f6e1166
Add ISIMIP 3b Zambia data and processing scripts fr that
awais307 Dec 13, 2022
5208157
Adjust script to account for the new data format
awais307 Dec 13, 2022
1524b07
Remove rcp 6 files for Zambia
awais307 Dec 14, 2022
ae90640
Soft code cooling impact dataframe
awais307 Dec 14, 2022
8e7a104
Apply code format
awais307 Dec 14, 2022
f3ded26
Remove unused packages
awais307 Dec 15, 2022
ea23a5d
Remove unnecessary white space
awais307 Dec 15, 2022
25c15be
Updating data with Rcp 7, note on doc
adrivinca Dec 15, 2022
7ffa449
Updating damaged excel files
adrivinca Feb 21, 2023
f83099f
Convert message_data paths in the water module
adrivinca Feb 21, 2023
5781a7a
Running isort -rc . && black . && mypy . && flake8 in the model/water…
adrivinca Feb 21, 2023
a978b7c
Rename water-ix cli function and add in the mix-models list
adrivinca Feb 21, 2023
7ebbb07
Revert the accidental addition of settings.json
adrivinca Feb 21, 2023
f0a0a24
Temporarily adding pytest changes for secondary PR
adrivinca Feb 21, 2023
7268712
Add lint test as well for secondary PR
adrivinca Feb 21, 2023
d4c4233
Updating and rerunning black
adrivinca Feb 21, 2023
82764ad
Add basin names as yaml file
awais307 Feb 24, 2023
620a558
Apply code formatting for lint errors
awais307 Feb 24, 2023
f6543c3
Replace zambian hydrology data
awais307 Feb 24, 2023
2c9da6f
Update documentation
awais307 Feb 24, 2023
01b44c5
Apply minor black formatting
awais307 Feb 24, 2023
4bea547
Remove unnecessary file
awais307 Feb 24, 2023
086e2e6
Format adjustments
awais307 Feb 24, 2023
940438c
Adjust the target rate function in demands
awais307 Feb 24, 2023
4a0ba51
Exclude complex functions from flake8 test
awais307 Feb 27, 2023
0af420f
Avoid C901 and E203 errors from lint testing
awais307 Feb 27, 2023
9c42126
Delete README.txt
awais307 Feb 27, 2023
3e4b963
Rename pre-processing folder to pre_processing
awais307 Feb 27, 2023
1c14e4a
Add double blank space for inline comment to comply formatting
awais307 Feb 27, 2023
72849df
Remove old_R11 folder i.e no longer needed
awais307 Feb 27, 2023
d70ae93
Remove deprecated scripts no longer required
awais307 Feb 27, 2023
be3b0c0
Ignore W503 for flake8 as per the documentation
awais307 Feb 27, 2023
b82aede
Fix the module import sorting in the pre_processing script
awais307 Feb 27, 2023
16b22ea
Improve build and utils scripts to address mypy errors
awais307 Feb 27, 2023
fae1aea
Remove the unused module imported in build.py
awais307 Mar 1, 2023
ce175be
Address mypy errors in .water.build.get_spec()
khaeru Mar 6, 2023
3444abf
Adjust test_structure for presence of B210-R11.yaml
khaeru Mar 6, 2023
2805f12
Remove type hint in .water.utils.map_yv_ya_lt()
khaeru Mar 6, 2023
7b62a27
Update .water.utils.map_yv_ya_lt with code from message_ix
khaeru Mar 6, 2023
80c1b4d
Move .water docs out of source tree
khaeru Mar 6, 2023
3ea58c7
Add water docs to index
khaeru Mar 6, 2023
8aad398
Adjust relative paths in water docs
khaeru Mar 6, 2023
72d3946
Replace docs references to message_data
khaeru Mar 6, 2023
fc925f7
Add sphinxcontrib-bibtex config; parkinson-2019
khaeru Mar 6, 2023
addc11b
Correct spelling errors in doc/water/index
khaeru Mar 6, 2023
298bbc5
Add sphinxcontrib-bibtex to [doc] extra requirements
khaeru Mar 6, 2023
a118164
Expand test_import.py, mirroring message_data
khaeru Mar 6, 2023
eae6230
Add "mix-models water-ix" to test_cli.COMMANDS
khaeru Mar 6, 2023
76bbbf6
Add #88, #91 to doc/whatsnew
khaeru Mar 6, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
branches: [ main, "migrate-*"]

env:
# Maximum McCabe complexity for code
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pytest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
branches: [ main , "migrate-*"]
schedule:
# 05:00 UTC = 06:00 CET = 07:00 CEST
- cron: "0 5 * * *"
Expand Down
6 changes: 6 additions & 0 deletions doc/bibliography.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
References
==========

.. bibliography:: main.bib
:style: plain
:all:
5 changes: 5 additions & 0 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
"sphinx.ext.napoleon",
"sphinx.ext.todo",
"sphinx.ext.viewcode",
"sphinxcontrib.bibtex",
]

# Add any paths that contain templates here, relative to this directory.
Expand Down Expand Up @@ -105,3 +106,7 @@ def setup(app: "sphinx.application.Sphinx") -> None:
# -- Options for sphinx.ext.todo -------------------------------------------------------

todo_include_todos = True

# -- Options for sphinxcontrib.bibtex --------------------------------------------------

bibtex_bibfiles = ["main.bib"]
7 changes: 7 additions & 0 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ Among other tasks, the tools allow modelers to:
cli
repro
distrib
bibliography

.. toctree::
:maxdepth: 2
Expand All @@ -38,6 +39,12 @@ Among other tasks, the tools allow modelers to:
api/testing
api/workflow

.. toctree::
:maxdepth: 2
:caption: Variants and projects

water/index

.. toctree::
:maxdepth: 2
:caption: Package data
Expand Down
11 changes: 11 additions & 0 deletions doc/main.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
@article{parkinson-2019,
author = {Parkinson, Simon and Krey, Volker and Huppmann, Daniel and Kahil, Taher and McCollum, David and Fricko, Oliver and Byers, Edward and Gidden, Matthew J and Mayor, Beatriz and Khan, Zarrar and others},
doi = {10.1088/1748-9326/aaf2a3},
journal = {Environmental Research Letters},
number = {1},
pages = {014009},
publisher = {IOP Publishing},
title = {Balancing clean water-climate change mitigation trade-offs},
volume = {14},
year = {2019}
}
23 changes: 23 additions & 0 deletions doc/water/files.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Data and configuration files
****************************

.. contents::
:local:

Technology (:file:`water/technology.yaml`)
==========================================

.. literalinclude:: ../../message_ix_models/data/water/technology.yaml
:language: yaml

Other sets (:file:`water/set.yaml`)
===================================

.. literalinclude:: ../../message_ix_models/data/water/set.yaml
:language: yaml

Configuration (:file:`water/config.yaml`)
=============================================

.. literalinclude:: ../../message_ix_models/data/water/config.yaml
:language: yaml
155 changes: 155 additions & 0 deletions doc/water/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
MESSAGEix-Nexus (:mod:`.model.water`)
*************************************

:mod:`message_ix_models.model.water` adds water usage and demand related representation to the MESSAGEix-GLOBIOM global model.
The resulting model is referred to as **“MESSAGEix-Nexus”**.
This work extends the water sector linkage described by Parkinson et al. (2019) :cite:`parkinson-2019`.

.. contents::
:local:

CLI usage
=========

Use the :doc:`CLI <message_ix_models:cli>` command ``mix-data water`` to invoke the commands defined in :mod:`.water.cli`. Example:
``mix-models --url=ixmp://ixmp_dev/ENGAGE_SSP2_v4.1.7/baseline_clone_test water cooling``
model and scenario specifications can be either set manually in ``cli.py`` or specified in the ``--url`` option

.. code::

Usage: mix-models water [OPTIONS] COMMAND [ARGS]...

Options:
--regions [ISR|R11|R12|R14|R32|RCP|ZMB]
Code list to use for 'node' dimension.
--help Show this message and exit.

Commands:
cooling Build and solve model with new cooling technologies.
nexus Add basin structure connected to the energy sector and water...
report function to run the water report_full from cli to the scenario...

Country vs Global implementation
--------------------------------

The :mod:`message_ix_models.model.water` is designed to being able to add water components to either a global R11 (or R12) model or any country model designed with `the MESSAGEix single country <https://github.com/iiasa/message_single_country>`_ model prototype.
For any of the region configuration a shapefile is needed to run the pre-processing part, while, once the data is prepared, only a .csv file similar to those in `message_ix_models.data.water.delineation` is needed.

To work with a country model please ensure that:

1. country model and scenario are specified either in ``--url`` or in the ``cli.py`` script
2. the option ``--regions`` is used with the ISO3 code of the country (e.g. for Israel ``--regions=ISR``)
3. Following the Israel example add a 'country'.yaml file in `message_ix_models.data.node` for the specific country
4. Following the Israel example add the country ISO3 code in the 'regions' options in `message_ix_models.utils.click`

Annual vs sub-annual implementation
-----------------------------------

if a sub-annual timestep is defined (e.g. seasons or months), the water module will automatically generate the water system with seasonality, using the `time` set components that is not `year` (assuming that the data has been prepared accordingly).

In the case you want to add seasonality in the water sector to a model with only annual timesteps, the best way is to pre-define the required sets (e.g. `time` and `map_time`).
Then, running the water nexus module will automatically build the sub-annual water module.

In the case there are already multiple sub-annual time-steps levels already defined and not all are relevant to the water module, the components of the set `time` that are of interest for the water module should be manually added as a cli option (e.g. `--time=year` or `--time=[1,2]`)

Code reference
==============

.. currentmodule:: message_ix_models.model.water

.. automodule:: message_ix_models.model.water
:members:

Build and run
-------------

.. automodule:: message_ix_models.model.water.build
:members:

Data preparation
----------------

.. automodule:: message_ix_models.model.water.data
:members:

.. automodule:: message_ix_models.model.water.data.water_for_ppl
:members:

.. automodule:: message_ix_models.model.water.data.demands
:members:

.. automodule:: message_ix_models.model.water.data.infrastructure
:members:

.. automodule:: message_ix_models.model.water.data.water_supply
:members:

.. automodule:: message_ix_models.model.water.data.irrigation
:members:

Utilities and CLI
-----------------

.. automodule:: message_ix_models.model.water.utils
:members:
:exclude-members: read_config

.. automodule:: message_ix_models.model.water.cli
:members:

Reporting
---------

.. warning::

The current reporting features only work for the global model.

.. automodule:: message_ix_models.model.water.reporting
:members:

Data, metadata, and config files
================================

See also :doc:`/water/files`.

- :file:`data/water/`: contains input data used for building the Nexus module

- :file:`delineation/`: contains geospatial files for basin mapping and MESSAGE regions. These spatial files are created through intersecting HydroSHEDS basin and the MESSAGE region shapefile. The scripts and processing data at 'P:\ene.model\NEST\delineation'
- :file:`ppl_cooling_tech/`: contains cooling technology shares, costs and water intensities for different regional definitions
- :file:`water_demands/`: contains water sectoral demands, connection rates for basins
- :file:`water_dist/`: contains water infrastructure (distribution, treatment mapping) and historical and projected capacities of desalination technologies
- :file:`technology.yaml`: metadata for the 'technology' dimension.
- :file:`set.yaml`: metadata for other sets.

Pre-processing
==============
- :file:`data/water/`: contains scripts used in pre_processing source data for the water sector implementation


- :file:`calculate_ppl_cooling_technology_shares.r`: contains script for processing cooling technology shares at global level for different regional specifications.
- :file:`groundwater_harmonize.r`: contains workflow to calculate historical capacity of renewable groundwater, table depth and energy consumption
- :file:`generate_water_constraints.r`: contains function to calculate municipal, manufacturing, rural water demands, water access and sanitation rates
- :file:`desalination.r`: contains script for assessing the historical and possible future desalination capacity of a region or country
- :file:`hydro_agg_raster.py`: contains workflow for processing the hydrological data in NC4 and adjust the unit conversions, daily to monthly aggregation.
- :file:`hydro_agg_spatial.R`: contains workflow for spatially aggregating monthly hydrological data onto basin using appropriate raster masking onto shapefiles
- :file:`hydro_agg_basin.py`: contains workflow for aggregating monthly data to 5 yearly averages using appropriate statistical methods (quantiles, averages etc.).
It also calculates e flows based on Variable MF method.

Deprecated R Code
=================

- :file:`data/water/deprecated`: contains `R` scripts from the older water sector implementation

- :file:`Figures.R`: R script for producing figures
- :file:`cooling_tech_av.R`: contains similar code as in the above-mentioned scripts, but this was originated from another workstream.
- :file:`add_water_infrastructure.R`: contains spatially-explicit analysis of gridded demands and socioeconomic indicators to develop pathways for sectoral water withdrawals, return flows and infrastructure penetration rates in each MESSAGE region. The pathways feature branching points reflecting a specific water sector development narrative (e.g., convergence towards achieving specific SDG targets).

Reference
=========

.. toctree::
:maxdepth: 2

/water/files

.. footbibliography::
6 changes: 4 additions & 2 deletions doc/whatsnew.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
What's new
**********

.. Next release
.. ============
Next release
============

- Add :doc:`/water/index` (:pull:`88`, :pull:`91`).

2023.2.8
========
Expand Down
1 change: 1 addition & 0 deletions message_ix_models/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ def debug(ctx):
submodules = [
"message_ix_models.model.cli",
"message_ix_models.model.structure",
"message_ix_models.model.water.cli",
]

try:
Expand Down
Loading