Giter Site home page Giter Site logo

imod-documentation's Introduction

iMOD Suite Documentation

The iMOD Suite documentation is generated here.

The documentation is set up using Quarto. Read here how to get started using Quarto.

If you want to contribute to the iMOD Suite documentation, please read the contributing guidelines.

Local Build

  1. Install Quarto and pixi
  2. git clone https://github.com/Deltares/iMOD-Documentation.git
  3. cd iMOD-Documentation
  4. pixi run install-pre-commit
  5. pixi run docs
  6. To render PDF (deleting any previously build documentation): quarto render docs --profile manual --to pdf

Project setup

The Quarto project is set up using different profiles, specified in the _quarto-<profile>.yml files. These are:

  • website: The website, render as html
  • manual: The full user manual, render as pdf
  • install: The installation guide, render as pdf. Can be shipped with the release.
  • tutorial: The tutorial pages, render as pdf. Can be used during trainings.

imod-documentation's People

Contributors

dependabot[bot] avatar fransroelofsen avatar github-actions[bot] avatar hofer-julian avatar huite avatar joerivanengelen avatar manangka avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

imod-documentation's Issues

Document iMOD Coupler architecture

As @Huite correctly pointed out, the architecture of imod coupler is currently under-documented.
Especially the following:

  • The preprocessor for Ribasim
  • The preprocessor for MODFLOW 6 (imod-python)
  • The preprocessor (currently imod-python) for the coupling
  • MODFLOW 6 XMI C API is a given
  • Ribasim functionality, not necessarily a given
  • imod_coupler: MODFLOW 6 XMI Wrapper is not necessarily a given
  • imod_coupler: the actual driver
  • Where are the test models exactly hosted?

All things need to be synchronized to get all pipelines running properly. In which order should you push the changes?

Jupyter notebooks missing on index page.

Two issues with current state (see screenshot)

  • Incorrect title chosen for unstructured mesh
  • No listing made for two tutorials added as jupyter notebook

image

PR in progress

Add example to convert an existing 'vanilla' Modflow 2005 model

People who want to transition to the iMOD Suite might have an existing Modflow 2005 model, the 'vanilla' USGS version, that is.

This model can be read using Flopy and consequently be written to a iMODFLOW or Modflow6 model using iMOD Python.
An example of this in either the iMOD Suite documentation or the iMOD Python documentation, would be very useful.

This might be something for the iMOD Python documentation.

Add preprocessing sections to the different driver docs

The current MetaMod coupler documentation section mentions:

  • Configuration
  • Technical reference
  • Example

I think it makes a lot of sense to have another section called "preprocessing". This is obviously relevant to most users, as they will be quite involved with the spatial coupling logic (making sure models align for example).

Such a document should introduce the primod package, explain the requirements before a model can be coupled in terms of its schematization and concepts, mention how the automatic definition is exchanges is done (based on spatial locations), as well as mention the relevant components of all models. A full example is not required, but for readability, some duplication might be desirable.

unclear dll referencing in Coupled MetaSWAP - Modflow6 model example

In GitLab by @tvw11 on Nov 1, 2023, 10:44

By providing a few necessary paths to the modflow and metaswap libraries for iMOD Coupler, we can write the coupled models. You can download the modflow and metaswap libraries as part of the the last iMOD5 release <https://oss.deltares.nl/web/imod/download-imod5>_

mf6_dll = "./path/to/mf6.dll"
metaswap_dll = "./path/to/metaswap.dll"
metaswap_dll_dependency = "./path/to/metaswap/dll/dependency"

Downloading via the link went fine, but afterwards it is unclear which paths should be inserted here, especially the metaswap_dll_dependency, which should be the dir (probably renaming to metaswap_coupler_dir could already make it more clear).

Installing mamba

At the default installation of mamba, mamba is not added to the PATH. mamba is then not recongnized

Add jupyter notebook of software days to tutorials sections

For the last Delft Software Days, we've made course material in the form of a jupyter notebook.
So far, we have not added that to the iMOD Documentation.

Quarto supports including Jupyter notebooks, so it shouldn't be too much work to add this.

Request for clarification in the documentation

I was asked by @Hofer-Julian to review the iMOD documentation and there are a couple of points that I would like to address:

Introduction

https://deltares.github.io/iMOD-Documentation/introduction.html#tbl-iMOD-comparison

The comparison table uses the terms iMOD GUI and MODFLOW 2005, iMOD 3D Viewer. To me it is unclear if the iMOD GUI and the iMOD 3D Viewer are the same. And I also understand that it should be iMODFLOW and not MODFLOW 2005, since it is a heavily modified fork of MODFLOW 2005.

iMOD Viewer

https://deltares.github.io/iMOD-Documentation/viewer_install.html#sec-install_QGIS

Link is not formatted correctly. Probably a simple whitespace issue.

Add practical tip and known tip: How to enable long paths

Quite commonly errors are thrown because long paths not enabled. This is especially common on Windows computational servers, which consist of virtual machines which have long paths disabled (usually this is standard, unfortunately). What makes this more annoying, is that the virtual machines not always print the actual paths (which are long, containing all kinds of hashes and words like "SNAPVOLUMES"), so little clues are left to the source of problems.

For example, I just had a colleague where Deltaforge threw a vague "Extraction failed" error (Miniconda installer as well), and the issue in the end was resolved by enabling long paths.

Relevant tip how to fix (can probably link):
https://www.howtogeek.com/266621/how-to-make-windows-10-accept-file-paths-over-260-characters/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.