Author: jcouteau Date: 2013-01-24 15:27:50 +0100 (Thu, 24 Jan 2013) New Revision: 124 Url: http://forge.codelutin.com/projects/isis-fish-docs/repository/revisions/124 Log: Finish FAQ translation Modified: trunk/src/site/en/rst/v4/user/FAQ.rst Modified: trunk/src/site/en/rst/v4/user/FAQ.rst =================================================================== --- trunk/src/site/en/rst/v4/user/FAQ.rst 2013-01-22 16:56:23 UTC (rev 123) +++ trunk/src/site/en/rst/v4/user/FAQ.rst 2013-01-24 14:27:50 UTC (rev 124) @@ -32,6 +32,7 @@ ------------------------------------------------ The numbers follow this pattern : + * the first number gives ISIS major version. If you got 3.1.3.1, you are in version 3. If you got 4.0.0.0 you are in version 4. * the second gives the database version in this major version. If you got @@ -115,6 +116,7 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In the rules or plan script (script editor), + * at the imports levels, add : import fr.ifremer.isisfish.util.Doc * on top of the parameter to document (for example public Zone param_zone = null;), add @Doc("the parameter Zone correspond to ???") @@ -243,6 +245,7 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The following message appear :: + You don't use correct repository script for your application version 3.2.0.8. Do you want to switch your repository ? @@ -279,3 +282,218 @@ The tip consists in entering a huge vessel speed (fo example 10^9). The trip length becomes really small ~0. +Model +----- + +Seasons definition for a population +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In ISIS, the seasons correspond to a modification of the parameters linked to +events having an effect on the population (Reproduction, class change, +migration,...) + +To define seasons, you have to place different events on a time line. Seasons +will be the consecutive months between two events. + +Biological and migration events chronology at year scale +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Warning : class change and reproduction happens each month of the season whereas +the migration happens on the first month of the season. You do not have to +specify a season for recruitment as it can happen at any time in the season. + +FIXME Mail de Stéphanie du 11/07/07 : le changement de classe pour une +population structurée en age ne se fait qu'une fois dans la saison, le code +pourrait etre modifié pour éviter d'avoir à définir une saison d'un mois pour le +changement de classe. Il y a des avantages et inconvénients (cf réponse +d'Hilaire) On abandonne ? + +Take care to modelisation hypothesis +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +ISIS base hypothesis : all the state variables are supposed homogeneous at the +defined zone scale - For example If a class of a pop is distributed on Zpop at a +time step t, then this class number of individuals is homogeneously distributed +on Zpop. An effort on a part of Zpop impacts all the individuals of the zone by +diluting on all the zone pop:: + + (N(Zpop,t+1) ~= N(Zpop,t)-F(met)*(N(Zpop,t))). + +Would it be pertinent to make an impact on only the intersection between the +metier zone and the pop zone?:: + + (N(Zpop,t+1) ~= N(Zpop,t)-F(met)*(N(Zpop,t)*(inter(Zmet,Zpop)/Zpop)) + +If we want to evaluate the impact of an AMP included in Zpop, + +* Not distinguishing 2 population zones in Zpop [Z1=Zpop-Zg et Z2=Zg], will + have as consequence that the Z2 abundance will be impacted by the possible + catches in Z1 (because at each time step, the catches that could happen in Z1 + will impact the Zpop abundance:: + + N(Zpop,t+1) ~= N(Zpop,t)-F(met)*(N(Zpop,t)) + + and with the homogeneous hypothesis in Zpop, the individuals numbers in Z2 + will be equals to N(Zpop,t+1)*Z2/Zpop. + +* Distinguishing 2 population zones Z1=Zpop-Zg and Z2=Zg, leads to Z2 abundance + not being impacted by the Z1 catches (allows to model the fact that fishes in + Z2 are pledged to this zone):: + + N(Z1,t+1) ~= N(Z1,t)-F(met)* N(Z1,t), N(Z2,t+1)= N(Z2,t+1)-exp(-M/12) N(Z2,t) (if no migrations) + +* To describe a refuge phenomenon, it might be good to add a migration of +individuals in Z1 and Z2 in density dependecy... ? + +Impact of a MPA zone if the MPA is included in the pop zone + + * If only one pop zone Zpop + * If Zg included in Zpop + * If the metier impacting the pop is distributed on Zmet=Zpop + * If the metier reallocates its effort on the remaining zone : Zmet-Zg=Z1, + +N(Zpop,t+1) = N(Zpop,t)-F(met)/(F(met)+M/12)exp(-F(met)+M/12)*N(Zpop,t), N(Z1,t+1) = N(Zpop,t+1)*Z1/Zpop, N(Z2,t+1) = N(Zpop,t+1)*Z2/Zpop, + + * If Zg grows up (for example nZg=kZg), F(met) does not change, the individuals number + +N(Zpop,t+1) = N(Zpop,t)-{F(met)/(F(met)+M/12)*exp(-F(met)+M/12)}* N(Zpop,t) N(Z1,t+1) = N(Zpop,t+1)*[Zpop-kZg]/Zpop, N(Z2,t+1) = N(Zpop,t+1)*kZg/Zpop, + +**ie with a modelisation of the distribution zone of the pop in one zone (ie no +heterogeneity between the part of the pop zone in the MPA and the other), a zone +size change cannot have any impact** + +If we do the suggested hypothesis : N(Zpop,t+1) ~= N(Zpop,t)-F(met)*(N(Zpop,t)*(inter(Zmet,Zpop)/Zpop)). + +**In this case, the impact (difference between the individuals number for the +big MPA - individual numbers for the small MPA) = (k-1)* Zg)/Zpop F(met)/(F(met)+M/12)*exp(-F(met)+M/12)}* N(Zpop,t)** + +Additional remark : superposition of population zones +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +:?: ''To check again, but a priori : '' + +If necessary, it is possible to create population zones that overlap for the +same population. If the natural mortality is the same for both zones, the +catches in the intersection zone will be rightly computed. If the natural +mortality is the same in both zones, the effort E(str, met, grp) and then the +fishing mortality F(str, met, grp) and the catches rate CR(str, met, grp) +are computed independently for each pop zone but identical, so we got : + + * pop zone 1 : E -> F -> CR + * pop zone 2 : E -> F -> CR + +and the catches will be B1*CR + B2*CR = (B1+B2)*CR + +(and that works whether we are in the by cell model or by zone model) + +Catchability in ISIS-Fish +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The catchability in ISIS-Fish is the biological part of the parameter +(disponibility) as stated by Mahévas et al. 2001 = accessibility*vulnerability. +The part due to boat and gear is taken into account explicitly in ISIS-Fish by +the selectivity/targeting/fishing efficiency/etc parameters. +The disponibility parameter usually represents the probability variations of the +catches due to to the change of spatial distribution. +Those variations are modeled explicitly in ISIS as the model is spatialised. +So the parameter compensate for the other causes of probability variations of +the catches by effort unit related to the fish behaviour (schooling aggregation, +burying, vertical distribution change,...). + +see +Mahevas, S., Trenkel, V.M., Doray, M. and Peyronnet, A. 2011. Hake catchability by the french trawler fleet in the bay of biscay: estimating technical and biological components. ICES JOURNAL OF MARINE SCIENCE 68: pp. 107-118 +Laurec, A., et J. C. Le Guen. Dynamique des populations marines exploitées Tome1 : Concepts et Modèles. Centre National pour l’Exploitation des Océans, 1981. 602. +Gascuel: http://halieutique.agrocampus-ouest.fr/pdf/136.pdf +citing: +Anonyme, 1979. Monitoring of fish stock abundance : the use of catch and effort data. +FAO Fish. Tech. Paper. 155 : 101 p. +Chadwick M., R.N. O'Boyle, 1990. L'analyse des données de captures et d'effort. In: +Méthodes d'évaluation des stocks halieutiques, Brêthes J.C., R.N. O'Boyle éd., Univ. +Québec à Rimouski, Vol. I et II, 77-101. + +Simulations +----------- + +What happens at t=0 ? +~~~~~~~~~~~~~~~~~~~~~ + +During a simulation, the first time step is particular, and all the events +usually happening in january do not necessary happen : +Lors d'une simulation, le premier pas de temps est particulier, et tous les +événements se déroulant habituellement en janvier n'arrivent pas forcement : + + * migration happens + * class change does not happen + +FIXME will it be modified ??? + +:-( Take care while entering initial fish numbers an results from january from +year 0. They are not comparable with those from other years of simulation. + +Simulation by cell +~~~~~~~~~~~~~~~~~~ + +To do a simulation by cell, in the simulation (or sensitivity analysis) +launching interface, in the "Advanced Parameters" tab, we can add an +"effortByCell" tag which value is true. + +Sensitivity analysis +-------------------- + +ISIS-Fish closes itself when I launch a sensitivity analysis +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +It comes from an incomplete R configuration. Report to the point "Sensitivity +analysis does not work" + +From 3.3.0.0 ISIS-Fish version, an error should show up in the logs (debug.txt) +and ISIS-Fish should not close itself. + +Sensitivity analysis does not work +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +THe most common mistake come from an incomplete R configuration for ISIS-Fish. + +You should have R 2.9.0 version. + +On Windows, you should configurate the two environment variables : + + * `R_HOME` to C:\Program Files\R\R-2.9.2 + * `PATH` must contain : `%R_HOME%\bin` + +Tips and tricks +-------------- +Fill in a table from a txt or csv file +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In user interfaces, you have to right-click on the table to fill and choose +'import from a file'. + +Big integers are problematic +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You have to write 39E3 instead of 39000 + +Why 41/1000 gives 0 ? +~~~~~~~~~~~~~~~~~~~~~ + +In my rule, I divide 41 by 1000 and the result is 0, why ? + +In Java, everything is typed. What is done in this operation is an euclidian +division, 41 and 1000 being integers. To have the result of a "classic" +division, you have to do 41.0/1000.0. Both numbers being decimals (float or +double), the number will be with decimal (double or float). + +More generally, in Java, on an operation between two types, Java keeps the +bigger precision. For exemple, betwwen two integers, you will have an integer +between two doubles, you will have a double, but between an intyeger and a +double, you will have a double. You can have more info here (in french) : +http://www.siteduzero.com/tutoriel-3-10276-les-variables-et-les-operateurs.h... + +How do I do an exponential (or any other "evolved" mathematical function) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +For most of usual mathematical operation, you have to use static methods from +Math class. + +More info (in french) : http://jmdoudoux.developpez.com/cours/developpons/java/chap-math.php
participants (1)
-
jcouteau@users.forge.codelutin.com