Skip to content
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

add plugin quickstart docs page #446

Merged
merged 38 commits into from
Sep 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
4184702
add plugin quickstart docs page
savente93 Jul 17, 2023
ab473df
Merge branch 'main' into plugin-quickstart
savente93 Jul 18, 2023
30ca20c
Merge branch 'main' into plugin-quickstart
savente93 Jul 18, 2023
adb3ff1
move plugin quickstart to dev part of docs
savente93 Jul 20, 2023
dfd257f
add docs about how to start plugin
savente93 Jul 21, 2023
ed46503
update changelog
savente93 Jul 21, 2023
0643c9d
Merge branch 'main' into plugin-quickstart
savente93 Jul 27, 2023
933201e
Merge branch 'main' into plugin-quickstart
savente93 Jul 31, 2023
8d29f0a
add plugin to dev toc
savente93 Jul 31, 2023
0f0f06a
Merge branch 'main' into plugin-quickstart
savente93 Jul 31, 2023
7da1ec9
Merge branch 'main' into plugin-quickstart
savente93 Aug 3, 2023
728a48d
Merge branch 'main' into plugin-quickstart
savente93 Aug 8, 2023
eb90136
Avoid RecursionError when using Model.set methods inside Model.read m…
DirkEilander Aug 9, 2023
94ab7eb
remove deprecated dependency group and associated code (#467)
savente93 Aug 10, 2023
2eb5c69
Merge branch 'main' into plugin-quickstart
savente93 Aug 10, 2023
acc27d2
Merge branch 'main' into plugin-quickstart
savente93 Aug 10, 2023
2035637
Merge branch 'main' into plugin-quickstart
savente93 Aug 10, 2023
f8113d8
Merge branch 'main' into plugin-quickstart
savente93 Aug 24, 2023
cd173ab
review eva notebook
hboisgon Aug 24, 2023
7930740
Merge branch 'main' into plugin-quickstart
savente93 Aug 24, 2023
9b55a75
update links to plugin template to reflect transfer
savente93 Aug 30, 2023
3053a09
add more doc on plugin development
hboisgon Sep 1, 2023
de51fc9
Merge branch 'main' into plugin-quickstart
savente93 Sep 5, 2023
d891272
Apply suggestions from code review
savente93 Sep 7, 2023
440b850
Merge branch 'main' into plugin-quickstart
savente93 Sep 8, 2023
04cffe8
fix a few review comments
savente93 Sep 8, 2023
425a50d
Merge branch 'main' into plugin-quickstart
savente93 Sep 15, 2023
acbff36
Merge branch 'main' into plugin-quickstart
savente93 Sep 15, 2023
2c410df
Merge branch 'main' into plugin-quickstart
savente93 Sep 15, 2023
3894240
Merge branch 'main' into plugin-quickstart
savente93 Sep 19, 2023
652567d
Merge branch 'main' into plugin-quickstart
savente93 Sep 19, 2023
57cfe30
fix a few review comments
savente93 Sep 19, 2023
98bae6b
move hydromt overview to general userguid
savente93 Sep 19, 2023
adf62ef
remove duplicate section
savente93 Sep 19, 2023
cbbea31
reorder a few paragraphs
savente93 Sep 19, 2023
7bcb272
do some light editing
savente93 Sep 19, 2023
1718f69
pre-commit
savente93 Sep 20, 2023
c59efe6
final edits docs from my side
DirkEilander Sep 20, 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
Binary file added docs/_static/model_building_process.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/plugin_structure.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 5 additions & 1 deletion docs/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -167,9 +167,9 @@ Model attributes

Model.crs
Model.region
Model.root
Model.api


Model components and attributes
-------------------------------

Expand Down Expand Up @@ -374,6 +374,7 @@ Setup methods
MeshModel.setup_maps_from_rasterdataset
MeshModel.setup_maps_from_raster_reclass

.. _workflows_api:

=========
Workflows
Expand Down Expand Up @@ -495,6 +496,7 @@ Raster writing methods
DataArray.raster.to_raster
Dataset.raster.to_mapstack

.. _raster_api:

==============
Raster methods
Expand Down Expand Up @@ -640,6 +642,8 @@ Low level methods
gis_utils.axes_attrs
gis_utils.meridian_offset

.. _geodataset_api:

==================
GeoDataset methods
==================
Expand Down
1 change: 1 addition & 0 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Added
- Allow the root of a data catalog to point to an archive, this will be extracted to the ~/.hydromt_data folder. (PR #512)
- Support for reading overviews from (Cloud Optimized) GeoTIFFs using the zoom_level argument of ``DataCatalog.get_rasterdataset``. (PR #514)
- Support for writing overviews to (Cloud Optimized) GeoTIFFs in the ``raster.to_raster`` method. (PR #514)
- Added documentation for how to start your own plugin (#446)

Changed
-------
Expand Down
1 change: 1 addition & 0 deletions docs/dev/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ Furthermore it informs you on recent and planned developments.
contributing.rst
dev_install.rst
team.rst
plugin-quickstart.rst
588 changes: 588 additions & 0 deletions docs/dev/plugin-quickstart.rst

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions docs/getting_started/examples_index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,8 @@ GIS operations:

* `Working with raster data <../_examples/working_with_raster.ipynb>`_
* `Working with flow direction data <../_examples/working_with_flow_directions.ipynb>`_

Statistical Analysis:
***********************

* `Extreme Value Analysis <../_examples/doing_extreme_value_analysis.ipynb>`_
9 changes: 9 additions & 0 deletions docs/plugins.rst
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,12 @@ About the model software
.. _SFINCS: https://sfincs.readthedocs.io/en/latest/
.. _Delwaq: https://www.deltares.nl/en/software/module/d-water-quality/
.. _Delft-FIAT: https://publicwiki.deltares.nl/display/DFIAT/Delft-FIAT+Home

Starting your own plugin
------------------------

If you would like to start your own HydroMT plugin for another model or software, we have some
tips or a quick start page for you: :ref:`plugin_quickstart`.

If you would like your plugin to appear on this page, please contact us via the issue board of
HydroMT!
19 changes: 18 additions & 1 deletion docs/user_guide/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,23 @@ or analyze model results. Furthermore, a Python interface is available that expo
all functionality for experienced users. A schematic overview of the package architecture is provided
in the figure below and each HydroMT component is discussed below.

HydroMT is organized in the following way:
In short, there are three important concepts in HydroMT core that are important to cover:

- ``DataAdapters`` and ``DataCatalog``: These are what basically hold all information about how to approach and read data as well as some of the metadata
about it. While a lot of the work in HydroMT happens here, plugins or users shouldn't really need to know about these beyond using
the proper ``data_type`` in their configuration. ``DataCatalog`` are basically just a thin wrapper around the ``DataAdapters`` that does some book keeping.
- ``Workflows``: These are functions that transform input data and can call a set of methods to for example, resample, fill nodata, reproject, derive
other variables etc. The core has some of these workflows but you may need new ones for your plugin.
- ``Model``: This is where the magic happens (as far as the plugin is concerned). We have provided some generic models that you can
override to get basic/generic functionality, but using the model functionality is where it will be at for you. The scheme below lists the current
relationship between the HydroMT ``Model`` and generic sub-Model classes and the know plugins.


.. figure:: ../_static/plugin_structure.png

Schematic of Model and plugin structure of HydroMT

More concretely HydroMT is organized in the following way:

- **Input Data**

Expand Down Expand Up @@ -159,3 +175,4 @@ Region Argument of the *build* and *clip* CLI methods t
../_examples/working_with_raster.ipynb
../_examples/working_with_geodatasets.ipynb
../_examples/working_with_flow_directions.ipynb
../_examples/doing_extreme_value_analysis.ipynb
Loading