Ticket #891 (closed assessed: fixed)
Loading Ecosim may affect groups with imported detritus diets in Ecopath
Reported by: | jeroens | Owned by: | joeb |
---|---|---|---|
Priority: | urgent | Milestone: | Ecopath 6: release 6.2 |
Component: | Ecopath | Version: | |
Severity: | major | Keywords: | |
Cc: |
Description (last modified by jeroens) (diff)
Under rare circumstances Ecopath cannot balance after loading an Ecosim scenario. To reproduce:
- Load Ecopath
- Load Ecosim (this runs Ecopath)
- Make a change in Basic Input and revert this change
- Go to Basic Estimates
This is found on a few BiomassRegression models: okey 2, 3, 7; olson 1; vega-candejas; venier
Change History
comment:3 Changed 14 years ago by jeroens
A lead: on load Ecosim populates DetritusImport? data in Ecopath, which may cause Ecoapth not to run a second time around. This may only happen for groups with imported detritus diets
comment:4 Changed 14 years ago by jeroens
- Summary changed from Loading Ecosim seems to affect the Ecopath ability to estimate parameters to Loading Ecosim may affect groups with imported detritus diets in Ecopath
comment:5 Changed 14 years ago by joeb
When an Ecosim scenario loads Ecopath.Immig() is populated with imported detritus Ecopath.DtImp?() in SetupSimVariables?() Immig() is then used by Ecosim to compute DetritusOut?() in SimDetritusMT(). Immig() for detritus is also being used in DerivT.. So this can be fixed???
comment:6 Changed 14 years ago by joeb
- Status changed from new to closed
- Resolution set to fixed
The Ecopath.Immig() array is set to imported detritus in SetupSimVariable? as described above. In Ecopath.GIM() there is a nested i,j loop to populate the Q(ngroups) array that uses Ecopath.Immig() with the j index inside the i loop
for i = 1 to n
Q(i) = catch(i) * BA(i) + Emigration(j) - Immig(j)
for j = 1 to n
.....
This can not be correct Emigration(j) - Immig(j) should use the i index