2017-07-13 1 views
0

Dans FMI 2.0, les paramètres de tableau sont sérialisés en variables scalaires. Les outils d'importation peuvent les afficher sous forme de tableaux, mais leur taille est fixe et leur gestion inefficace. Un meilleur groupe de support est actuellement en cours de développement par un groupe de travail du projet FMI, mais je voudrais savoir sur les solutions de contournement comment gérer les paramètres de tableau dans l'intervalle.Paramètres de tableau dans FMI 2.0

Les idées sont à

  • Code dur les (inconvénient: le paramters n'y a pas plus ...)
  • les mettre dans un fichier CSV dans le dossier des ressources et de les lire au début de la simulation (inconvénient: pas de support de masque de paramètres, compliqué)
  • les mettre dans un paramètre de chaîne et l'analyse syntaxique au début de la simulation (inconvénient: longueur limitée de chaînes, compliquée)

sont-t ici d'autres idées/solutions de contournement? Merci d'avance.

Répondre

1

Des combinaisons d'idées décrites dans votre question sont également possibles.

Code dur avec le paramètre de sélection

Ici, l'idée est de coder en dur plusieurs variantes de votre tableau et permettent à l'utilisateur de sélectionner un avec un paramètre. Je l'ai fait dans un projet récent où un utilisateur devait choisir entre différentes conditions initiales résolues spatialement (par exemple des profils de température). Nous avons utilisé un modèle pour générer plus de 100 ensembles différents de conditions initiales résolues spatialement (chacun représentant un "historique" différent de l'objet modélisé), les codant en dur comme des tableaux FORTRAN (le noyau interne de la FMU était en FORTRAN), et utilisé un seul paramètre entier pour sélectionner le profil qu'il voulait utiliser.

Cela a très bien fonctionné et l'utilisateur n'a aucun moyen de le casser.

Raccourcir le tableau et interpoler

Si les données de votre tableau est lisse, vous pourriez être en mesure de réduire considérablement le nombre de valeurs que vous avez réellement besoin de passer à votre simulation - ce qui rendrait sérialisation en paramètres scalaires moins douloureux. Dans la FMU, interpolez pour obtenir la résolution dont vous avez besoin.

paramètre de chaîne pour sélectionner le fichier csv

Vous pouvez utiliser un paramètre de chaîne pour fournir le chemin vers un fichier csv fourni par l'utilisateur. Je ne recommanderais pas cela, car l'utilisateur le cassera très probablement.