Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eae1f83a73 | ||
|
|
a738bf3679 | ||
|
|
888002cd10 | ||
|
|
e1880c6549 | ||
|
|
9f0caaaa69 | ||
|
|
fa35d49a42 | ||
|
|
4935069864 | ||
|
|
6438d23304 |
No files matched your search
@@ -19,8 +19,6 @@ tmp
|
|||||||
*.pdf
|
*.pdf
|
||||||
*.odt
|
*.odt
|
||||||
|
|
||||||
!doc/**/*.pdf
|
|
||||||
|
|
||||||
doc/dev/images/auto_*
|
doc/dev/images/auto_*
|
||||||
doc/dev/documentation.*
|
doc/dev/documentation.*
|
||||||
!doc/dev/*.org
|
!doc/dev/*.org
|
||||||
@@ -270,7 +268,6 @@ flycheck_*.el
|
|||||||
|
|
||||||
|
|
||||||
# End of https://www.toptal.com/developers/gitignore/api/emacs
|
# End of https://www.toptal.com/developers/gitignore/api/emacs
|
||||||
|
|
||||||
# Created by https://www.toptal.com/developers/gitignore/api/qt
|
# Created by https://www.toptal.com/developers/gitignore/api/qt
|
||||||
# Edit at https://www.toptal.com/developers/gitignore?templates=qt
|
# Edit at https://www.toptal.com/developers/gitignore?templates=qt
|
||||||
|
|
||||||
@@ -646,233 +643,3 @@ TSWLatexianTemp*
|
|||||||
*.glstex
|
*.glstex
|
||||||
|
|
||||||
# End of https://www.toptal.com/developers/gitignore/api/latex
|
# End of https://www.toptal.com/developers/gitignore/api/latex
|
||||||
|
|
||||||
# Created by https://www.toptal.com/developers/gitignore/api/intellij
|
|
||||||
# Edit at https://www.toptal.com/developers/gitignore?templates=intellij
|
|
||||||
|
|
||||||
### Intellij ###
|
|
||||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
|
||||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
|
||||||
|
|
||||||
# User-specific stuff
|
|
||||||
.idea/**/workspace.xml
|
|
||||||
.idea/**/tasks.xml
|
|
||||||
.idea/**/usage.statistics.xml
|
|
||||||
.idea/**/dictionaries
|
|
||||||
.idea/**/shelf
|
|
||||||
|
|
||||||
# AWS User-specific
|
|
||||||
.idea/**/aws.xml
|
|
||||||
|
|
||||||
# Generated files
|
|
||||||
.idea/**/contentModel.xml
|
|
||||||
|
|
||||||
# Sensitive or high-churn files
|
|
||||||
.idea/**/dataSources/
|
|
||||||
.idea/**/dataSources.ids
|
|
||||||
.idea/**/dataSources.local.xml
|
|
||||||
.idea/**/sqlDataSources.xml
|
|
||||||
.idea/**/dynamic.xml
|
|
||||||
.idea/**/uiDesigner.xml
|
|
||||||
.idea/**/dbnavigator.xml
|
|
||||||
|
|
||||||
# Gradle
|
|
||||||
.idea/**/gradle.xml
|
|
||||||
.idea/**/libraries
|
|
||||||
|
|
||||||
# Gradle and Maven with auto-import
|
|
||||||
# When using Gradle or Maven with auto-import, you should exclude module files,
|
|
||||||
# since they will be recreated, and may cause churn. Uncomment if using
|
|
||||||
# auto-import.
|
|
||||||
# .idea/artifacts
|
|
||||||
# .idea/compiler.xml
|
|
||||||
# .idea/jarRepositories.xml
|
|
||||||
# .idea/modules.xml
|
|
||||||
# .idea/*.iml
|
|
||||||
# .idea/modules
|
|
||||||
# *.iml
|
|
||||||
# *.ipr
|
|
||||||
|
|
||||||
# CMake
|
|
||||||
cmake-build-*/
|
|
||||||
|
|
||||||
# Mongo Explorer plugin
|
|
||||||
.idea/**/mongoSettings.xml
|
|
||||||
|
|
||||||
# File-based project format
|
|
||||||
*.iws
|
|
||||||
|
|
||||||
# IntelliJ
|
|
||||||
out/
|
|
||||||
|
|
||||||
# mpeltonen/sbt-idea plugin
|
|
||||||
.idea_modules/
|
|
||||||
|
|
||||||
# JIRA plugin
|
|
||||||
atlassian-ide-plugin.xml
|
|
||||||
|
|
||||||
# Cursive Clojure plugin
|
|
||||||
.idea/replstate.xml
|
|
||||||
|
|
||||||
# SonarLint plugin
|
|
||||||
.idea/sonarlint/
|
|
||||||
|
|
||||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
|
||||||
com_crashlytics_export_strings.xml
|
|
||||||
crashlytics.properties
|
|
||||||
crashlytics-build.properties
|
|
||||||
fabric.properties
|
|
||||||
|
|
||||||
# Editor-based Rest Client
|
|
||||||
.idea/httpRequests
|
|
||||||
|
|
||||||
# Android studio 3.1+ serialized cache file
|
|
||||||
.idea/caches/build_file_checksums.ser
|
|
||||||
|
|
||||||
### Intellij Patch ###
|
|
||||||
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
|
|
||||||
|
|
||||||
# *.iml
|
|
||||||
# modules.xml
|
|
||||||
# .idea/misc.xml
|
|
||||||
# *.ipr
|
|
||||||
|
|
||||||
# Sonarlint plugin
|
|
||||||
# https://plugins.jetbrains.com/plugin/7973-sonarlint
|
|
||||||
.idea/**/sonarlint/
|
|
||||||
|
|
||||||
# SonarQube Plugin
|
|
||||||
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
|
|
||||||
.idea/**/sonarIssues.xml
|
|
||||||
|
|
||||||
# Markdown Navigator plugin
|
|
||||||
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
|
|
||||||
.idea/**/markdown-navigator.xml
|
|
||||||
.idea/**/markdown-navigator-enh.xml
|
|
||||||
.idea/**/markdown-navigator/
|
|
||||||
|
|
||||||
# Cache file creation bug
|
|
||||||
# See https://youtrack.jetbrains.com/issue/JBR-2257
|
|
||||||
.idea/$CACHE_FILE$
|
|
||||||
|
|
||||||
# CodeStream plugin
|
|
||||||
# https://plugins.jetbrains.com/plugin/12206-codestream
|
|
||||||
.idea/codestream.xml
|
|
||||||
|
|
||||||
# Azure Toolkit for IntelliJ plugin
|
|
||||||
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
|
|
||||||
.idea/**/azureSettings.xml
|
|
||||||
|
|
||||||
# End of https://www.toptal.com/developers/gitignore/api/intellij
|
|
||||||
|
|
||||||
# Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode
|
|
||||||
# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode
|
|
||||||
|
|
||||||
### VisualStudioCode ###
|
|
||||||
.vscode/*
|
|
||||||
!.vscode/settings.json
|
|
||||||
!.vscode/tasks.json
|
|
||||||
!.vscode/launch.json
|
|
||||||
!.vscode/extensions.json
|
|
||||||
!.vscode/*.code-snippets
|
|
||||||
|
|
||||||
# Local History for Visual Studio Code
|
|
||||||
.history/
|
|
||||||
|
|
||||||
# Built Visual Studio Code Extensions
|
|
||||||
*.vsix
|
|
||||||
|
|
||||||
### VisualStudioCode Patch ###
|
|
||||||
# Ignore all local history of files
|
|
||||||
.history
|
|
||||||
.ionide
|
|
||||||
|
|
||||||
# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode
|
|
||||||
|
|
||||||
# Created by https://www.toptal.com/developers/gitignore/api/linux
|
|
||||||
# Edit at https://www.toptal.com/developers/gitignore?templates=linux
|
|
||||||
|
|
||||||
### Linux ###
|
|
||||||
*~
|
|
||||||
|
|
||||||
# temporary files which can be created if a process still has a handle open of a deleted file
|
|
||||||
.fuse_hidden*
|
|
||||||
|
|
||||||
# KDE directory preferences
|
|
||||||
.directory
|
|
||||||
|
|
||||||
# Linux trash folder which might appear on any partition or disk
|
|
||||||
.Trash-*
|
|
||||||
|
|
||||||
# .nfs files are created when an open file is removed but is still being accessed
|
|
||||||
.nfs*
|
|
||||||
|
|
||||||
# End of https://www.toptal.com/developers/gitignore/api/linux
|
|
||||||
|
|
||||||
# Created by https://www.toptal.com/developers/gitignore/api/macos
|
|
||||||
# Edit at https://www.toptal.com/developers/gitignore?templates=macos
|
|
||||||
|
|
||||||
### macOS ###
|
|
||||||
# General
|
|
||||||
.DS_Store
|
|
||||||
.AppleDouble
|
|
||||||
.LSOverride
|
|
||||||
|
|
||||||
# Icon must end with two \r
|
|
||||||
Icon
|
|
||||||
|
|
||||||
# Thumbnails
|
|
||||||
._*
|
|
||||||
|
|
||||||
# Files that might appear in the root of a volume
|
|
||||||
.DocumentRevisions-V100
|
|
||||||
.fseventsd
|
|
||||||
.Spotlight-V100
|
|
||||||
.TemporaryItems
|
|
||||||
.Trashes
|
|
||||||
.VolumeIcon.icns
|
|
||||||
.com.apple.timemachine.donotpresent
|
|
||||||
|
|
||||||
# Directories potentially created on remote AFP share
|
|
||||||
.AppleDB
|
|
||||||
.AppleDesktop
|
|
||||||
Network Trash Folder
|
|
||||||
Temporary Items
|
|
||||||
.apdisk
|
|
||||||
|
|
||||||
### macOS Patch ###
|
|
||||||
# iCloud generated files
|
|
||||||
*.icloud
|
|
||||||
|
|
||||||
# End of https://www.toptal.com/developers/gitignore/api/macos
|
|
||||||
|
|
||||||
# Created by https://www.toptal.com/developers/gitignore/api/windows
|
|
||||||
# Edit at https://www.toptal.com/developers/gitignore?templates=windows
|
|
||||||
|
|
||||||
### Windows ###
|
|
||||||
# Windows thumbnail cache files
|
|
||||||
Thumbs.db
|
|
||||||
Thumbs.db:encryptable
|
|
||||||
ehthumbs.db
|
|
||||||
ehthumbs_vista.db
|
|
||||||
|
|
||||||
# Dump file
|
|
||||||
*.stackdump
|
|
||||||
|
|
||||||
# Folder config file
|
|
||||||
[Dd]esktop.ini
|
|
||||||
|
|
||||||
# Recycle Bin used on file shares
|
|
||||||
$RECYCLE.BIN/
|
|
||||||
|
|
||||||
# Windows Installer files
|
|
||||||
*.cab
|
|
||||||
*.msi
|
|
||||||
*.msix
|
|
||||||
*.msm
|
|
||||||
*.msp
|
|
||||||
|
|
||||||
# Windows shortcuts
|
|
||||||
*.lnk
|
|
||||||
|
|
||||||
# End of https://www.toptal.com/developers/gitignore/api/windows
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
# .gitlab-ci.yml -- Pamhyr gitlab-ci
|
# .gitlab-ci.yml -- Pamhyr gitlab-ci
|
||||||
# Copyright (C) 2023-2024 INRAE
|
# Copyright (C) 2023 INRAE
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -20,68 +20,45 @@ stages:
|
|||||||
- test
|
- test
|
||||||
- build
|
- build
|
||||||
- package
|
- package
|
||||||
- hash
|
|
||||||
- antivirus
|
|
||||||
- release
|
- release
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# DOWNLOADS #
|
# DOWNLOADS #
|
||||||
#############
|
#############
|
||||||
|
|
||||||
variables:
|
dl-mage-linux:
|
||||||
MAGE_8_VERSION: "v8.3.6"
|
|
||||||
|
|
||||||
dl-mage8-doc:
|
|
||||||
stage: downloads
|
stage: downloads
|
||||||
tags:
|
tags:
|
||||||
- linux
|
- linux
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||||
script:
|
script:
|
||||||
- mkdir -p doc
|
- curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/v8.3.0/downloads/packages/mage_linux.tgz
|
||||||
- cd doc
|
- mkdir -p mage-linux
|
||||||
- curl -L -o mage8.pdf https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/$MAGE_8_VERSION/downloads/documents/Mage-8_Documentation.pdf
|
- cd mage-linux
|
||||||
|
- tar xvf ../mage.tgz
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- doc/mage8.pdf
|
- mage-linux/mage
|
||||||
|
- mage-linux/mage_extraire
|
||||||
|
- mage-linux/mailleurPF
|
||||||
|
|
||||||
dl-mage8-linux:
|
dl-mage-windows:
|
||||||
stage: downloads
|
stage: downloads
|
||||||
tags:
|
tags:
|
||||||
- linux
|
- linux
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||||
script:
|
script:
|
||||||
- curl -L -o mage8.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/$MAGE_8_VERSION/downloads/packages/mage_linux.tgz
|
- curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/v8.3.0/downloads/packages/mage_windows.tgz
|
||||||
- mkdir -p mage8-linux
|
- mkdir -p mage-windows
|
||||||
- cd mage8-linux
|
- cd mage-windows
|
||||||
- tar xvf ../mage8.tgz
|
- tar xvf ../mage.tgz
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- mage8-linux/mage
|
- mage-windows/mage.exe
|
||||||
- mage8-linux/mage_as7
|
- mage-windows/mage_extraire.exe
|
||||||
- mage8-linux/mage_extraire
|
- mage-windows/mailleurPF.exe
|
||||||
- mage8-linux/mailleurTT
|
|
||||||
- mage8-linux/libbief.so
|
|
||||||
|
|
||||||
dl-mage8-windows:
|
|
||||||
stage: downloads
|
|
||||||
tags:
|
|
||||||
- linux
|
|
||||||
rules:
|
|
||||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
|
||||||
script:
|
|
||||||
- curl -L -o mage8.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/$MAGE_8_VERSION/downloads/packages/mage_windows.tgz
|
|
||||||
- mkdir -p mage8-windows
|
|
||||||
- cd mage8-windows
|
|
||||||
- tar xvf ../mage8.tgz
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- mage8-windows/mage.exe
|
|
||||||
- mage8-windows/mage_as7.exe
|
|
||||||
- mage8-windows/mage_extraire.exe
|
|
||||||
- mage8-windows/mailleurTT.exe
|
|
||||||
- mage8-windows/libbief.dll
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# CONFIGURE #
|
# CONFIGURE #
|
||||||
@@ -152,24 +129,7 @@ test-pep8:
|
|||||||
# BUILD #
|
# BUILD #
|
||||||
#########
|
#########
|
||||||
|
|
||||||
# build-users-doc:
|
build-users-doc:
|
||||||
# stage: build
|
|
||||||
# tags:
|
|
||||||
# - linux
|
|
||||||
# needs:
|
|
||||||
# - job: set-version
|
|
||||||
# artifacts: true
|
|
||||||
# script:
|
|
||||||
# - cd ./doc/users/
|
|
||||||
# - ./build.sh
|
|
||||||
# artifacts:
|
|
||||||
# paths:
|
|
||||||
# - doc/users/documentation.pdf
|
|
||||||
# - doc/users/documentation.html
|
|
||||||
# - doc/users/images/
|
|
||||||
# allow_failure: true
|
|
||||||
|
|
||||||
build-td:
|
|
||||||
stage: build
|
stage: build
|
||||||
tags:
|
tags:
|
||||||
- linux
|
- linux
|
||||||
@@ -177,13 +137,13 @@ build-td:
|
|||||||
- job: set-version
|
- job: set-version
|
||||||
artifacts: true
|
artifacts: true
|
||||||
script:
|
script:
|
||||||
- cd ./doc/users/Tuto1/
|
- cd ./doc/users/
|
||||||
- ./build.sh
|
- ./build.sh
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- doc/users/Tuto1/step-by-step.pdf
|
- doc/users/documentation.pdf
|
||||||
- doc/users/Tuto1/pas-a-pas.pdf
|
- doc/users/documentation.html
|
||||||
- doc/users/Tuto1/data/
|
- doc/users/images/
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
build-developers-doc:
|
build-developers-doc:
|
||||||
@@ -224,9 +184,7 @@ build-linux:
|
|||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||||
needs:
|
needs:
|
||||||
- job: dl-mage8-linux
|
- job: dl-mage-linux
|
||||||
artifacts: true
|
|
||||||
- job: dl-mage8-doc
|
|
||||||
artifacts: true
|
artifacts: true
|
||||||
- job: set-version
|
- job: set-version
|
||||||
artifacts: true
|
artifacts: true
|
||||||
@@ -234,9 +192,7 @@ build-linux:
|
|||||||
artifacts: true
|
artifacts: true
|
||||||
- job: build-developers-doc
|
- job: build-developers-doc
|
||||||
artifacts: true
|
artifacts: true
|
||||||
# - job: build-users-doc
|
- job: build-users-doc
|
||||||
# artifacts: true
|
|
||||||
- job: build-td
|
|
||||||
artifacts: true
|
artifacts: true
|
||||||
script:
|
script:
|
||||||
- mkdir -p linux
|
- mkdir -p linux
|
||||||
@@ -251,32 +207,28 @@ build-linux:
|
|||||||
- pyinstaller -y --paths linux-venv/lib/python3.8/site-packages ../src/pamhyr.py
|
- pyinstaller -y --paths linux-venv/lib/python3.8/site-packages ../src/pamhyr.py
|
||||||
# Create directory
|
# Create directory
|
||||||
- mkdir -p pamhyr
|
- mkdir -p pamhyr
|
||||||
- mkdir -p pamhyr/_internal
|
- mkdir -p pamhyr/pamhyr
|
||||||
|
- mkdir -p pamhyr/pamhyr/_internal
|
||||||
# Copy Pamhyr info
|
# Copy Pamhyr info
|
||||||
- cp -v ../VERSION pamhyr/_internal/
|
- cp -v ../VERSION pamhyr/pamhyr/_internal/
|
||||||
- cp -v ../AUTHORS pamhyr/_internal/
|
- cp -v ../AUTHORS pamhyr/pamhyr/_internal/
|
||||||
- cp -v ../LICENSE pamhyr/_internal/
|
- cp -v ../LICENSE pamhyr/pamhyr/_internal/
|
||||||
- cp -v ../src/motd.txt pamhyr/_internal/
|
- cp -v ../src/motd.txt pamhyr/pamhyr/_internal/
|
||||||
# Copy mage
|
# Copy mage
|
||||||
- mkdir -p pamhyr/mage8
|
- mkdir -p pamhyr/mage
|
||||||
- cp -v ../mage8-linux/* pamhyr/mage8/
|
- cp -v ../mage-linux/* pamhyr/mage/
|
||||||
# Copy Pamhyr
|
# Copy Pamhyr
|
||||||
- cp -r dist/pamhyr/* pamhyr/
|
- cp -r dist/pamhyr pamhyr/
|
||||||
# Pamhyr script to force x11
|
|
||||||
- echo '#!/usr/bin/env bash' > pamhyr/pamhyr-x11
|
|
||||||
- echo "" >> pamhyr/pamhyr-x11
|
|
||||||
- echo "GDK_BACKEND=x11 ./pamhyr $@" >> pamhyr/pamhyr-x11
|
|
||||||
- chmod +x pamhyr/pamhyr-x11
|
|
||||||
# Copy Pamhyr resources
|
# Copy Pamhyr resources
|
||||||
- mkdir -p pamhyr/_internal/View
|
- mkdir -p pamhyr/pamhyr/_internal/View
|
||||||
- mkdir -p pamhyr/_internal/View/ui
|
- mkdir -p pamhyr/pamhyr/_internal/View/ui
|
||||||
- mkdir -p pamhyr/_internal/View/ui/Widgets
|
- mkdir -p pamhyr/pamhyr/_internal/View/ui/Widgets
|
||||||
- cp -r ../src/View/ui/*.ui pamhyr/_internal/View/ui/
|
- cp -r ../src/View/ui/*.ui pamhyr/pamhyr/_internal/View/ui/
|
||||||
- cp -r ../src/View/ui/ressources/ pamhyr/_internal/View/ui
|
- cp -r ../src/View/ui/ressources/ pamhyr/pamhyr/_internal/View/ui
|
||||||
- cp -r ../src/View/ui/Widgets/*.ui pamhyr/_internal/View/ui/Widgets
|
- cp -r ../src/View/ui/Widgets/*.ui pamhyr/pamhyr/_internal/View/ui/Widgets
|
||||||
# Copy lang
|
# Copy lang
|
||||||
- mkdir -p pamhyr/_internal/lang
|
- mkdir -p pamhyr/pamhyr/_internal/lang
|
||||||
- cp -r ../src/lang/*.qm pamhyr/_internal/lang
|
- cp -r ../src/lang/*.qm pamhyr/pamhyr/_internal/lang
|
||||||
# Copy tests cases
|
# Copy tests cases
|
||||||
- mkdir -p pamhyr/tests_cases/
|
- mkdir -p pamhyr/tests_cases/
|
||||||
- mkdir -p pamhyr/tests_cases/Saar
|
- mkdir -p pamhyr/tests_cases/Saar
|
||||||
@@ -285,25 +237,17 @@ build-linux:
|
|||||||
- mkdir -p pamhyr/doc/
|
- mkdir -p pamhyr/doc/
|
||||||
- mkdir -p pamhyr/doc/images/
|
- mkdir -p pamhyr/doc/images/
|
||||||
- mkdir -p pamhyr/doc/html/
|
- mkdir -p pamhyr/doc/html/
|
||||||
# - cp ../doc/users/documentation.pdf pamhyr/doc/Pamhyr2-users.pdf
|
- cp ../doc/users/documentation.pdf pamhyr/doc/Pamhyr2-users.pdf
|
||||||
# - cp ../doc/users/documentation.html pamhyr/doc/Pamhyr2-users.html
|
- cp ../doc/users/documentation.html pamhyr/doc/Pamhyr2-users.html
|
||||||
- cp ../doc/mage8.pdf pamhyr/doc/mage8.pdf
|
|
||||||
- cp ../doc/dev/documentation.pdf pamhyr/doc/Pamhyr2-dev.pdf
|
- cp ../doc/dev/documentation.pdf pamhyr/doc/Pamhyr2-dev.pdf
|
||||||
- cp ../doc/dev/documentation.html pamhyr/doc/Pamhyr2-dev.html
|
- cp ../doc/dev/documentation.html pamhyr/doc/Pamhyr2-dev.html
|
||||||
#- cp ../doc/users/images/* pamhyr/doc/images
|
#- cp ../doc/users/images/* pamhyr/doc/images
|
||||||
- cp -r ../doc/dev/images/* pamhyr/doc/images
|
- cp ../doc/dev/images/* pamhyr/doc/images
|
||||||
- cp -r ../doc/images/* pamhyr/doc/images
|
- cp ../doc/images/* pamhyr/doc/images
|
||||||
# Copy Tuto
|
# Create running script
|
||||||
- mkdir -p pamhyr/doc/Tuto1/
|
- echo "#!/bin/sh" > pamhyr/Pamhyr2
|
||||||
- mkdir -p pamhyr/doc/Tuto1/data
|
- echo "./pamhyr/pamhyr $@" >> pamhyr/Pamhyr2
|
||||||
- cp ../doc/users/Tuto1/Hogneau_Engees2022.pdf pamhyr/doc/Tuto1/Hogneau_Engees2022.pdf
|
- chmod u+x pamhyr/Pamhyr2
|
||||||
- cp ../doc/users/Tuto1/step-by-step.pdf pamhyr/doc/Tuto1/Tuto1-en.pdf
|
|
||||||
- cp ../doc/users/Tuto1/pas-a-pas.pdf pamhyr/doc/Tuto1/Tuto1-fr.pdf
|
|
||||||
- cp ../doc/users/Tuto1/*.pamhyr pamhyr/doc/Tuto1/
|
|
||||||
- cp ../doc/users/Tuto1/data/* pamhyr/doc/Tuto1/data/
|
|
||||||
# Copy TP charriage
|
|
||||||
- mkdir -p pamhyr/doc/TP_charriage/
|
|
||||||
- cp ../doc/users/TP_charriage/* pamhyr/doc/TP_charriage
|
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- linux/pamhyr
|
- linux/pamhyr
|
||||||
@@ -315,9 +259,7 @@ build-windows:
|
|||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||||
needs:
|
needs:
|
||||||
- job: dl-mage8-windows
|
- job: dl-mage-windows
|
||||||
artifacts: true
|
|
||||||
- job: dl-mage8-doc
|
|
||||||
artifacts: true
|
artifacts: true
|
||||||
- job: set-version
|
- job: set-version
|
||||||
artifacts: true
|
artifacts: true
|
||||||
@@ -325,20 +267,16 @@ build-windows:
|
|||||||
artifacts: true
|
artifacts: true
|
||||||
- job: build-developers-doc
|
- job: build-developers-doc
|
||||||
artifacts: true
|
artifacts: true
|
||||||
# - job: build-users-doc
|
- job: build-users-doc
|
||||||
# artifacts: true
|
|
||||||
- job: build-td
|
|
||||||
artifacts: true
|
artifacts: true
|
||||||
script:
|
script:
|
||||||
- mkdir windows
|
- mkdir windows
|
||||||
- cd windows
|
- cd windows
|
||||||
# Setup env
|
# Setup env
|
||||||
- python -m pip install -U pip
|
|
||||||
- python -m pip install -r ..\requirements.txt
|
- python -m pip install -r ..\requirements.txt
|
||||||
- python -m pip install -U -r ..\requirements.txt
|
- python -m pip install -U -r ..\requirements.txt
|
||||||
# Run Pyinstaller
|
# Run Pyinstaller
|
||||||
# - pyinstaller --noconsole -y ..\src\pamhyr.py
|
- pyinstaller -y ..\src\pamhyr.py
|
||||||
- pyinstaller -i ../src/View/ui/ressources/icon.ico --hide-console hide-early -y ..\src\pamhyr.py
|
|
||||||
# Create directory
|
# Create directory
|
||||||
- mkdir pamhyr
|
- mkdir pamhyr
|
||||||
- dir
|
- dir
|
||||||
@@ -408,111 +346,6 @@ windows-package-exe:
|
|||||||
- copy ..\packages\pamhyr.nsi pamhyr.nsi
|
- copy ..\packages\pamhyr.nsi pamhyr.nsi
|
||||||
- .\make-windows-exe.bat
|
- .\make-windows-exe.bat
|
||||||
|
|
||||||
########
|
|
||||||
# HASH #
|
|
||||||
########
|
|
||||||
|
|
||||||
linux-build-hash:
|
|
||||||
stage: hash
|
|
||||||
tags:
|
|
||||||
- release
|
|
||||||
- linux
|
|
||||||
needs:
|
|
||||||
- job: build-linux
|
|
||||||
artifacts: true
|
|
||||||
rules:
|
|
||||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
|
||||||
script:
|
|
||||||
- cd linux
|
|
||||||
- sha256sum -b pamhyr/pamhyr > pamhyr/pamhyr.sha256
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- linux/pamhyr/pamhyr.sha256
|
|
||||||
|
|
||||||
windows-build-hash:
|
|
||||||
stage: hash
|
|
||||||
tags:
|
|
||||||
- release
|
|
||||||
- linux
|
|
||||||
needs:
|
|
||||||
- job: build-windows
|
|
||||||
artifacts: true
|
|
||||||
rules:
|
|
||||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
|
||||||
script:
|
|
||||||
- cd windows
|
|
||||||
- sha256sum -b pamhyr/pamhyr.exe > pamhyr/pamhyr.exe.sha256
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- windows/pamhyr/pamhyr.exe.sha256
|
|
||||||
|
|
||||||
pkg-hash:
|
|
||||||
stage: hash
|
|
||||||
tags:
|
|
||||||
- release
|
|
||||||
- linux
|
|
||||||
needs:
|
|
||||||
- job: linux-package-tar
|
|
||||||
artifacts: true
|
|
||||||
- job: windows-package-zip
|
|
||||||
artifacts: true
|
|
||||||
- job: windows-package-exe
|
|
||||||
artifacts: true
|
|
||||||
rules:
|
|
||||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_TAG
|
|
||||||
script:
|
|
||||||
- cd windows
|
|
||||||
- sha256sum -b pamhyr-windows.exe > pamhyr-windows.exe.sha256
|
|
||||||
- sha256sum -b pamhyr-windows.zip > pamhyr-windows.zip.sha256
|
|
||||||
- cd ..
|
|
||||||
- cd linux
|
|
||||||
- sha256sum -b pamhyr-gnulinux.tar.xz > pamhyr-gnulinux.tar.xz.sha256
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- windows/pamhyr-windows.exe.sha256
|
|
||||||
- windows/pamhyr-windows.zip.sha256
|
|
||||||
- linux/pamhyr-gnulinux.tar.xz.sha256
|
|
||||||
|
|
||||||
#############
|
|
||||||
# ANTIVIRUS #
|
|
||||||
#############
|
|
||||||
|
|
||||||
build-check-clamav:
|
|
||||||
stage: antivirus
|
|
||||||
tags:
|
|
||||||
- release
|
|
||||||
- linux
|
|
||||||
needs:
|
|
||||||
- job: build-linux
|
|
||||||
artifacts: true
|
|
||||||
- job: build-windows
|
|
||||||
artifacts: true
|
|
||||||
rules:
|
|
||||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
|
||||||
script:
|
|
||||||
- cd packages
|
|
||||||
- ./clamav-scan.sh builds
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
pkg-check-clamav:
|
|
||||||
stage: antivirus
|
|
||||||
tags:
|
|
||||||
- release
|
|
||||||
- linux
|
|
||||||
needs:
|
|
||||||
- job: linux-package-tar
|
|
||||||
artifacts: true
|
|
||||||
- job: windows-package-zip
|
|
||||||
artifacts: true
|
|
||||||
- job: windows-package-exe
|
|
||||||
artifacts: true
|
|
||||||
rules:
|
|
||||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_TAG
|
|
||||||
script:
|
|
||||||
- cd packages
|
|
||||||
- ./clamav-scan.sh packages
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
###########
|
###########
|
||||||
# RELEASE #
|
# RELEASE #
|
||||||
###########
|
###########
|
||||||
@@ -529,11 +362,9 @@ tag-release:
|
|||||||
artifacts: true
|
artifacts: true
|
||||||
- job: windows-package-exe
|
- job: windows-package-exe
|
||||||
artifacts: true
|
artifacts: true
|
||||||
# - job: build-users-doc
|
- job: build-users-doc
|
||||||
# artifacts: true
|
|
||||||
- job: build-developers-doc
|
|
||||||
artifacts: true
|
artifacts: true
|
||||||
- job: pkg-hash
|
- job: build-developers-doc
|
||||||
artifacts: true
|
artifacts: true
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_TAG
|
- if: $CI_COMMIT_TAG
|
||||||
@@ -542,44 +373,33 @@ tag-release:
|
|||||||
- linux/pamhyr-gnulinux.tar.xz
|
- linux/pamhyr-gnulinux.tar.xz
|
||||||
- windows/pamhyr-windows.zip
|
- windows/pamhyr-windows.zip
|
||||||
- windows/pamhyr-windows.exe
|
- windows/pamhyr-windows.exe
|
||||||
- linux/pamhyr-gnulinux.tar.xz.sha256
|
|
||||||
- windows/pamhyr-windows.zip.sha256
|
|
||||||
- windows/pamhyr-windows.exe.sha256
|
|
||||||
- doc/dev/documentation.pdf
|
- doc/dev/documentation.pdf
|
||||||
# - doc/users/documentation.pdf
|
- doc/users/documentation.pdf
|
||||||
script:
|
script:
|
||||||
- cd packages
|
- cd packages
|
||||||
release:
|
release:
|
||||||
name: '$CI_COMMIT_TAG'
|
name: '$CI_COMMIT_TAG'
|
||||||
description: '$CI_COMMIT_TAG_MESSAGE'
|
description: 'Automatic release from tag $CI_COMMIT_TAG'
|
||||||
tag_name: '$CI_COMMIT_TAG'
|
tag_name: '$CI_COMMIT_TAG'
|
||||||
ref: '$CI_COMMIT_SHA'
|
ref: '$CI_COMMIT_SHA'
|
||||||
assets:
|
assets:
|
||||||
links:
|
links:
|
||||||
- name: 'GNU/Linux CHECKSUM SHA256 (tar.xz)'
|
|
||||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/linux/pamhyr-gnulinux.tar.xz.sha256'
|
|
||||||
filepath: '/linux/pamhyr-gnulinux.tar.xz.sha256'
|
|
||||||
link_type: 'package'
|
|
||||||
- name: 'GNU/Linux (tar.xz)'
|
- name: 'GNU/Linux (tar.xz)'
|
||||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/linux/pamhyr-gnulinux.tar.xz'
|
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/linux/pamhyr-gnulinux.tar.xz'
|
||||||
filepath: '/linux/pamhyr-gnulinux.tar.xz'
|
filepath: '/linux/pamhyr-gnulinux.tar.xz'
|
||||||
link_type: 'package'
|
link_type: 'package'
|
||||||
- name: 'Windows CHECKSUM SHA256 (exe)'
|
|
||||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/windows/pamhyr-windows.exe.sha256'
|
|
||||||
filepath: '/windows/pamhyr-windows.exe.sha256'
|
|
||||||
link_type: 'package'
|
|
||||||
- name: 'Windows (exe)'
|
- name: 'Windows (exe)'
|
||||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/windows/pamhyr-windows.exe'
|
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/windows/pamhyr-windows.exe'
|
||||||
filepath: '/windows/pamhyr-windows.exe'
|
filepath: '/windows/pamhyr-windows.exe'
|
||||||
link_type: 'package'
|
link_type: 'package'
|
||||||
- name: 'Windows CHECKSUM SHA256 (zip)'
|
|
||||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/windows/pamhyr-windows.zip.sha256'
|
|
||||||
filepath: '/windows/pamhyr-windows.zip.sha256'
|
|
||||||
link_type: 'package'
|
|
||||||
- name: 'Windows (zip)'
|
- name: 'Windows (zip)'
|
||||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/windows/pamhyr-windows.zip'
|
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/windows/pamhyr-windows.zip'
|
||||||
filepath: '/windows/pamhyr-windows.zip'
|
filepath: '/windows/pamhyr-windows.zip'
|
||||||
link_type: 'package'
|
link_type: 'package'
|
||||||
|
- name: 'User documentations (pdf)'
|
||||||
|
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/doc/users/documentation.pdf'
|
||||||
|
filepath: '/doc/users/documentation.pdf'
|
||||||
|
link_type: 'other'
|
||||||
- name: 'Dev documentations (pdf)'
|
- name: 'Dev documentations (pdf)'
|
||||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/doc/dev/documentation.pdf'
|
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/doc/dev/documentation.pdf'
|
||||||
filepath: '/doc/dev/documentation.pdf'
|
filepath: '/doc/dev/documentation.pdf'
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
Sylvain COULIBALY, INRAE, 2020 - 2022
|
Sylvain COULIBALY, INRAE, 2020 - 2022
|
||||||
Théophile TERRAZ, INRAE, 2022 - 2024
|
Théophile TERRAZ, INRAE, 2022 - 2023
|
||||||
Pierre-Antoine ROUBY, INRAE, 2023 - 2024
|
Pierre-Antoine ROUBY, INRAE, 2023
|
||||||
@@ -3,38 +3,48 @@
|
|||||||
Pamhyr is a free and open source graphical user interface for 1D hydro-sedimentary
|
Pamhyr is a free and open source graphical user interface for 1D hydro-sedimentary
|
||||||
modelling of rivers.
|
modelling of rivers.
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
+ Define a complex river hydraulics network
|
+ Edit a complex river hydraulics network
|
||||||
+ Define the river geometry
|
+ Define the river geometry
|
||||||
+ Define boundary conditions
|
+ Define boundary conditions
|
||||||
+ Define lateral contribution
|
+ Define lateral contribution
|
||||||
+ Define river friction
|
+ Edit river friction
|
||||||
+ Define reservoirs
|
+ Generate initial conditions
|
||||||
+ Define hydraulic structures
|
+ Edit river sedimentary layers
|
||||||
+ Define or generate initial conditions
|
|
||||||
+ Define river sedimentary layers
|
|
||||||
+ Save the study in a unique file
|
+ Save the study in a unique file
|
||||||
+ Run Mage 8 on a study and visualize results
|
+ Run Mage 8 on a study and visualize results
|
||||||
|
|
||||||
Let see the
|
|
||||||
[documentation](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home)
|
|
||||||
([:fr:](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home-fr),
|
|
||||||
[:gb:](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home-en))
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
### GNU/Linux
|
### GNU/Linux
|
||||||
|
|
||||||
See documentation:
|
Downloads [last
|
||||||
- [French :fr:](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home/fr/Install%20on%20GNULinux)
|
realease](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/releases/permalink/latest)
|
||||||
- [English :gb:](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home/en/Install%20on%20GNULinux)
|
GNU/Linux binary archive.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
tar xf pamhyr-gnulinux-amd64.tar.xz
|
||||||
|
cd pamhyr
|
||||||
|
./pamhyr
|
||||||
|
```
|
||||||
|
|
||||||
### Windows
|
### Windows
|
||||||
|
|
||||||
See documentation:
|
Downloads [last
|
||||||
- [French :fr:](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home/fr/Install%20on%20Windows)
|
realease](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/releases/permalink/latest)
|
||||||
- [English :gb:](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home/en/Install%20on%20Windows)
|
Windows installer.
|
||||||
|
|
||||||
|
### From source code
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# Get source code
|
||||||
|
git clone https://gitlab.irstea.fr/theophile.terraz/pamhyr/
|
||||||
|
cd pamhyr
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
pip3 install -r requirements.txt
|
||||||
|
|
||||||
|
# Run pamhyr
|
||||||
|
./src/pamhyr.py
|
||||||
|
```
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
# documentation.org -- Pamhyr developers documentation
|
# documentation.org -- Pamhyr developers documentation
|
||||||
# Copyright (C) 2023-2024 INRAE
|
# Copyright (C) 2023 INRAE
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -369,7 +369,6 @@ of Bar (Listing [[sql-bar]] and [[sql-foo]]).
|
|||||||
CREATE TABLE bar (
|
CREATE TABLE bar (
|
||||||
id INTEGER NOT NULL PRIMARY KEY,
|
id INTEGER NOT NULL PRIMARY KEY,
|
||||||
x INTEGER NOT NULL,
|
x INTEGER NOT NULL,
|
||||||
y INTEGER NOT NULL,
|
|
||||||
foo_id INTEGER NOT NULL,
|
foo_id INTEGER NOT NULL,
|
||||||
FOREIGN KEY(foo_id) REFERENCES foo(id),
|
FOREIGN KEY(foo_id) REFERENCES foo(id),
|
||||||
)""")
|
)""")
|
||||||
@@ -456,15 +455,6 @@ of Bar (Listing [[sql-bar]] and [[sql-foo]]).
|
|||||||
bar._sql_save(execute, data=data)
|
bar._sql_save(execute, data=data)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Let see the results database scheme for Pamhyr2 at version v0.0.7 in
|
|
||||||
Figure [[sql_schema]].
|
|
||||||
|
|
||||||
#+NAME: sql_schema
|
|
||||||
#+ATTR_LATEX: :width 16cm
|
|
||||||
#+CAPTION: SQLite database scheme at Pamhyr2 version v0.0.7 (generate with [[https://gitlab.com/Screwtapello/sqlite-schema-diagram]])
|
|
||||||
[[./images/schema_v0.0.7.png]]
|
|
||||||
|
|
||||||
|
|
||||||
[fn:sqlite] The SQLite web site: https://www.sqlite.org/index.html
|
[fn:sqlite] The SQLite web site: https://www.sqlite.org/index.html
|
||||||
(last access 2023-09-20)
|
(last access 2023-09-20)
|
||||||
|
|
||||||
@@ -548,44 +538,44 @@ generic value from optional parameters, for examples:
|
|||||||
#+NAME: window
|
#+NAME: window
|
||||||
#+CAPTION: Example of Pamhyr2 window
|
#+CAPTION: Example of Pamhyr2 window
|
||||||
#+begin_src python :python python3 :results output :noweb yes
|
#+begin_src python :python python3 :results output :noweb yes
|
||||||
from View.Tools.PamhyrWindow import PamhyrWindow
|
from View.Tools.PamhyrWindow import PamhyrWindow
|
||||||
from View.My.Translate import MyTranslate
|
from View.My.Translate import MyTranslate
|
||||||
from View.My.Table import MyTableModel
|
from View.My.Table import MyTableModel
|
||||||
|
|
||||||
class MyWindow(PamhyrWindow):
|
class MyWindow(PamhyrWindow):
|
||||||
_pamhyr_ui = "MyUI"
|
_pamhyr_ui = "MyUI"
|
||||||
_pamhyr_name = "My window"
|
_pamhyr_name = "My window"
|
||||||
|
|
||||||
def __init__(self, study=None, config=None,
|
def __init__(self, my_data=None,
|
||||||
my_data=None,
|
study=None, config=None,
|
||||||
parent=None):
|
parent=None):
|
||||||
self._my_data = my_data
|
self._my_data = my_data
|
||||||
|
|
||||||
super(MyWindow, self).__init__(
|
super(MyWindow, self).__init__(
|
||||||
# Window title
|
# Window title
|
||||||
title = self._pamhyr_name + " - " + study.name,
|
title = self._pamhyr_name + " - " + study.name,
|
||||||
# Window standard data
|
# Window standard data
|
||||||
study = study, config = config,
|
study = study, config = config,
|
||||||
trad = MyTranslate(),
|
trad = MyTranslate(),
|
||||||
parent = parent,
|
parent = parent,
|
||||||
# Activate undo/redo and copy/paste shortcut
|
# Activate undo/redo and copy/paste shortcut
|
||||||
options = ["undo", "copy"]
|
options = ["undo", "copy"]
|
||||||
)
|
)
|
||||||
|
|
||||||
# Add custom data to hash window computation
|
# Add custom data to hash window computation
|
||||||
self._hash_data.append(self._my_data)
|
self._hash_data.append(self._my_data)
|
||||||
|
|
||||||
# Setup custom window components
|
# Setup custom window components
|
||||||
self.setup_table()
|
self.setup_table()
|
||||||
self.setup_connections()
|
self.setup_connections()
|
||||||
|
|
||||||
def setup_table(self):
|
def setup_table(self):
|
||||||
# Init table(s)...
|
# Init table(s)...
|
||||||
|
|
||||||
def setup_connections(self):
|
def setup_connections(self):
|
||||||
# Init action connection(s)...
|
# Init action connection(s)...
|
||||||
|
|
||||||
# ...
|
# ...
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Typically we called method =setup_*=, the method to initialize some
|
Typically we called method =setup_*=, the method to initialize some
|
||||||
@@ -646,7 +636,7 @@ class AddNodeCommand(QUndoCommand):
|
|||||||
self._node = node
|
self._node = node
|
||||||
|
|
||||||
def undo(self):
|
def undo(self):
|
||||||
self._graph.remove_node(self._node)
|
self._graph.remove_node(self._node.name)
|
||||||
|
|
||||||
def redo(self):
|
def redo(self):
|
||||||
self._graph.insert_node(self._node)
|
self._graph.insert_node(self._node)
|
||||||
@@ -671,13 +661,11 @@ creation, this stack is accessible at =self._undo_stack=.
|
|||||||
|
|
||||||
*** Plot
|
*** Plot
|
||||||
|
|
||||||
To define a new plot you can create a class who inherit to
|
To define a new plot you can create a class who inherit to APlot. The
|
||||||
PamhyrPlot. The creator need at leaste five argument:
|
creator need threee argument:
|
||||||
- A =canvas= of type =MplCanvas=
|
- A =canvas= of type =MplCanvas=
|
||||||
- A (optional) =trad= of type =PamhyrTranslate=
|
|
||||||
- A =data= used in =draw= and =update= to create and update the plot
|
- A =data= used in =draw= and =update= to create and update the plot
|
||||||
- A optional =toolbar= of type =PamhyrToolbar=
|
- A optional =toolbar= of type =PamhyrToolbar=
|
||||||
- A =parent= window
|
|
||||||
This class must implement two method =draw= and =update=, the first
|
This class must implement two method =draw= and =update=, the first
|
||||||
method to draw the plot from scratch, the second to update the plot if
|
method to draw the plot from scratch, the second to update the plot if
|
||||||
data has changed.
|
data has changed.
|
||||||
@@ -685,36 +673,19 @@ data has changed.
|
|||||||
#+begin_src python :python python3 :results output :noweb yes
|
#+begin_src python :python python3 :results output :noweb yes
|
||||||
from View.Tools.PamhyrPlot import PamhyrPlot
|
from View.Tools.PamhyrPlot import PamhyrPlot
|
||||||
|
|
||||||
class MyPlot(PamhyrPlot):
|
class MyPlot(APlot):
|
||||||
def __init__(self, canvas=None, trad=None, toolbar=None
|
def __init__(self, canvas=None, data=None, toolbar=None):
|
||||||
data=None, parent=None):
|
|
||||||
super(MyPlot, self).__init__(
|
super(MyPlot, self).__init__(
|
||||||
canvas=canvas,
|
canvas=canvas,
|
||||||
trad=trad,
|
|
||||||
data=data,
|
data=data,
|
||||||
toolbar=toolbar,
|
toolbar=toolbar
|
||||||
parent=parent
|
|
||||||
)
|
)
|
||||||
|
|
||||||
self.label_x = self._trad["x"]
|
|
||||||
self.label_y = self._trad["y"]
|
|
||||||
|
|
||||||
# Optional configuration
|
|
||||||
self._isometric_axis = False
|
|
||||||
|
|
||||||
self._auto_relim_update = True
|
|
||||||
self._autoscale_update = True
|
|
||||||
|
|
||||||
def draw(self):
|
def draw(self):
|
||||||
# Draw function code...
|
# Draw function code...
|
||||||
|
|
||||||
def update(self):
|
def update(self, ind = None):
|
||||||
# Update function code...
|
# Update function code...
|
||||||
|
|
||||||
def clear(self):
|
|
||||||
# Clear plot values...
|
|
||||||
|
|
||||||
# ...
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Solver
|
** Solver
|
||||||
@@ -774,7 +745,7 @@ execute a code on distant computer, for example, over ssh.
|
|||||||
style=dashed;
|
style=dashed;
|
||||||
subgraph cluster021 {
|
subgraph cluster021 {
|
||||||
label="Solver Classes";
|
label="Solver Classes";
|
||||||
//classSolverM7[label="Mage7", fillcolor=6];
|
classSolverM7[label="Mage7", fillcolor=6];
|
||||||
classSolverM8[label="Mage8", fillcolor=6];
|
classSolverM8[label="Mage8", fillcolor=6];
|
||||||
classSolverR[label="RubarBE", fillcolor=6];
|
classSolverR[label="RubarBE", fillcolor=6];
|
||||||
}
|
}
|
||||||
@@ -857,7 +828,7 @@ solver and get results:
|
|||||||
- (2.1) The solver read the input file(s)
|
- (2.1) The solver read the input file(s)
|
||||||
- (2.2) The solver compute results and write it to solver output
|
- (2.2) The solver compute results and write it to solver output
|
||||||
file(s)
|
file(s)
|
||||||
- (3) Pamhyr2 create a =Results= object
|
- (3) Pamhyr2 create a Reuslts
|
||||||
- (3.1) The Pamhyr2 solver class read solver output file(s) and
|
- (3.1) The Pamhyr2 solver class read solver output file(s) and
|
||||||
complete Results with readed data
|
complete Results with readed data
|
||||||
|
|
||||||
@@ -987,16 +958,8 @@ different methods:
|
|||||||
|
|
||||||
** Unit tests
|
** Unit tests
|
||||||
|
|
||||||
A very small part of Pamhyr2 has unit test. This part is limited to the Model.
|
The unit tests is actually not implemented in Pamhyr2, it is a *work
|
||||||
|
in progress*.
|
||||||
#+begin_src shell
|
|
||||||
python3 -m venv test
|
|
||||||
. test test/bin/activate
|
|
||||||
pip3 install -U -r ./full-requirements.txt
|
|
||||||
|
|
||||||
cd src/
|
|
||||||
python3 -Walways -m unittest discovert -v -t .
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** The debug mode
|
** The debug mode
|
||||||
|
|
||||||
@@ -1007,14 +970,14 @@ line:
|
|||||||
./Pamhyr2 debug
|
./Pamhyr2 debug
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
This mode add some log and add two action in main window menu: "About
|
This mode add some log and add two action in main window menu:
|
||||||
> Debug" open a window with Python Repl in current Python
|
"About/Debug" open a window with Python Repl in current Python
|
||||||
environement, and "About > Debug SQLite" who open the application
|
environement, and "About/Debug SQLite" who open the application
|
||||||
SQLiteBrowser (if installed) on current Study to explore the study
|
SQLiteBrowser (if installed) on current Study to explore the study
|
||||||
data base file.
|
data base file.
|
||||||
|
|
||||||
#+NAME: debug-repl
|
#+NAME: debug-repl
|
||||||
#+ATTR_LATEX: :width 14cm
|
#+ATTR_LATEX: :width 12cm
|
||||||
#+CAPTION: Pamhyr2 debug Python REPL
|
#+CAPTION: Pamhyr2 debug Python REPL
|
||||||
[[./images/python-debug-repl.png]]
|
[[./images/python-debug-repl.png]]
|
||||||
|
|
||||||
@@ -1334,7 +1297,7 @@ https://gitlab.irstea.fr/theophile.terraz/pamhyr
|
|||||||
|
|
||||||
You can improve or add translation for the project. To contribute to
|
You can improve or add translation for the project. To contribute to
|
||||||
Pamhyr2 translate, you need to use Qt Linguist[fn:qt-linguist]. Open
|
Pamhyr2 translate, you need to use Qt Linguist[fn:qt-linguist]. Open
|
||||||
Qt-linguist and edit the translation ({{{file(.ts)}}}) file, finally,
|
Qt-linguist and edite the translation ({{{file(.ts)}}}) file, finally,
|
||||||
commit the new version of file and make a merge request.
|
commit the new version of file and make a merge request.
|
||||||
|
|
||||||
If you want add a new language, edit the script
|
If you want add a new language, edit the script
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 224 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 114 KiB |
|
Before Width: | Height: | Size: 196 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 131 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 20 KiB |
@@ -1,487 +0,0 @@
|
|||||||
# presentation.org -- Pamhyr
|
|
||||||
# Copyright (C) 2023 INRAE
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
#+STARTUP: indent hideblocks content beamer
|
|
||||||
|
|
||||||
#+TITLE: SimHydro 2023
|
|
||||||
#+SUBTITLE: \textbf{Pamhyr2}: a graphical user interface for 1D hydro-sedimentary modelling of rivers
|
|
||||||
|
|
||||||
# #+AUTHOR: Pierre-Antoine Rouby
|
|
||||||
#+LATEX_HEADER: \author[Pierre-Antoine Rouby]{\textbf{Pierre-Antoine Rouby$^{*}$}, Benoît Camenen, Lionel Pénard, Léa Kieffer, Théophile Terraz\\\texttt{<pierre-antoine.rouby@inrae.fr>}^{*}}
|
|
||||||
#+EMAIL: pierre-antoine.rouby@inrae.fr
|
|
||||||
#+INSTITUTE: INRAE Lyon-Villerbanne, teams River Hydraulics
|
|
||||||
#+LATEX_HEADER: \institute{INRAE Lyon-Villerbanne, River Hydraulics team}
|
|
||||||
#+DATE: 9th November
|
|
||||||
|
|
||||||
#+KEYWORDS: g ui, hydraulics, sedimentary, hydro-sedimentary, 1D modelling, freesoftware, foss
|
|
||||||
|
|
||||||
#+OPTIONS: H:2 toc:t num:t author:nil
|
|
||||||
#+LATEX_CLASS: beamer
|
|
||||||
#+LATEX_CLASS_OPTIONS: [slideopt,A4,showboxes,svgnames,aspectratio=169]
|
|
||||||
# #+LATEX_CLASS_OPTIONS: [presentation]
|
|
||||||
#+BEAMER_THEME: default
|
|
||||||
#+COLUMNS: %45ITEM %10BEAMER_ENV(Env) %10BEAMER_ACT(Act) %4BEAMER_COL(Col)
|
|
||||||
|
|
||||||
#+LANGUAGE: fr
|
|
||||||
#+LATEX_HEADER: \usepackage[frenchb]{babel}
|
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp :results silent :exports none
|
|
||||||
(setq org-latex-pdf-process (list
|
|
||||||
"latexmk -pdflatex='lualatex -shell-escape -interaction nonstopmode' -pdf -f %f"))
|
|
||||||
|
|
||||||
(add-to-list 'org-latex-packages-alist '("" "minted"))
|
|
||||||
(setq org-latex-listings 'minted)
|
|
||||||
(setq org-src-fontify-natively t)
|
|
||||||
|
|
||||||
(org-add-link-type
|
|
||||||
"cite" 'ebib
|
|
||||||
(lambda (path desc format)
|
|
||||||
(cond
|
|
||||||
((eq format 'html)
|
|
||||||
(format "(<cite>%s</cite>)" path))
|
|
||||||
((eq format 'text)
|
|
||||||
(format "[%s]" path))
|
|
||||||
((eq format 'latex)
|
|
||||||
(if (or (not desc) (equal 0 (search "cite:" desc)))
|
|
||||||
(format "\\cite{%s}" path)
|
|
||||||
(format "\\cite[%s][%s]{%s}"
|
|
||||||
(cadr (split-string desc ";"))
|
|
||||||
(car (split-string desc ";")) path))))))
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
#+LATEX_HEADER: \setbeamertemplate{footline}[frame number]
|
|
||||||
#+LATEX_HEADER: \setbeamertemplate{headline}{}
|
|
||||||
#+LATEX_HEADER: \usepackage{multirow}
|
|
||||||
#+LATEX_HEADER: \usepackage{fontawesome5}
|
|
||||||
#+LATEX_HEADER: \usepackage{tcolorbox}
|
|
||||||
#+LATEX_HEADER: \usepackage{tikz}
|
|
||||||
|
|
||||||
#+LATEX_HEADER: \logo{\includegraphics[width=.1\textwidth]{../../../../../src/View/ui/ressources/Logo-INRAE.png}}
|
|
||||||
|
|
||||||
#+LATEX_HEADER: \newcommand{\R}[1]{\rotatebox[origin=c]{90}{#1}}
|
|
||||||
|
|
||||||
# Beamer colors
|
|
||||||
#+LATEX_HEADER: \setbeamersize{text margin left=0.5cm,text margin right=0.5cm}
|
|
||||||
#+LATEX_HEADER: \setbeamerfont{alerted text}{series=\bfseries}
|
|
||||||
#+LATEX_HEADER: \setbeamerfont{example text}{series=\bfseries}
|
|
||||||
|
|
||||||
#+LATEX_HEADER: \definecolor{inrae_1}{RGB}{102,193,191}
|
|
||||||
#+LATEX_HEADER: \definecolor{inrae_2}{RGB}{0,150,152}
|
|
||||||
#+LATEX_HEADER: \definecolor{inrae_3}{RGB}{39,86,98}
|
|
||||||
|
|
||||||
#+LATEX_HEADER: \setbeamercolor{alerted text}{fg=inrae_1}
|
|
||||||
#+LATEX_HEADER: \setbeamercolor{structure}{fg=inrae_2}
|
|
||||||
#+LATEX_HEADER: \setbeamercolor{normal text}{fg=inrae_3}
|
|
||||||
#+LATEX_HEADER: \setbeamercolor*{author}{fg=inrae_3}
|
|
||||||
|
|
||||||
#+LATEX_HEADER: \usepackage[absolute,showboxes,overlay]{textpos}
|
|
||||||
|
|
||||||
#+LATEX_HEADER: \TPshowboxesfalse
|
|
||||||
#+LATEX_HEADER: \textblockorigin{5mm}{0mm}
|
|
||||||
|
|
||||||
# Biblio
|
|
||||||
#+LATEX_HEADER: \usepackage{natbib}
|
|
||||||
# #+LATEX_HEADER: \bibliographystyle{apalike}
|
|
||||||
#+LATEX_HEADER: \setbeamertemplate{bibliography item}{}
|
|
||||||
#+LATEX_HEADER: \renewcommand\bibfont{\scriptsize}
|
|
||||||
#+LATEX_HEADER: \setbeamertemplate{frametitle continuation}[from second]
|
|
||||||
#+LATEX_HEADER: \setbeamercolor*{bibliography entry title}{fg=inrae_3}
|
|
||||||
#+LATEX_HEADER: \setbeamercolor*{bibliography entry author}{fg=inrae_3}
|
|
||||||
#+LATEX_HEADER: \setbeamercolor*{bibliography entry location}{fg=inrae_3}
|
|
||||||
|
|
||||||
#+LATEX_HEADER: \usepackage{bbding}
|
|
||||||
#+LATEX_HEADER: \usepackage{pdfpages}
|
|
||||||
|
|
||||||
# Renew title page
|
|
||||||
#+LATEX_HEADER: \defbeamertemplate*{title page}{customized}[1][]
|
|
||||||
#+LATEX_HEADER: {
|
|
||||||
# #+LATEX_HEADER: {
|
|
||||||
# #+LATEX_HEADER: \usebeamerfont{date}\usebeamercolor[fg]{date}
|
|
||||||
# #+LATEX_HEADER: \tikz[overlay,remember picture]
|
|
||||||
# #+LATEX_HEADER: \node[xshift=-1cm,yshift=-1cm,text width=10cm] at (current page.north east) {
|
|
||||||
# #+LATEX_HEADER: 7$^{th}$ International Conference\\
|
|
||||||
# #+LATEX_HEADER: 8TH-10TH November\\
|
|
||||||
# #+LATEX_HEADER: EDF Lab - CHATOU, FRANCE
|
|
||||||
# #+LATEX_HEADER: }
|
|
||||||
# #+LATEX_HEADER: }
|
|
||||||
#+LATEX_HEADER: {
|
|
||||||
#+LATEX_HEADER: \usebeamerfont{title}\inserttitle\par
|
|
||||||
#+LATEX_HEADER: \usebeamerfont{title}\usebeamercolor[fg]{title}
|
|
||||||
#+LATEX_HEADER: \large New modeling paradigms for water issues?\par
|
|
||||||
#+LATEX_HEADER: }
|
|
||||||
#+LATEX_HEADER: \bigskip
|
|
||||||
#+LATEX_HEADER: \begin{center}
|
|
||||||
#+LATEX_HEADER: \usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}
|
|
||||||
#+LATEX_HEADER: {
|
|
||||||
#+LATEX_HEADER: \LARGE\insertsubtitle\par
|
|
||||||
#+LATEX_HEADER: }
|
|
||||||
#+LATEX_HEADER: \bigskip
|
|
||||||
#+LATEX_HEADER: \usebeamerfont{author}\usebeamercolor[fg]{author}\insertauthor\par
|
|
||||||
#+LATEX_HEADER: \bigskip
|
|
||||||
#+LATEX_HEADER: \usebeamerfont{institute}\usebeamercolor[fg]{institute}\insertinstitute\par
|
|
||||||
#+LATEX_HEADER: \bigskip
|
|
||||||
#+LATEX_HEADER: \usebeamerfont{date}\usebeamercolor[fg]{date}\insertdate\par
|
|
||||||
#+LATEX_HEADER: \usebeamercolor[fg]{titlegraphic}\inserttitlegraphic
|
|
||||||
#+LATEX_HEADER: \end{center}
|
|
||||||
#+LATEX_HEADER: }
|
|
||||||
|
|
||||||
# #+LATEX_HEADER: \newcommand{\tred}[1]{\textcolor{rouge_inrae}{#1}}
|
|
||||||
|
|
||||||
#+TODO: TODO WIP TOREVIEW | DONE
|
|
||||||
|
|
||||||
#+MACRO: pamhyr \textsc{PAMHyR}
|
|
||||||
#+MACRO: pamhyr2 \textsc{Pamhyr2}
|
|
||||||
|
|
||||||
#+MACRO: pause \pause
|
|
||||||
#+MACRO: framebreak \framebreak
|
|
||||||
#+MACRO: no
|
|
||||||
# #+MACRO: OK \checkmark
|
|
||||||
#+MACRO: OK \faIcon{check}
|
|
||||||
#+MACRO: bf \textbf{$1}
|
|
||||||
|
|
||||||
# #+latex: \frame{\tocpage}
|
|
||||||
|
|
||||||
* 1D hydro-sedimentary simulation at INRAE
|
|
||||||
** COMMENT 1D river flow simulation
|
|
||||||
*** INRAE (Lyon-Villerbanne)
|
|
||||||
|
|
||||||
- Mage [fn:: Mage: https://gitlab.irstea.fr/jean-baptiste.faure/mage]
|
|
||||||
- RubarBE [fn:: RubarBE:
|
|
||||||
https://gitlab.irstea.fr/theophile.terraz/rubarbe]
|
|
||||||
|
|
||||||
*** Other project
|
|
||||||
|
|
||||||
- Mascaret [fn:: OpenTeleMac: http://www.opentelemac.org]
|
|
||||||
- HEC-RAS [fn:: HEC-RAS:
|
|
||||||
https://www.hec.usace.army.mil/software/hec-ras]
|
|
||||||
- Mike 11 [fn:: Mike11:
|
|
||||||
https://www.mikepoweredbydhi.com/products/mike-11]
|
|
||||||
|
|
||||||
** {{{pamhyr}}}
|
|
||||||
#+BEGIN_EXPORT latex
|
|
||||||
\tikz[overlay,remember picture]
|
|
||||||
\node[xshift=-4cm,yshift=4cm] at (current page.south east) {
|
|
||||||
\includegraphics[width=7cm]{../images/PAMHyR.png}
|
|
||||||
};
|
|
||||||
#+END_EXPORT
|
|
||||||
|
|
||||||
{{{pamhyr}}} developed at INRAE in Java since the end of 90s
|
|
||||||
|
|
||||||
*** Features
|
|
||||||
- Graphical user interface
|
|
||||||
- Define and edit complexe 1D river models
|
|
||||||
- Run a solver
|
|
||||||
- Visualize simulation results
|
|
||||||
|
|
||||||
*** Compatibility
|
|
||||||
- 2 solvers *Mage and RubarBE*
|
|
||||||
# - Multi-reaches (Only for Mage)
|
|
||||||
- Multi-platform (Linux / Windows)
|
|
||||||
|
|
||||||
** {{{pamhyr}}}
|
|
||||||
#+BEGIN_EXPORT latex
|
|
||||||
\tikz[overlay,remember picture]
|
|
||||||
\node[xshift=-4cm,yshift=4cm] at (current page.south east) {
|
|
||||||
\includegraphics[width=7cm]{../images/PAMHyR.png}
|
|
||||||
};
|
|
||||||
#+END_EXPORT
|
|
||||||
|
|
||||||
*** Conception issues
|
|
||||||
- Monolingual French
|
|
||||||
- Interface too different for each solver
|
|
||||||
- Impossible to undo an action
|
|
||||||
|
|
||||||
*** Huge technical debts
|
|
||||||
- Out dated technologies (UML $\to$ Java)
|
|
||||||
- Unmaintained library
|
|
||||||
- Unstable development process
|
|
||||||
|
|
||||||
Hard to maintain or add features to the interface
|
|
||||||
|
|
||||||
(No modification since 2016)
|
|
||||||
|
|
||||||
* Presentation of {{{pamhyr2}}}
|
|
||||||
** {{{Pamhyr2}}} - Needs - General constraints
|
|
||||||
|
|
||||||
Create a new version of {{{pamhyr}}} called {{{pamhyr2}}}
|
|
||||||
|
|
||||||
{{{pause}}}
|
|
||||||
|
|
||||||
*** Constraints for users experience
|
|
||||||
:PROPERTIES:
|
|
||||||
:BEAMER_COL: 0.5
|
|
||||||
:BEAMER_ENV: block
|
|
||||||
:END:
|
|
||||||
+ *User friendly*
|
|
||||||
+ *Multi platform* (at least Linux and Windows)
|
|
||||||
+ *Multi language* (at least English and French)
|
|
||||||
+ *Multi solver* (as much as possible, at least Mage and
|
|
||||||
RubarBE)
|
|
||||||
+ *Single save file* per study
|
|
||||||
|
|
||||||
{{{pause}}}
|
|
||||||
|
|
||||||
*** Constraints for developers experience
|
|
||||||
:PROPERTIES:
|
|
||||||
:BEAMER_COL: 0.5
|
|
||||||
:BEAMER_ENV: block
|
|
||||||
:END:
|
|
||||||
- *Common used* code library and tools
|
|
||||||
# - *Modular* and *flexible* code
|
|
||||||
- *Clear* architecture
|
|
||||||
- *Free and open sources software* (FOSS)
|
|
||||||
|
|
||||||
** {{{Pamhyr2}}} - Needs - Features
|
|
||||||
# #+BEGIN_EXPORT latex
|
|
||||||
# \tikz[overlay,remember picture]
|
|
||||||
# \node[xshift=-5cm,yshift=-2cm] at (current page.north east) {
|
|
||||||
# \includegraphics[width=6cm]{../images/geometry_saar.png}
|
|
||||||
# };
|
|
||||||
# #+END_EXPORT
|
|
||||||
|
|
||||||
**** {{{no}}}
|
|
||||||
:PROPERTIES:
|
|
||||||
:BEAMER_COL: 0.30
|
|
||||||
:BEAMER_ENV: block
|
|
||||||
:END:
|
|
||||||
- Define and edit data
|
|
||||||
+ River network
|
|
||||||
+ Geometry
|
|
||||||
+ Boundary conditions
|
|
||||||
+ Friction
|
|
||||||
+ Initial conditions
|
|
||||||
+ *Sedimentary layers*
|
|
||||||
- User meshed geometry
|
|
||||||
- Run a solver
|
|
||||||
- Display results
|
|
||||||
+ Default visualisation
|
|
||||||
+ *Customized visualisation*
|
|
||||||
|
|
||||||
**** {{{no}}}
|
|
||||||
:PROPERTIES:
|
|
||||||
:BEAMER_COL: 0.70
|
|
||||||
:BEAMER_ENV: block
|
|
||||||
:END:
|
|
||||||
[[../images/geometry_saar.png]]
|
|
||||||
|
|
||||||
** {{{pamhyr2}}} - Technical choices
|
|
||||||
#+BEGIN_EXPORT latex
|
|
||||||
\tikz[overlay,remember picture]
|
|
||||||
\node[xshift=-9.3cm,yshift=-4cm] at (current page.north east) {
|
|
||||||
\includegraphics[width=6.3cm]{../images/BC.png}
|
|
||||||
};
|
|
||||||
#+END_EXPORT
|
|
||||||
|
|
||||||
*** Technologies
|
|
||||||
:PROPERTIES:
|
|
||||||
:BEAMER_COL: 0.60
|
|
||||||
:BEAMER_ENV: block
|
|
||||||
:END:
|
|
||||||
- *Python*
|
|
||||||
- *PyQt*
|
|
||||||
- Qt Designer
|
|
||||||
- Qt Linguist
|
|
||||||
- *Matplotlib*
|
|
||||||
- SQLite (as =*.pamhyr=)
|
|
||||||
- *GPLv3* license (strong copyleft)
|
|
||||||
|
|
||||||
*** Architecture
|
|
||||||
:PROPERTIES:
|
|
||||||
:BEAMER_COL: 0.35
|
|
||||||
:BEAMER_ENV: block
|
|
||||||
:END:
|
|
||||||
- Qt Model/View
|
|
||||||
- Multiple solvers configuration
|
|
||||||
- *Unified interface*, as much as possible
|
|
||||||
|
|
||||||
** {{{pamhyr2}}} - State of the project
|
|
||||||
#+BEGIN_EXPORT latex
|
|
||||||
\tikz[overlay,remember picture]
|
|
||||||
\node[xshift=-4.5cm,yshift=-2.5cm] at (current page.north east) {
|
|
||||||
\includegraphics[width=8cm]{../images/apply_sedi.png}
|
|
||||||
};
|
|
||||||
#+END_EXPORT
|
|
||||||
|
|
||||||
*** {{{no}}}
|
|
||||||
:PROPERTIES:
|
|
||||||
:BEAMER_COL: 0.40
|
|
||||||
:BEAMER_ENV: block
|
|
||||||
:END:
|
|
||||||
|
|
||||||
\vspace{-1.5cm}
|
|
||||||
|
|
||||||
\begin{center}
|
|
||||||
\emph{Last version:} \texttt{v0.0.3}
|
|
||||||
\end{center}
|
|
||||||
|
|
||||||
{{{pause}}}
|
|
||||||
|
|
||||||
#+latex: \begin{center}
|
|
||||||
#+latex: \resizebox{0.9\columnwidth}{!}{
|
|
||||||
# #+caption: Tools by methods
|
|
||||||
#+name: tab:current-state
|
|
||||||
#+attr_latex: :align |l|c|
|
|
||||||
|---------------------------------+-----------------|
|
|
||||||
| {{{bf(Features)}}} | {{{bf(State)}}} |
|
|
||||||
|---------------------------------+-----------------|
|
|
||||||
| Create save and load study | {{{OK}}} |
|
|
||||||
| *Undo/Redo actions* | {{{OK}}} |
|
|
||||||
| Edit river network | {{{OK}}} |
|
|
||||||
| Edit geometry | {{{OK}}} |
|
|
||||||
| Edit boundary conditions | {{{OK}}} |
|
|
||||||
| Edit lateral contributions | {{{OK}}} |
|
|
||||||
| Edit frictions (Stricklers) | {{{OK}}} |
|
|
||||||
| Edit initial conditions | {{{OK}}} |
|
|
||||||
| *Edit sedimentary layers* | {{{OK}}} |
|
|
||||||
| Edit hydraulics structures | |
|
|
||||||
| Edit suspended sediment | |
|
|
||||||
| Edit polluant | |
|
|
||||||
| Use meshing tool | WIP |
|
|
||||||
| Run a solver | {{{OK}}} |
|
|
||||||
| Read and display results | {{{OK}}} |
|
|
||||||
| Customize results visualisation | WIP |
|
|
||||||
| Generic solver input/output | |
|
|
||||||
|---------------------------------+-----------------|
|
|
||||||
#+latex: }
|
|
||||||
#+latex: \end{center}
|
|
||||||
|
|
||||||
{{{pause}}}
|
|
||||||
|
|
||||||
*** {{{no}}}
|
|
||||||
:PROPERTIES:
|
|
||||||
:BEAMER_COL: 0.60
|
|
||||||
:BEAMER_ENV: block
|
|
||||||
:END:
|
|
||||||
|
|
||||||
\vspace{2.5cm}
|
|
||||||
|
|
||||||
#+latex: \begin{center}
|
|
||||||
#+latex: \resizebox{0.8\columnwidth}{!}{
|
|
||||||
# #+caption: Tools by methods
|
|
||||||
#+name: tab:current-state-solver
|
|
||||||
#+attr_latex: :align |l|c|c|c|
|
|
||||||
|----------------------------+----------------+-------------------+--------------------|
|
|
||||||
| {{{bf(Usage)}}} | {{{bf(Mage)}}} | {{{bf(RubarBE)}}} | {{{bf(Mascaret)}}} |
|
|
||||||
|----------------------------+----------------+-------------------+--------------------|
|
|
||||||
| *Hydraulics* (mono reach) | {{{OK}}} | | {{{OK}}} |
|
|
||||||
| *Hydraulics* (multi reach) | {{{OK}}} | | |
|
|
||||||
| *Bed load evolution* | {{{OK}}} | | |
|
|
||||||
|----------------------------+----------------+-------------------+--------------------|
|
|
||||||
#+latex: }
|
|
||||||
#+latex: \end{center}
|
|
||||||
|
|
||||||
# #+LaTeX: \vspace{0.3cm}
|
|
||||||
|
|
||||||
#+latex: \begin{center}
|
|
||||||
#+latex: \resizebox{0.6\columnwidth}{!}{
|
|
||||||
# #+caption: Tools by methods
|
|
||||||
#+name: tab:current-state-package
|
|
||||||
#+attr_latex: :align |l|c|c|
|
|
||||||
|--------------------+---------------------+-------------------|
|
|
||||||
| {{{bf(Packages)}}} | {{{bf(GNU/Linux)}}} | {{{bf(Windows)}}} |
|
|
||||||
|--------------------+---------------------+-------------------|
|
|
||||||
| Archive (tar/zip) | {{{OK}}} | {{{OK}}} |
|
|
||||||
| Installer | | {{{OK}}} |
|
|
||||||
|--------------------+---------------------+-------------------|
|
|
||||||
#+latex: }
|
|
||||||
#+latex: \end{center}
|
|
||||||
|
|
||||||
* Future work and perspective
|
|
||||||
** Future work
|
|
||||||
#+BEGIN_EXPORT latex
|
|
||||||
\tikz[overlay,remember picture]
|
|
||||||
\node[xshift=-4.8cm,yshift=-3.8cm] at (current page.north east) {
|
|
||||||
\includegraphics[width=8.7cm]{../images/results_hydro.png}
|
|
||||||
};
|
|
||||||
#+END_EXPORT
|
|
||||||
|
|
||||||
*** Next step
|
|
||||||
- *Meshing tools integration*
|
|
||||||
- *Custom results visualisation*
|
|
||||||
+ Python + matplotlib script
|
|
||||||
- RubarBE integration
|
|
||||||
- Hydraulics structures
|
|
||||||
- Unified graphics theme
|
|
||||||
|
|
||||||
*** Open questions
|
|
||||||
- Generic solver input/output (HDF5? CGNS? SQLite?)
|
|
||||||
- GNU/Linux packages (Pip? Conda? Guix? Deb?)
|
|
||||||
|
|
||||||
** Contribution
|
|
||||||
#+LaTeX: \begin{center}
|
|
||||||
\faIcon{gitlab} https://gitlab.irstea.fr/theophile.terraz/pamhyr/
|
|
||||||
#+LaTeX: \end{center}
|
|
||||||
|
|
||||||
*** For users
|
|
||||||
:PROPERTIES:
|
|
||||||
:BEAMER_COL: 0.45
|
|
||||||
:BEAMER_ENV: block
|
|
||||||
:END:
|
|
||||||
- Try {{{pamhyr2}}}
|
|
||||||
- Report bug
|
|
||||||
- Propose improvement
|
|
||||||
- Improve translation
|
|
||||||
- Improve user documentation
|
|
||||||
- Improve tests cases examples
|
|
||||||
- /Find better project name/
|
|
||||||
|
|
||||||
*** For developers
|
|
||||||
:PROPERTIES:
|
|
||||||
:BEAMER_COL: 0.45
|
|
||||||
:BEAMER_ENV: block
|
|
||||||
:END:
|
|
||||||
- Add new solver / features
|
|
||||||
- Improve sources code
|
|
||||||
- Improve developers documentation
|
|
||||||
- Improve unit tests
|
|
||||||
|
|
||||||
# * Conclusion
|
|
||||||
** Thanks for listening
|
|
||||||
# #+BEGIN_EXPORT latex
|
|
||||||
# \tikz[overlay,remember picture]
|
|
||||||
# \node[xshift=-6cm,yshift=-1.5cm,text width=10cm] at (current page.north east) {
|
|
||||||
# {\small\emph{\alert{Journées de la modélisation 1D hydro-sédimentaire} (in french) -}
|
|
||||||
# \emph{30 \& 31 janvier 2024, INRAE Villeurbanne - }
|
|
||||||
# \emph{Information and inscription: }\texttt{<benoit.camenen@inrae.fr>}}
|
|
||||||
# };
|
|
||||||
# #+END_EXPORT
|
|
||||||
|
|
||||||
#+LaTeX: \begin{center}
|
|
||||||
\faIcon{gitlab} https://gitlab.irstea.fr/theophile.terraz/pamhyr/
|
|
||||||
#+LaTeX: \end{center}
|
|
||||||
|
|
||||||
#+LaTeX: \begin{center}
|
|
||||||
/*Journées de la modélisation 1D hydro-sédimentaire*/ (in French)
|
|
||||||
#+LaTeX: \\
|
|
||||||
/30 & 31 janvier 2024/, INRAE Villeurbanne
|
|
||||||
#+LaTeX: \\
|
|
||||||
Information and registration: =<benoit.camenen@inrae.fr>=
|
|
||||||
#+LaTeX: \end{center}
|
|
||||||
|
|
||||||
- {{{pamhyr2}}} developers:
|
|
||||||
+ =<pierre-antoine.rouby@inrae.fr>=,
|
|
||||||
+ =<theophile.terraz@inrae.fr>=
|
|
||||||
- Mage/RubarBE developer:
|
|
||||||
+ =<theophile.terraz@inrae.fr>=
|
|
||||||
|
|
||||||
# #+LaTeX: \vspace{0.5cm}
|
|
||||||
# #+LaTeX: \begin{center}
|
|
||||||
# #+LaTeX: {\Large
|
|
||||||
# *Thanks for listening*
|
|
||||||
# #+LaTeX: }
|
|
||||||
# #+LaTeX: \end{center}
|
|
||||||
@@ -11,8 +11,7 @@
|
|||||||
\usepackage[absolute]{textpos}
|
\usepackage[absolute]{textpos}
|
||||||
\usepackage{titlesec}
|
\usepackage{titlesec}
|
||||||
\usepackage{amssymb}
|
\usepackage{amssymb}
|
||||||
\usepackage[minted,xparse,breakable]{tcolorbox}
|
\usepackage{tcolorbox}
|
||||||
\usepackage{pmboxdraw}
|
|
||||||
|
|
||||||
\usepackage{enumitem}
|
\usepackage{enumitem}
|
||||||
\setlist[enumerate]{itemsep=-0.5em}
|
\setlist[enumerate]{itemsep=-0.5em}
|
||||||
@@ -134,7 +133,6 @@
|
|||||||
\setminted[c]{fontsize=\footnotesize,encoding=utf8,linenos}
|
\setminted[c]{fontsize=\footnotesize,encoding=utf8,linenos}
|
||||||
\setminted[c++]{breaklines,fontsize=\footnotesize,encoding=utf8,linenos}
|
\setminted[c++]{breaklines,fontsize=\footnotesize,encoding=utf8,linenos}
|
||||||
\setminted[python]{breaklines,fontsize=\footnotesize,encoding=utf8,linenos}
|
\setminted[python]{breaklines,fontsize=\footnotesize,encoding=utf8,linenos}
|
||||||
\setminted[sql]{breaklines,fontsize=\footnotesize,encoding=utf8,linenos}
|
|
||||||
\setminted[shell]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
\setminted[shell]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
||||||
\setminted[scheme]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
\setminted[scheme]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
||||||
\setminted[commun-lisp]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
\setminted[commun-lisp]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
||||||
@@ -142,7 +140,7 @@
|
|||||||
\setminted[llvm]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
\setminted[llvm]{breaklines,fontsize=\footnotesize,encoding=utf8}
|
||||||
|
|
||||||
%% Add box arrond of minted
|
%% Add box arrond of minted
|
||||||
\BeforeBeginEnvironment{minted}{\begin{tcolorbox}[breakable, boxsep=0pt, left=0.1cm, right=0.1cm, arc=0pt, boxrule=0.5pt, colback=white]}%
|
\BeforeBeginEnvironment{minted}{\begin{tcolorbox}[boxsep=0pt, left=0.1cm, right=0.1cm, arc=0pt, boxrule=0.5pt, colback=white]}%
|
||||||
\AfterEndEnvironment{minted}{\end{tcolorbox}}%
|
\AfterEndEnvironment{minted}{\end{tcolorbox}}%
|
||||||
|
|
||||||
\makeatletter
|
\makeatletter
|
||||||
|
|||||||
|
After Width: | Height: | Size: 150 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 14 KiB |
@@ -1,6 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
|
|
||||||
pdflatex -no-shell-escape step-by-step.tex
|
|
||||||
pdflatex -no-shell-escape step-by-step.tex
|
|
||||||
pdflatex -no-shell-escape pas-a-pas.tex
|
|
||||||
pdflatex -no-shell-escape pas-a-pas.tex
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
0:00:00:00 15
|
||||||
|
0:00:01:00 15
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
**************** SINGULARITES **********************
|
||||||
|
*BieSec Nb Longueur Cote dev Cote charg Coef deb Impression
|
||||||
|
*===---===----------==========----------==========-----------------------------
|
||||||
|
*****************************************************
|
||||||
|
* Bief n° 1
|
||||||
|
*****************************************************
|
||||||
|
* Ouvrage au pk 36270.0 seuil_aval
|
||||||
|
*SeuilR type D
|
||||||
|
D 1 36270.00 18.250 15.500 0.000 0.400 99999.000 seuil palplanches
|
||||||
|
* Ouvrage au pk 31875.0 PontRS101
|
||||||
|
*OrificeR type O
|
||||||
|
O 1 31875.00 9.660 18.710 21.890 0.400 9999.000
|
||||||
|
*SeuilR type D
|
||||||
|
D 1 31875.00 14.000 22.890 0.000 0.400 99999.000
|
||||||
|
* Ouvrage au pk 34335.0 PontThivencelle
|
||||||
|
*SeuilR type D
|
||||||
|
D 1 34335.00 13.000 21.740 0.000 0.400 99999.000
|
||||||
|
*OrificeR type O
|
||||||
|
O 1 34335.00 9.070 17.280 20.740 0.400 9999.000
|
||||||
|
*****************************************************
|
||||||
|
* Bief n° 3
|
||||||
|
*****************************************************
|
||||||
|
* Ouvrage au pk 0.0 Orifice
|
||||||
|
*OrificeR type O
|
||||||
|
*O 3 0.000 6.000 19.000 19.001 0.400 20.000 Clapet_001
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
0:00:00:00 4
|
||||||
|
0:00:01:00 4
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
16,03 0
|
||||||
|
16,13 1,29
|
||||||
|
16,23 3,64
|
||||||
|
16,33 6,7
|
||||||
|
16,43 10,31
|
||||||
|
16,53 14,41
|
||||||
|
16,63 18,94
|
||||||
|
16,73 23,87
|
||||||
|
16,83 29,16
|
||||||
|
16,93 34,79
|
||||||
|
17,03 40,75
|
||||||
|
17,13 47,01
|
||||||
|
17,23 53,57
|
||||||
|
17,33 60,4
|
||||||
|
17,43 67,5
|
||||||
|
17,53 74,86
|
||||||
|
17,63 82,47
|
||||||
|
17,73 90,33
|
||||||
|
17,83 98,41
|
||||||
|
17,93 106,73
|
||||||
|
18,03 115,26
|
||||||
|
18,13 124,01
|
||||||
|
18,23 132,98
|
||||||
|
18,33 142,14
|
||||||
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 7.7 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 108 KiB |
|
Before Width: | Height: | Size: 163 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 49 KiB |