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