Question sur une simulation test
Bonjour, Je viens de finir de paramétré ma pêcherie dans ISIS. Je n'ai pas encore calibré pour q, je voulais juste voir si ca tourne « a blanc », juste en simulant pour une de mes populations (q=1 partout pour le fun) et sans règles de gestion. Et ca ne tourne pas... Si je regarde les premières ligne du log de la simulation (Log_simugar_fail.txt) : java.lang.NullPointerException at scripts.SiMatrix.aw$original$_AW_$stdEffortPerHour$_AW_$scripts_SiMatrix(SiMatrix.java:1191) at scripts.SiMatrix_1__81536693_1886140710___AW_JoinPoint.proceed(Unknown Source) .... Donc si je comprends bien, ISIS n'arrive pas a obtenir le Gear Standardisation Factor (qui est pourtant renseigné) a la ligne 1191 du Si Matrix pour calculer le stdEffortPerHour?! Que veut dire la seconde ligne et a quoi correspondent la série de chiffre ?! J'ai aussi attache le debug, au cas ou. Merci ! Jess *************************************************************************************** Dr Jessica André Junior Research Fellow Wild Fisheries Program-Fisheries Aquaculture & Coasts (FAC) Institute for Marine and Antarctic Studies (IMAS) Marine Research Laboratories, Private Bag 49 Hobart, TAS 7001, Australia Ph: (03) 6227 7284 /Int: +61 3 6227 7284 Fax: (03) 6227 8035 /Int: +61 3 6227 8035 Email: Jessica.Andre@utas.edu.au Web: http://fcms.its.utas.edu.au/scieng/mrl/pagedetails.asp?lPersonId=3177 `·.,, ><(((º> `·.,, ><(((º> `·.,, ><(((º>
Le 21/03/2011 04:01, Jessica Andre a écrit :
Bonjour,
Bonjour,
Je viens de finir de paramétré ma pêcherie dans ISIS. Je n’ai pas encore calibré pour q, je voulais juste voir si ca tourne « a blanc », juste en simulant pour une de mes populations (q=1 partout pour le fun) et sans règles de gestion. Et ca ne tourne pas… Si je regarde les premières ligne du log de la simulation (Log_simugar_fail.txt) :
java.lang.NullPointerException
at scripts.SiMatrix.aw$original$_AW_$stdEffortPerHour$_AW_$scripts_SiMatrix(SiMatrix.java:1191)
at scripts.SiMatrix_1__81536693_1886140710___AW_JoinPoint.proceed(Unknown Source)
….
Donc si je comprends bien, ISIS n’arrive pas a obtenir le Gear Standardisation Factor (qui est pourtant renseigné) a la ligne 1191 du Si Matrix pour calculer le stdEffortPerHour?!
double fstd = metier.getGear().getStandardisationFactor(); Je dirais plus précisément que le métier n'a pas d'engin déclaré. metier.getGear() renvoi null null.getStandardisationFactor() => java.lang.NullPointerException
Que veut dire la seconde ligne et a quoi correspondent la série de chiffre ?!
C'est la trace d'exécution d'isisfish. Elle est rendu très compliqué par l'utilisation du cache de simulation.
J’ai aussi attache le debug, au cas ou.
-- Éric Chatellier <chatellier@codelutin.com> Tel: 02.40.50.29.28 http://www.codelutin.com
Bonjour, Merci pour les précisions. Je n'avais effectivement pas donne d'engin pour non metier "inactivité". Donc j'ai relance la simu après avoir rajouté un engin et j'obtiens: ERROR|10:25:13,105|InProcessSimulatorLauncher.java|434|localSimulateSameThread|Error during simulation java.lang.NullPointerException at scripts.SiMatrix.aw$original$_AW_$matrixFishingMortality$_AW_$scripts_SiMatrix(SiMatrix.java:578) donc ligne 578 du SiMatrix: double ciblage = infoMet.getTargetFactor(group); Il n'y aurait pas de Target factor pour un des métiers, ou plutôt pas de Target factor par groupe. J'ai vérifié et ils sont tous renseignés (j'ai mis return 0; pour les espèces non ciblées par un engin). Une suggestion?! Une autre question concernant la reproduction. J'ai 4 espèces et aucune n'a de stock-recruitement relationship établie (donc pas d'équation de reproduction, ou plutôt elle retourne 0). Il va falloir que je renseigne ISIS sur le nombre de nouveau individus produit chaque mois. Je ne suis pas sure comment faire ca (script de pre-simu je suppose mais c'est la que ca se gâte...).En fouillant sur le web, j'ai trouve ce que je cherche (je crois): l'endroit ou est créée la matrice de reproduction http://isis-fish.labs.libre-entreprise.org/isis-fish/xref/fr/ifremer/isisfis... Il est spécifié ligne 793: * Construit la matrice de reproduction. C'est un vecteur contenant le nombre d'individu créer par la reproduction. Le vecteur est structure en zone de reproduction.* Donc il y aurait une matrice de reproduction par population, et c'est un vecteur. Comme je n'ai qu'une zone de reproduction par espèce (composée de 10 cellules par exemple), ce serait essentiellement un vecteur de 1x1 donc un chiffre par espèce?! Si je veux appeler cette matrice (ou plutôt la remplir), qu'elle est son nom? Matrix ND ReproductionMatrix? Ou juste ReproductionMatrix? Merci d'avance... Jess -----Original Message----- From: isis-fish-users-bounces@list.isis-fish.org [mailto:isis-fish-users-bounces@list.isis-fish.org] On Behalf Of Eric Chatellier Sent: Monday, 21 March 2011 8:22 PM To: isis-fish-users@list.isis-fish.org Subject: Re: [Isis-fish-users] Question sur une simulation test Le 21/03/2011 04:01, Jessica Andre a écrit :
Bonjour,
Bonjour,
Je viens de finir de paramétré ma pêcherie dans ISIS. Je n'ai pas encore calibré pour q, je voulais juste voir si ca tourne « a blanc », juste en simulant pour une de mes populations (q=1 partout pour le fun) et sans règles de gestion. Et ca ne tourne pas. Si je regarde les premières ligne du log de la simulation (Log_simugar_fail.txt) :
java.lang.NullPointerException
at scripts.SiMatrix.aw$original$_AW_$stdEffortPerHour$_AW_$scripts_SiMatrix(SiMatrix.java:1191)
at scripts.SiMatrix_1__81536693_1886140710___AW_JoinPoint.proceed(Unknown Source)
..
Donc si je comprends bien, ISIS n'arrive pas a obtenir le Gear Standardisation Factor (qui est pourtant renseigné) a la ligne 1191 du Si Matrix pour calculer le stdEffortPerHour?!
double fstd = metier.getGear().getStandardisationFactor(); Je dirais plus précisément que le métier n'a pas d'engin déclaré. metier.getGear() renvoi null null.getStandardisationFactor() => java.lang.NullPointerException
Que veut dire la seconde ligne et a quoi correspondent la série de chiffre ?!
C'est la trace d'exécution d'isisfish. Elle est rendu très compliqué par l'utilisation du cache de simulation.
J'ai aussi attache le debug, au cas ou.
-- Éric Chatellier <chatellier@codelutin.com> Tel: 02.40.50.29.28 http://www.codelutin.com _______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users
Le 24/03/2011 00:58, Jessica Andre a écrit :
Bonjour,
Merci pour les précisions. Je n'avais effectivement pas donne d'engin pour non metier "inactivité". Donc j'ai relance la simu après avoir rajouté un engin et j'obtiens:
ERROR|10:25:13,105|InProcessSimulatorLauncher.java|434|localSimulateSameThread|Error during simulation java.lang.NullPointerException at scripts.SiMatrix.aw$original$_AW_$matrixFishingMortality$_AW_$scripts_SiMatrix(SiMatrix.java:578)
donc ligne 578 du SiMatrix: double ciblage = infoMet.getTargetFactor(group); Il n'y aurait pas de Target factor pour un des métiers, ou plutôt pas de Target factor par groupe. J'ai vérifié et ils sont tous renseignés (j'ai mis return 0; pour les espèces non ciblées par un engin). Une suggestion?! En fait non. Une NullPointerException (une joie du java) signifie la plupart du temps que vous appeler une méthode sur un objet null.
Donc, dans "infoMet.getTargetFactor(group)", seul infoMet peut être null. La ligne précedente qui défini infoMet est MetierSeasonInfo infoMet = metier.getMetierSeasonInfo(month); donc, un de vos metier n'a pas de saison portant sur le mois "month".
Une autre question concernant la reproduction. J'ai 4 espèces et aucune n'a de stock-recruitement relationship établie (donc pas d'équation de reproduction, ou plutôt elle retourne 0). Il va falloir que je renseigne ISIS sur le nombre de nouveau individus produit chaque mois. Je ne suis pas sure comment faire ca (script de pre-simu je suppose mais c'est la que ca se gâte...).En fouillant sur le web, j'ai trouve ce que je cherche (je crois): l'endroit ou est créée la matrice de reproduction
http://isis-fish.labs.libre-entreprise.org/isis-fish/xref/fr/ifremer/isisfis...
Il est spécifié ligne 793: * Construit la matrice de reproduction. C'est un vecteur contenant le nombre d'individu créer par la reproduction. Le vecteur est structure en zone de reproduction.* Donc il y aurait une matrice de reproduction par population, et c'est un vecteur. Comme je n'ai qu'une zone de reproduction par espèce (composée de 10 cellules par exemple), ce serait essentiellement un vecteur de 1x1 donc un chiffre par espèce?! Si je veux appeler cette matrice (ou plutôt la remplir), qu'elle est son nom? Matrix ND ReproductionMatrix? Ou juste ReproductionMatrix? En lisant bien le code, cette matrice est construite par évaluation de l'équation de reproduction. Donc la seule façon de la remplir est de définir l'équation de reproduction.
Voici à titre d'exemple, l'équation de la base GolfeDeGascogne : double compt=0; for (Zone zone : zoneRepro){ compt=0; for (PopulationGroup group : groups){ double cf = group.getReproductionRate(); compt += N.getValue(group, zone) * cf; } result.setValue(zone, compt*prepro); } return 0; -- Éric Chatellier <chatellier@codelutin.com> Tel: 02.40.50.29.28 http://www.codelutin.com
participants (2)
-
Eric Chatellier -
Jessica Andre