Quelques éléments, Hillaire répondra mieux que moi je pense :) 2010/7/7 Bastien Preuss <bastien.preuss@ifremer.fr>
Bonjour,
Une petite question à propos de la prepro… mais ça provient probablement d’une logique de Java que je n’ai pas encore !
Dans l’équation de reproduction suivante (c’est celle de Golf de G.) :
double Ktemp =
context.getValueAndCompute("nephrops.reproductionEquation.Ktemp", 1);
double compt=0;
for (Zone zone : zoneRepro){
compt=0;
for (PopulationGroup group : groups){
double cf = Ktemp * group.getReproductionRate();
compt += N.getValue(group, zone) * cf;
}
result.setValue(zone, compt*prepro);
}
return 0;
Je ne comprends pas bien la façon dont est utilisé la variable « prepro » ici, qui devrait dépendre normalement du mois et de la zone, non ?
*Elle dépend bien de la zone, on boucle ici sur les différentes zones. Elle dépend aussi du mois car l'équation de reproduction est appelée chaque mois où une reproduction se fait.*
D’autre part, étant donnée que cette équation utilise N.getValue(groupe,zone), cela signifie-t-il que tous les individus présents dans la zone sont considérés comme matures ?
* Avant la variable cf dépend du ReproductionRate, je pense que ce ReproductionRate intègre une information sur la maturité/fécondité (valeur nulle pour groupe 0 etc..) * * En fait les différents paramètres que tu vas renseigner dépendent de la façon dont tu veux implanter la reproduction. Par exemple dans un de mes cas (relation S/R) j'utilise le paramètre ReproductionRate en tant qu'ogive de maturité (entre 0 et 1 donc). *Benoit* *
Merci Benoit pour ta réponse. En effet, on réapplique cette équation à chaque mois de la repro, et je vois bien le coup pour la boucle sur les zones de repro, mais c’est la même valeur de prepro que l’on utilise pour toutes les zones d’un mois donnée là, non ? En lisant les équations dans l’annexe de l’article Mahévas (2004), j’avais cru que l’on pouvais déterminer la valeur de prepro pour chaque zone, mais dans la saisi des paramètres on détermine la prepro uniquement en fonction du mois, non ? Concernant le « reproduction rate », je l’ai toujours utilisé comme un nombre d’œufs par femelle, mais effectivement cette fois je l’utilise comme pourcentage d’individus matures dans ma classe, car je n’ai pas trouvé d’autre paramètre pour faire cela. Voici l’équation de repro que j’utilise actuellement, ça compile OK, mais je ne l’ai pas encore fait tourné pour voir si tout était bon. double nboeuf = 0; double LogF = 0; double F = 0; for (Zone zone : zoneRepro){ nboeuf = 0; for (PopulationGroup group : groups){ if (month.equals("SEPTEMBER") || month.equals("OCTOBER")){ //pour les mois de sept et oct LogF = 0; //réinitialisation de variables intermédiaires F = 0; //réinitialisation de variables intermédiaires LogF = Math.log(1.58*Math.pow(10,-3)) + 5.2*Math.log(group.getLength()); //calcul du log de la fécondité en fonction de la taille F = Math.exp(LogF)*N.getValue(group,zone)*group.getReproductionRate()*prepro/2; //calcul du nombre d'oeuf par femelle, avec un sex ratio de 1/2 nboeuf += F; } else{ // Dans tous les autres mois de repro LogF = 0; F = 0; LogF = Math.log(3) + 3.16*Math.log(group.getLength()); //calcul du log de la fécondité en fonction de la taille F = Math.exp(LogF)*N.getValue(group,zone)*group.getReproductionRate()*prepro/2; //calcul de F nboeuf += F; } } result.setValue(zone,nboeuf); // on affecte le nb d oeufs a la zone } return 0; Bastien De : isis-fish-users-bounces@list.isis-fish.org [mailto:isis-fish-users-bounces@list.isis-fish.org] De la part de Benoit Archambault Envoyé : Wednesday, July 07, 2010 1:48 PM À : isis-fish-users@list.isis-fish.org Objet : Re: [Isis-fish-users] prepro Quelques éléments, Hillaire répondra mieux que moi je pense :) 2010/7/7 Bastien Preuss <bastien.preuss@ifremer.fr> Bonjour, Une petite question à propos de la prepro… mais ça provient probablement d’une logique de Java que je n’ai pas encore ! Dans l’équation de reproduction suivante (c’est celle de Golf de G.) : double Ktemp = context.getValueAndCompute("nephrops.reproductionEquation.Ktemp", 1); double compt=0; for (Zone zone : zoneRepro){ compt=0; for (PopulationGroup group : groups){ double cf = Ktemp * group.getReproductionRate(); compt += N.getValue(group, zone) * cf; } result.setValue(zone, compt*prepro); } return 0; Je ne comprends pas bien la façon dont est utilisé la variable « prepro » ici, qui devrait dépendre normalement du mois et de la zone, non ? Elle dépend bien de la zone, on boucle ici sur les différentes zones. Elle dépend aussi du mois car l'équation de reproduction est appelée chaque mois où une reproduction se fait. D’autre part, étant donnée que cette équation utilise N.getValue(groupe,zone), cela signifie-t-il que tous les individus présents dans la zone sont considérés comme matures ? Avant la variable cf dépend du ReproductionRate, je pense que ce ReproductionRate intègre une information sur la maturité/fécondité (valeur nulle pour groupe 0 etc..) En fait les différents paramètres que tu vas renseigner dépendent de la façon dont tu veux implanter la reproduction. Par exemple dans un de mes cas (relation S/R) j'utilise le paramètre ReproductionRate en tant qu'ogive de maturité (entre 0 et 1 donc). Benoit
Salut, De mémoire: *pour prepro, ça ne dépend que du mois. Ca correspond en fait aux paramètres que tu rentres dans l'interface de saisie des populations à l'onglet saisons, le tableau des distributions de la reproduction par mois. *pour la seconde question je suis d'accord avec Benoit: dans N tu as tous les effectifs (matures ou non), mais tu multiplies par le ReproductionRate (la fécondité éventuellement multiplié par la proportion de matures) qui est nulle pour les immatures. A+ Le 07/07/2010 13:47, Benoit Archambault a écrit :
Quelques éléments, Hillaire répondra mieux que moi je pense :)
2010/7/7 Bastien Preuss <bastien.preuss@ifremer.fr <mailto:bastien.preuss@ifremer.fr>>
Bonjour,
Une petite question à propos de la prepro… mais ça provient probablement d’une logique de Java que je n’ai pas encore !
Dans l’équation de reproduction suivante (c’est celle de Golf de G.) :
double Ktemp = context.getValueAndCompute("nephrops.reproductionEquation.Ktemp", 1);
double compt=0;
for (Zone zone : zoneRepro){
compt=0;
for (PopulationGroup group : groups){
double cf = Ktemp * group.getReproductionRate();
compt += N.getValue(group, zone) * cf;
}
result.setValue(zone, compt*prepro);
}
return 0;
Je ne comprends pas bien la façon dont est utilisé la variable « prepro » ici, qui devrait dépendre normalement du mois et de la zone, non ?
*Elle dépend bien de la zone, on boucle ici sur les différentes zones. Elle dépend aussi du mois car l'équation de reproduction est appelée chaque mois où une reproduction se fait.*
D’autre part, étant donnée que cette équation utilise N.getValue(groupe,zone), cela signifie-t-il que tous les individus présents dans la zone sont considérés comme matures ?
* Avant la variable cf dépend du ReproductionRate, je pense que ce ReproductionRate intègre une information sur la maturité/fécondité (valeur nulle pour groupe 0 etc..) * * En fait les différents paramètres que tu vas renseigner dépendent de la façon dont tu veux implanter la reproduction. Par exemple dans un de mes cas (relation S/R) j'utilise le paramètre ReproductionRate en tant qu'ogive de maturité (entre 0 et 1 donc).
*Benoit* *
_______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users
hello tous, je completerais juste en disant que pour les equations de repro tout est transparent,c'est a dire qu'ISIS ne fait aucun calcul supplémentaire ni sur les taux de repro, ni sur l'equation de repro. il se contente de boucler sur mois et zones et de mettre a jour les variables N et prepro. Du coup si tu mets un taux de repro > 0 a un immature il se reproduira, si tu ne divises pas par le sex ratio dans l'equation tout le monde pond des oeufs ! en cas de doute on peut toujours verifier dans le DefaultSimulator lignes 417:433 qui contient les calculs cachés et qui est commenté et quoi qu il en soit je vous encourage a verifier que l equation donne bien le nombre de recrus attendus (en faisant attention à la matrice d abondance donnée en resultats et qui donne les effectifs à la fin du mois précédant : juin = fin mai). bon courage !! "hilaire.drouineau" <hilaire.drouineau@gmail.com> a écrit :
Salut, De mémoire: *pour prepro, ça ne dépend que du mois. Ca correspond en fait aux paramètres que tu rentres dans l'interface de saisie des populations à l'onglet saisons, le tableau des distributions de la reproduction par mois. *pour la seconde question je suis d'accord avec Benoit: dans N tu as tous les effectifs (matures ou non), mais tu multiplies par le ReproductionRate (la fécondité éventuellement multiplié par la proportion de matures) qui est nulle pour les immatures.
A+
Le 07/07/2010 13:47, Benoit Archambault a écrit :
Quelques éléments, Hillaire répondra mieux que moi je pense :)
2010/7/7 Bastien Preuss <bastien.preuss@ifremer.fr <mailto:bastien.preuss@ifremer.fr>>
Bonjour,
Une petite question à propos de la prepro? mais ça provient probablement d?une logique de Java que je n?ai pas encore !
Dans l?équation de reproduction suivante (c?est celle de Golf de G.) :
double Ktemp = context.getValueAndCompute("nephrops.reproductionEquation.Ktemp", 1);
double compt=0;
for (Zone zone : zoneRepro){
compt=0;
for (PopulationGroup group : groups){
double cf = Ktemp * group.getReproductionRate();
compt += N.getValue(group, zone) * cf;
}
result.setValue(zone, compt*prepro);
}
return 0;
Je ne comprends pas bien la façon dont est utilisé la variable « prepro » ici, qui devrait dépendre normalement du mois et de la zone, non ?
*Elle dépend bien de la zone, on boucle ici sur les différentes zones. Elle dépend aussi du mois car l'équation de reproduction est appelée chaque mois où une reproduction se fait.*
D?autre part, étant donnée que cette équation utilise N.getValue(groupe,zone), cela signifie-t-il que tous les individus présents dans la zone sont considérés comme matures ?
* Avant la variable cf dépend du ReproductionRate, je pense que ce ReproductionRate intègre une information sur la maturité/fécondité (valeur nulle pour groupe 0 etc..) * * En fait les différents paramètres que tu vas renseigner dépendent de la façon dont tu veux implanter la reproduction. Par exemple dans un de mes cas (relation S/R) j'utilise le paramètre ReproductionRate en tant qu'ogive de maturité (entre 0 et 1 donc).
*Benoit* *
_______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users
participants (4)
-
Bastien Preuss -
Benoit Archambault -
hilaire.drouineau -
Sigrid.Lehuta@ifremer.fr