Le 6 avril 2012 11:29, Loic GASCHE
<Loic.Gasche@ifremer.fr> a écrit :
Bonjour,
J'ai dans mes debugs le message suivant :
L'objet passé en argument n'a pas été retrouvé ou la dimension donnée ne convient pas:janvier 0 in [Plaice7D, Sole7D]
Si je comprends bien cela veut dire que je ne mets pas les bonnes choses aux bons endroits dans ma matrice de résultats (tfmMatrix) ?
Cela m'amène à m'interroger sur l'articulation entre :
- La phase de création de la méthode :
ex : public MatrixND TotalFishingMortality (TimeStep step, ResultStorage resManager)throws TopiaException {
- La phase de création de la matrice de résultats :
ex : MatrixND tfmMatrix = MatrixFactory.getInstance().create(
ResultName.MATRIX_TOTAL_FISHING_MORTALITY,
new List[]{populations}, //,
new String[]{n_("Populations")}); //,
- La phase de remplissage de cette matrice :
ex : tfmMatrix.setValue(pop, Fpop);
Première question :
Pourquoi n'avons nous pas mis "Population pop" dans les arguments de public MatrixND TotalfishingMortality(...) mais faisons nous une boucle sur les populations après ?
Est-ce équivalent à mettre "Population pop" dans les arguments et enlever la boucle sur les populations ?
Faut-il mieux faire l'un que l'autre ?
Deuxième question :
Quand on crée la matrice de résultats et qu'on dit quelles sont ses dimensions (new List[]{...}), quelles sont les règles à respecter sur ce qu'on met dans List[]{} (à part le fait que ça doit être des listes) ?
Par exemple si je veux mes résultats par population et par timestep, est-ce qu'il suffit de mettre List[]{populations, Liste_des_timesteps}?
Si oui comment faire pour obtenir une liste des timesteps (ou des années) de ma simulation ?
Si non que faut-il faire ? Est-ce lié aux arguments qu'on met dans public MatrixND TotalfishingMortality(...) ? Par exemple si j'y mets Population pop et Timestep step alors mes résultats seront forcément par pop et par Timestep donc il n'y a pas besoin de le demander dans List[]{} ?
Troisième question :
A l'etape de remplissage de la matrice on fait bien setValue(objet d'une liste 1, objet d'une liste 2, etc., valeur ) ?
Par exemple tfmMatrix.setValue(pop, Fpop); si on veut remplir par population et que pop désigne une population de la liste populations ?
Et si on veut remplir par population et Timestep, faut-il rajouter "step" dans setvalue() ? Ou alors est-ce que comme à la question d'avant il n'y a pas besoin de le faire car timestep est un des paramètres d'entrée ?
Voilà, j'espère que ce n'est pas trop confus...
Loïc
_______________________________________________
Isis-fish-devel mailing list
Isis-fish-devel@list.isis-fish.org
http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-devel