Visualiser les détails du résultat
Identifiant | Projet | Catégorie | Visibilité | Date de soumission | Dernière mise à jour |
---|---|---|---|---|---|
0000888 | SIC | (Aucune catégorie) | public | 2013-01-23 15:23 | 2013-08-06 11:33 |
Rapporteur | dorch | Assigné à | |||
Priorité | normale | Impact | fonctionnalité | Reproductibilité | sans objet |
Statut | nouveau | Résolution | ouvert | ||
Version du produit | |||||
Version ciblée | Priorité 3 | Résolu dans la version | |||
Résumé | 0000888: API client/serveur pour TALWEG/FLUVIA/SIRENE | ||||
Description | Applications : Optimisation, Calage automatique, Assimilation de donnée d'ensemble (Monte Carlo, Kalman d'Ensemble, etc), lien OPC, OpenMI, Palm, etc | ||||
Balises | Développements stratégiques | ||||
Temps projeté (jours) | |||||
|
Concernant la structure de l'API voici une première réflexion. Compiler une seule bibliothèque dynamique (.dll sous windows, .so sous Linux) comprenant l'ensemble des sources Talweg/Fluvia/Sirene. Un programme (peu importe son langage C, Fortran, Windev, Matlab, Python) pourra charger la DLL et opérer avec elle en appelant les fonctions constituant l'API : - sic_load_model : une fonction qui appellerait d'autres fonctions pouvant faire partie de l'API prenant en charge la lecture de la topologie (sic_load_topo), la géométrie (sic_load_geometry), les conditions aux limites (sic_load_limitcond), les conditions initiales (sic_load_initcond) et les paramètres hydrauliques (sic_load_hydparam). - sic_run_model :une fonction qui lance une simulation avec plusieurs options définissant le régime (permanent ou transitoire) et les paramètres temporels. - sic_set_characteristic : une fonction qui permet de modifier un donnée du modèle en utilisant la nomenclature des modules de régulation (celle du module LOCALISATION). - sic_get_results : une fonction qui permet de récupérer un scalaire, un vecteur ou une matrice de réels correspondant à un ensemble de résultat (avec les mêmes types d'options que le programme SicExport pour la définition des données à récupérer). Avec cette API on serait en mesure de lancer des exécutions de SIC sans avoir à recharger des données, ni écrire des résultats et en pouvant modifier des données ou paramètres du modèle et récupérer uniquement les informations qui nous intéresse entre chaque lancement de simulation. On peut même étendre l'API en lui permettant d'effectuer des modifications sur la géométrie (sic_set_geometry) voire la topologie (mais la compatibilité avec les données hydrauliques est plus compliquée à gérer), lancer Talweg (sic_run_mesh) sans écrire dans le XML pour modifier directement en mémoire la géométrie et lancer une simulation derrière (sic_run_model). |