EU-kalat: Difference between revisions

From Opasnet
Jump to navigation Jump to search
(→‎Calculations: eu2 moved to preprocess)
No edit summary
Line 457: Line 457:
* Model rerun 15.11.2017 because the previous stored run was lost in update [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=1Pq6y6l1WsKJEmjY]
* Model rerun 15.11.2017 because the previous stored run was lost in update [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=1Pq6y6l1WsKJEmjY]
* 12.3.2018 adjusted to match the same Omega for all fish species [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=KwbJ1pUP98De8Gzc]
* 12.3.2018 adjusted to match the same Omega for all fish species [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=KwbJ1pUP98De8Gzc]
* 26.3.2018 includes length and time as parameters [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=ohLPaPsTLdY3vxde]
* 26.3.2018 includes length and time as parameters, lengt ovariable initiated here [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=MV1xrtP9i6JuN7Tn]


<rcode name="initiate" label="Initiate conc_pcddf (for developers only)">
<rcode name="initiate" label="Initiate conc_pcddf (for developers only)">
Line 463: Line 463:


library(OpasnetUtils)
library(OpasnetUtils)
lengt <- Ovariable(
  "lengt",
  dependencies=data.frame(Name="sizes",Ident=NA),
  formula = function(...) {
    sizes$Lower <- as.numeric(as.character(sizes$Lower))
    rep <- unique(sizes@output[
      setdiff(colnames(sizes@output),c("sizesResult","Lower"))
      ])
    out <- data.frame()
    for(j in 1:nrow(rep)) {
      siz <- numeric()
      size <- merge(rep[j,,drop=FALSE], sizes@output)
      num <- size$sizesResult/sum(size$sizesResult)
      for(i in 1:(nrow(size)-1)) { # Pick at random from each bin
        siz <- c(siz,runif(
          openv$N,
          size$Lower[i],
          size$Lower[i+1]
        )[1:pmax(2,(num[i]*openv$N))])
      }
      out <- rbind(out, cbind(
        rep[j,,drop=FALSE],
        Iter=1:openv$N,
        Result=sample(siz, openv$N) # Take fixed amount and shuffle
      ))
    }
    return(Ovariable(output=out, marginal=!grepl("Result", colnames(out))))
  }
)


