Commit 52a93537 authored by Romain Reuillon's avatar Romain Reuillon
Browse files

[Build] fix: update scalatex

parent 63fac9d6
Pipeline #508 failed with stage
in 3 minutes and 36 seconds
......@@ -188,8 +188,8 @@ lazy val scalaTags = OsgiProject(dir, "com.scalatags", exports = Seq("scalatags.
lazy val scalatexSite =
OsgiProject(dir, "com.lihaoyi.scalatex-site", exports = Seq("scalatex.*", "ammonite.*", "fastparse.*"), privatePackages = Seq("META-INF.**", "pprint.*", "scalaj.*", "scalaparse.*", "geny.*"), imports = Seq("*")) settings (
libraryDependencies += "org.openmole" %% "scalatex-site" % "0.4.3",
version := "0.4.3") settings(settings: _*)
libraryDependencies += "org.openmole" %% "scalatex-site" % "0.4.4",
version := "0.4.4") settings(settings: _*)
/*lazy val upickle = OsgiProject(dir, "upickle", exports = Seq("upickle.*", "jawn.*", "derive.*"), imports = Seq("*")) settings(
libraryDependencies ++= Seq("com.lihaoyi" %% "upickle" % scalaUpickleVersion),
......
......@@ -78,7 +78,7 @@ To integrate your module into the build process of OpenMOLE, several steps have
If your library dependency requires specific resolvers, these can be added to @code{defaultSettings} or only locally to your project.
}
@li{Add your library dependencies to the @code{Libraries} object in the file @b{openmole/project/Libraries.scala}. For the code above, you would have to specify the @code{Libraries.math} value, which in this particular case is the apache common math library: @code{lazy val math = "org.openmole.library" %% "org-apache-commons-math" % "3.6.1"}. The library is defined as a bundle under the organisation org.openmole.library. The construction of this bundle is detailed in the next step.}
@li{Transform the required library dependencies into OSGI bundles. This step is done during the library publishing step of OpenMOLE compilation: you have thus to modify @code{libraries/build.sbt} by adding a new OSGI project, for example @hlcode("""
@li{Transform the required library dependencies into OSGI bundles. This step is done during the library publishing step of OpenMOLE compilation: you have thus to modify @code{libraries/build.sbt} by adding a new OSGI project, for example @hl.code("""
lazy val math = OsgiProject(dir, "org.apache.commons.math", exports = Seq("org.apache.commons.math3.*"), privatePackages = Seq("assets.*")) settings (
libraryDependencies += "org.apache.commons" % "commons-math3" % mathVersion, version := mathVersion) settings(settings: _*)
"""). At this stage, the exports statement is important since it is thanks to it that the classes will be visible to other OSGI bundles and more particularly your plugin.}
......
......@@ -43,13 +43,13 @@ A certain number of trajectories @b{R} are generated, in order to observe the co
to the curse of dimensionality for trajectories to fill the input space).
Finally, the method summarizes these elementary effect to estimate global sensitivity in the output space.
This method is computationally cheap, as each trajectory has @b{k+1} parameter points if @{k} is the number of factors.
This method is computationally cheap, as each trajectory has @b{k+1} parameter points if @b{k} is the number of factors.
The total number of model runs will thus be @b{R*(k+1)}, so the number of trajectory can be adjusted to the computational budget.
@h3{Results and Interpretation}
Morris' method computes three sensitivity indicators for each model input and each model output.
An elementary effect for input @b{i} and output @b{y@sub{j}} is obtained when the factor @b{x@sub{i}} is changed during one trajectory by a step @b{delta@sub{i}} from an point @b{x@sub{0}}, and computed as @b{epsilon@sub{ij} = (y@sub{j}(x@sub{0}) - y@sub{j}(x@sub{0} + delta@sub{i})) / delta@sub{i}}.
An elementary effect for input @b{i} and output @b{y@sub{j}} is obtained when the factor @b{x@sub{i}} is changed during one trajectory by a step @b{delta@sub{i}} from an point @b{x@sub{0}}, and computed as @b{epsilon@sub{ij} = (y@sub{j} * (x@sub{0}) - y@sub{j} * (x@sub{0} + delta@sub{i})) / delta@sub{i}}.
These are computed as summary statistics on simulated elementary effects and are:
@ul
......@@ -119,7 +119,7 @@ The book on sensitivity analysis is also a good reference for the description of
Saltelli is a statistical method for global sensitivity analysis. It estimates sensitivity indices based on relative variances.
More precisely, the first order sensitivity coefficient for factor @b{x@sub{i}} and output indicator @b{y@sub{j}} is computed by first conditionally to any @b{x@sub{i}} value, estimating the expectancy of @b{y@sub{j}} conditionally to the value of @b{x@sub{i}} with all other factors varying, and then considering the variance of these local conditional expectancies.
In simpler words, it is the variance after projecting along the dimension of the factor.
It is written as @b{Var@sub{x@sub{i}}[E@sub{X@sub{~i}}(y@sub{j} | x@sub{i})] / Var[y@sub{j}]} where @b{X@sub{~i}} are all other factors but @b{x@sub{i}}.
It is written as @b{Var@sub{x@sub{~i}}[E@sub{X@sub{i}} * (y@sub{j} | x@sub{i})] / Var[y@sub{j}]} where @b{X@sub{~i}} are all other factors but @b{x@sub{i}}.
An other global sensitivity index does not consider a projection but the full behavior along the factor for all other possible parameter values.
This corresponds to the total effect, i.e. first order but also interactions with other factors.
......
......@@ -74,7 +74,7 @@ object Libraries {
lazy val scalajHttp = "org.openmole.library" %% "org-scalaj-scalaj-http" % "2.4.2"
lazy val scopt = "org.openmole.library" %% "com-github-scopt" % scoptVersion
lazy val scalabc = "org.openmole.library" %% "fr-iscpif-scalabc" % "0.4"
lazy val scalatexSite = "org.openmole.library" %% "com-lihaoyi-scalatex-site" % "0.4.3"
lazy val scalatexSite = "org.openmole.library" %% "com-lihaoyi-scalatex-site" % "0.4.4"
lazy val math = "org.openmole.library" %% "org-apache-commons-math" % "3.6.1"
lazy val collections = "org.openmole.library" %% "org-apache-commons-collections" % "4.4"
lazy val exec = "org.openmole.library" %% "org-apache-commons-exec" % "1.3"
......
......@@ -8,7 +8,7 @@ addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.31")
addSbtPlugin("fr.iscpif" % "scalajs-execnpm" % "0.7")
addSbtPlugin("org.openmole" % "scalatex-sbt-plugin" % "0.4.3")
addSbtPlugin("org.openmole" % "scalatex-sbt-plugin" % "0.4.4")
addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.7.0")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment