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