conc_pcddf <- Ovariable(
conc_pcddf <- Ovariable(
   "conc_pcddf",
   "conc_pcddf",
   dependencies = data.frame(
   dependencies = data.frame(
     Name=c("conc.param","length","time"),
     Name=c("conc.param","lengt","time"),
     Ident=c("Op_en3104/bayes",NA,NA)
     Ident=c("Op_en3104/bayes",NA,NA)
   ),
   ),
   formula=function(...) {
   formula=function(...) {
     require(MASS)
     require(MASS)
     tmp1 <- length + time + conc.param + Ovariable(data=data.frame(Result="0-1")) # Ensures Iter
     tmp1 <- lengt + time + conc.param + Ovariable(data=data.frame(Result="0-1")) # Ensures Iter
     tmp2 <- unique(tmp1@output[setdiff(
     tmp2 <- unique(tmp1@output[setdiff(
       colnames(tmp1@output)[tmp1@marginal],
       colnames(tmp1@output)[tmp1@marginal],
Line 487: Line 517:
           tmp$conc.paramResult[tmp$Parameter=="lenp" & tmp$Metaparam=="mean"][1],
           tmp$conc.paramResult[tmp$Parameter=="lenp" & tmp$Metaparam=="mean"][1],
           tmp$conc.paramResult[tmp$Parameter=="lenp" & tmp$Metaparam=="sd"][1]
           tmp$conc.paramResult[tmp$Parameter=="lenp" & tmp$Metaparam=="sd"][1]
         )* (tmp$lengthResult[1]-170) + # length
         )* (tmp$lengtResult[1]-170) + # lengt
         rnorm(1,
         rnorm(1,
           tmp$conc.paramResult[tmp$Parameter=="timep" & tmp$Metaparam=="mean"][1],
           tmp$conc.paramResult[tmp$Parameter=="timep" & tmp$Metaparam=="mean"][1],

Revision as of 17:45, 26 March 2018


EU-kalat is a study, where concentrations of PCDD/Fs, PCBs, PBDEs and heavy metals have been measured from fish

Question

The scope of EU-kalat study was to measure concentrations of persistent organic pollutants (POPs) including dioxin (PCDD/F), PCB and BDE in fish from Baltic sea and Finnish inland lakes and rivers. [1] [2] [3].

Answer

Dioxin concentrations in Baltic herring.

The original sample results can be acquired from Opasnet base. The study showed that levels of PCDD/Fs and PCBs depends especially on the fish species. Highest levels were on salmon and large sized herring. Levels of PCDD/Fs exceeded maximum level of 4 pg TEQ/g fw multiple times. Levels of PCDD/Fs were correlated positively with age of the fish.

Mean congener concentrations as WHO2005-TEQ in Baltic herring can be printed out with this link or by running the codel below.

+ Show code

Rationale

Data

Data was collected between 2009-2010. The study contains years, tissue type, fish species, and fat content for each concentration measurement. Number of observations is 285.

There is a new study EU-kalat 3, which will produce results in 2016.

Calculations

Preprocess

  • Preprocess model 22.2.2017 [4]
  • Model run 25.1.2017 [5]
  • Model run 22.5.2017 with new ovariables euRaw, euAll, euMain, and euRatio [6]
  • Model run 23.5.2017 with adjusted ovariables euRaw, eu, euRatio [7]
  • Model run 11.10.2017: Small herring and Large herring added as new species [8]
  • Model rerun 15.11.2017 because the previous stored run was lost in update [9]
  • Model run 21.3.2018: Small and large herring replaced by actual fish length [10]

+ Show code

Bayes model for dioxin concentrations

  • Model run 28.2.2017 [11]
  • Model run 28.2.2017 with corrected survey model [12]
  • Model run 28.2.2017 with Mu estimates [13]
  • Model run 1.3.2017 [14]
  • Model run 23.4.2017 [15] produces list conc.param and ovariable concentration
  • Model run 24.4.2017 [16]
  • Model run 19.5.2017 without ovariable concentration [17] ⇤--#: . The model does not mix well, so the results should not be used for final results. --Jouni (talk) 19:37, 19 May 2017 (UTC) (type: truth; paradigms: science: attack)
----#: . Maybe we should just estimate TEQs until the problem is fixed. --Jouni (talk) 19:37, 19 May 2017 (UTC) (type: truth; paradigms: science: comment)
  • Model run 22.5.2017 with TEQdx and TEQpcb as the only Compounds [18]
  • Model run 23.5.2017 debugged [19] [20] [21]
  • Model run 24.5.2017 TEQdx, TECpcb -> PCDDF, PCB [22]
  • Model run 11.10.2017 with small and large herring [23] (removed in update)
  • Model run 12.3.2018: bugs fixed with data used in Bayes. In addition, redundant fish species removed and Omega assumed to be the same for herring and salmon. [24]
  • Model run 22.3.2018 [25] Model does not mix well. Thinning gives little help?
  • Model run 25.3.2018 with conc.param as ovariable [26]

+ Show code

Initiate conc_pcddf

  • Model run 19.5.2017 [27]
  • Model run 23.5.2017 with bugs fixed [28]
  • Model run 12.10.2017: TEQ calculation added [29]
  • Model rerun 15.11.2017 because the previous stored run was lost in update [30]
  • 12.3.2018 adjusted to match the same Omega for all fish species [31]
  • 26.3.2018 includes length and time as parameters, lengt ovariable initiated here [32]

+ Show code

⇤--#: . These codes should be coherent with POPs in Baltic herring. --Jouni (talk) 12:14, 7 June 2017 (UTC) (type: truth; paradigms: science: attack)

See also

References

  1. A. Hallikainen, H. Kiviranta, P. Isosaari, T. Vartiainen, R. Parmanne, P.J. Vuorinen: Kotimaisen järvi- ja merikalan dioksiinien, furaanien, dioksiinien kaltaisten PCB-yhdisteiden ja polybromattujen difenyylieettereiden pitoisuudet. Elintarvikeviraston julkaisuja 1/2004. [1]
  2. E-R.Venäläinen, A. Hallikainen, R. Parmanne, P.J. Vuorinen: Kotimaisen järvi- ja merikalan raskasmetallipitoisuudet. Elintarvikeviraston julkaisuja 3/2004. [2]
  3. Anja Hallikainen, Riikka Airaksinen, Panu Rantakokko, Jani Koponen, Jaakko Mannio, Pekka J. Vuorinen, Timo Jääskeläinen, Hannu Kiviranta. Itämeren kalan ja muun kotimaisen kalan ympäristömyrkyt: PCDD/F-, PCB-, PBDE-, PFC- ja OT-yhdisteet. Eviran tutkimuksia 2/2011. ISSN 1797-2981 ISBN 978-952-225-083-4 [3]