Bonjour je voudrais court-circuiter le calcul de F dans ISIS. Bon evidemment ca doit vous paraitre bizarre puisqu'ISIS est initialement fait pour ca... mais bon les pressions sont fortes pour que l'on puisse tester des procedures avec de F fixes. J'avoue ne pas trop savoir comment prendre le truc par le bon bout. Je ne pense pas que l'on ait besoin d'un nouveau simulateur car tout les calculs matriciels a chaque pas de temps ne changent pas. Ce qui change c'est simplement que dans siMatrix la methode matrixFishingMortality() n'a plus besoin d'etre appliquee car MATRIX_FISHING_MORTALITY sera initialisee dans une Regle ForcingMortality avec en entree deux fichiers ascii. Faut-il que je definisse une nouvelle methode matrixFishingMortality avec un parametre booleen qui par defaut est egal a False et qui lorsq'il est mis a TRUE par la ForcingMortality ne fait pas le calcul de matrixFishingMortality ? si oui qu'est-ce que cela implique comme consequences? comment faire pour que ce parametre soit accessible dans une regle? comment puis-je acceder a MATRIX_FISHING_MORTALITY qui est attache a ResultName dans une regle? merci stephanie
pour l'acces a la matrice, je viens de voir que c'etait donne dans la structure.... donc - une question ;-) Stephanie.Mahevas@ifremer.fr a écrit :
Bonjour
je voudrais court-circuiter le calcul de F dans ISIS. Bon evidemment ca doit vous paraitre bizarre puisqu'ISIS est initialement fait pour ca... mais bon les pressions sont fortes pour que l'on puisse tester des procedures avec de F fixes. J'avoue ne pas trop savoir comment prendre le truc par le bon bout. Je ne pense pas que l'on ait besoin d'un nouveau simulateur car tout les calculs matriciels a chaque pas de temps ne changent pas. Ce qui change c'est simplement que dans siMatrix la methode matrixFishingMortality() n'a plus besoin d'etre appliquee car MATRIX_FISHING_MORTALITY sera initialisee dans une Regle ForcingMortality avec en entree deux fichiers ascii. Faut-il que je definisse une nouvelle methode matrixFishingMortality avec un parametre booleen qui par defaut est egal a False et qui lorsq'il est mis a TRUE par la ForcingMortality ne fait pas le calcul de matrixFishingMortality ? si oui qu'est-ce que cela implique comme consequences? comment faire pour que ce parametre soit accessible dans une regle? comment puis-je acceder a MATRIX_FISHING_MORTALITY qui est attache a ResultName dans une regle?
merci stephanie
_______________________________________________ Isis-fish-devel mailing list Isis-fish-devel@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-devel
Le 19/05/2011 16:41, Stephanie.Mahevas@ifremer.fr a écrit :
je voudrais court-circuiter le calcul de F dans ISIS. Bon evidemment ca doit vous paraitre bizarre puisqu'ISIS est initialement fait pour ca... mais bon les pressions sont fortes pour que l'on puisse tester des procedures avec de F fixes. J'avoue ne pas trop savoir comment prendre le truc par le bon bout. Je ne pense pas que l'on ait besoin d'un nouveau simulateur car tout les calculs matriciels a chaque pas de temps ne changent pas. Ce qui change c'est simplement que dans siMatrix la methode matrixFishingMortality() n'a plus besoin d'etre appliquee car MATRIX_FISHING_MORTALITY sera initialisee dans une Regle ForcingMortality avec en entree deux fichiers ascii. Faut-il que je definisse une nouvelle methode matrixFishingMortality avec un parametre booleen qui par defaut est egal a False et qui lorsq'il est mis a TRUE par la ForcingMortality ne fait pas le calcul de matrixFishingMortality ? si oui qu'est-ce que cela implique comme consequences? comment faire pour que ce parametre soit accessible dans une regle? comment puis-je acceder a MATRIX_FISHING_MORTALITY qui est attache a ResultName dans une regle? Je ne pense pas que cela soit possible sans modification du simulateur.
A la place de : MatrixND matrixFishingMortality = siMatrix.matrixFishingMortality(date, pop); resManager.addResult(date, pop, matrixFishingMortality); Tu peut le modifier en : // matrice déjà calculée par une règle MatrixND matrixFishingMortality = resManager.getMatrix(date, pop, ResultName.MATRIX_FISHING_MORTALITY); // sinon, on la calcule if (matrixFishingMortality == null) { matrixFishingMortality = siMatrix.matrixFishingMortality(date, pop); resManager.addResult(date, pop, matrixFishingMortality); } Ce code devrait fonctionner même sans la règle. -- Éric Chatellier <chatellier@codelutin.com> Tel: 02.40.50.29.28 http://www.codelutin.com
tres bonne idee ca simplifie tout! je vais tester en creant un nouveau simulatorForcingF merci Steph Eric Chatellier <chatellier@codelutin.com> a écrit :
Le 19/05/2011 16:41, Stephanie.Mahevas@ifremer.fr a écrit :
je voudrais court-circuiter le calcul de F dans ISIS. Bon evidemment ca doit vous paraitre bizarre puisqu'ISIS est initialement fait pour ca... mais bon les pressions sont fortes pour que l'on puisse tester des procedures avec de F fixes. J'avoue ne pas trop savoir comment prendre le truc par le bon bout. Je ne pense pas que l'on ait besoin d'un nouveau simulateur car tout les calculs matriciels a chaque pas de temps ne changent pas. Ce qui change c'est simplement que dans siMatrix la methode matrixFishingMortality() n'a plus besoin d'etre appliquee car MATRIX_FISHING_MORTALITY sera initialisee dans une Regle ForcingMortality avec en entree deux fichiers ascii. Faut-il que je definisse une nouvelle methode matrixFishingMortality avec un parametre booleen qui par defaut est egal a False et qui lorsq'il est mis a TRUE par la ForcingMortality ne fait pas le calcul de matrixFishingMortality ? si oui qu'est-ce que cela implique comme consequences? comment faire pour que ce parametre soit accessible dans une regle? comment puis-je acceder a MATRIX_FISHING_MORTALITY qui est attache a ResultName dans une regle? Je ne pense pas que cela soit possible sans modification du simulateur.
A la place de : MatrixND matrixFishingMortality = siMatrix.matrixFishingMortality(date, pop); resManager.addResult(date, pop, matrixFishingMortality);
Tu peut le modifier en : // matrice déjà calculée par une règle MatrixND matrixFishingMortality = resManager.getMatrix(date, pop, ResultName.MATRIX_FISHING_MORTALITY); // sinon, on la calcule if (matrixFishingMortality == null) { matrixFishingMortality = siMatrix.matrixFishingMortality(date, pop); resManager.addResult(date, pop, matrixFishingMortality); }
Ce code devrait fonctionner même sans la règle.
-- Éric Chatellier <chatellier@codelutin.com> Tel: 02.40.50.29.28 http://www.codelutin.com
_______________________________________________ Isis-fish-devel mailing list Isis-fish-devel@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-devel
participants (2)
-
Eric Chatellier -
Stephanie.Mahevas@ifremer.fr