Skip to content
GitLab
    • Explore Projects Groups Topics Snippets
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • J J2K coupling
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

La forge institutionnelle d'INRAE étant en production depuis le 10 juin 2025, nous vous invitons à y créer vos nouveaux projets.

  • WatASitDev
  • J2K coupling
  • Wiki
  • j2k_modules

j2k_modules · Changes

Page history
Updated j2k_modules.md (markdown) authored 5 years ago by Bonte Bruno's avatar Bonte Bruno
Hide whitespace changes
Inline Side-by-side
Showing
with 15 additions and 6 deletions
+15 -6
j2k_modules.md
View page @ eb11639c
[[_TOC_]]
# Principe général
# Introduction
Un modèle J2K est un agencement de modules associé à un état initial et à des valeurs de paramètres. Le fonctionnement des modules est codé en java mais la plupart des utilisateurs ne programment pas eux-mêmes les modules, ils utilisent des modules existant qu'ils agencent et paramétrisent en utilisant un logiciel dédié appelé juice.
Un modèle J2K est un agencement de modules associé à un état initial et des valeurs de paramètres. Le fonctionnement des modules est codé en java mais la plupart des utilisateurs ne programment pas eux-mêmes les modules, ils utilisent des modules existant qu'ils agencent et paramétrisent en utilisant un logiciel dédié appelé juice.
Pour organiser la communication avec des modèles J2K depuis l'extérieur, nous avons programmé et compilés des modules dédiés en Java. Reste à l'utilisateur d'intégrer correctement ces modules dans ses modèles. Ce chapitre décrit le fonctionnement interne de nos modules et la marche qu'un utilisateur doit suivre pour les utiliser.
Pour organiser la communication avec des modèles J2K depuis l'extérieur, nous avons programmé des modules dédiés en Java. Reste à l'utilisateur d'intégrer correctement ces modules dans ses modèles.
Les développeurs qui souhaiteraient modifier nos modules ou créer de nouveaux modules de communication spécifiques sont invités à consulter le chapitre sur le [Développement des modules](netbeans).
# Édition d'un modèle
# Principe général
Il faut lancer juice. Pas besoin d'utiliser Netbeans pour ça.
Un modèle J2K est spécifié dans un fichier JAMS (extension .jams") qui s'édite avec le logciel "Juice".
Pour lancer Juice, il faut aller dans la racine de JAMS et lancer juice avec java :
......@@ -18,7 +20,14 @@ ls # verifier que juice-starter.jar est bien là
java -jar juice-starter.jar
```
# Exemple de plan des modules
L'ordonnancement des modèles J2K est classiquement organisés en au moins trois boucles principales: Une boucle dîte "temporelle" qui décrit la succession des opérations à effectuer à chaque pas de temps, et qui contient elle même une boucle dîte "spatiale" (qui décrit la succession des opérations à effectuer sur les entitiés spatiales (HRU) classées de l'amont vers l'aval) et une boucles sur les brins de rivières (ReachLoop) classées également de l'amont vers l'aval.
L'enjeu du couplage est de pouvoir intervenir sur le système à tout moment de la simulation mais sans perturber la logique des calculs hydrologiques prévus pour être ordonancée de l'amont vers l'aval. Pour cette raison les modules de communications sont organisés de la manière suivante:
* le module CouplingCommunication, situé en début de boucle temporel reçoit toutes perturbations que subit le modèle à un pas de temps donné.
* ces perturbations sont enregistrées avant l'exécution du pas de temps dans J2K mais ne sont pas répercutées immédiatements sur les variables d'état du système
* lors du parcours des boucles spatiales (HRULoop) et de brins de rivières (ReachLoop) des modules de communication secondaires (par exemple "Drip irrigation") vont être exécutés à chaque fois qu'une modification a été prévu pour ce pas de temps au fur et à mesure du parcours de la boucle et donc en respectant l'ordonancement amont / aval et la logique des calculs hydrologiques. La section ci-dessous présente un exemple type d'ordonancement de modèle communicant.
## Exemple d'ordonnancement des modules d'un modèle J2K communicant
* timeloop
* **CouplingCommunication**
......
Clone repository
  • Home
  • j2k_modules
  • netbeans
  • protocole_j2k
  • rapport
  • run
  • spacetime
  • todo

Menu

Explore Projects Groups Topics Snippets