diff --git a/Manifest.toml b/Manifest.toml index 8e99c921d51092c3f3cc1b2dc7ce64f5dadb6899..cd64321ea3d56e86071173728f7d37dc9db3f594 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -1413,7 +1413,7 @@ version = "2.7.2" deps = ["Agents", "ArgParse", "CSV", "CairoMakie", "DataFrames", "DataFramesMeta", "Dates", "Distributed", "FileIO", "GeoArrays", "ImageMagick", "Logging", "LoggingExtras", "Pkg", "Random", "Serialization", "StableRNGs", "StatsBase", "TOML", "Test", "TiffImages"] git-tree-sha1 = "80a1b800473aff48d57c321505d77846fa04f66e" repo-rev = "master" -repo-url = "../model" +repo-url = "https://git.idiv.de/persefone/persefone-model.git" uuid = "039acd1d-2a07-4b33-b082-83a1ff0fd136" version = "0.3.6" diff --git a/Project.toml b/Project.toml index 3ba035d7acd8d51d58d3e4a0fd4eb352be8450d6..4e49c2b2342be08f53c4718ab561e2d78836f0ed 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "PersefoneDesktop" uuid = "78b50b3d-c6fc-409a-aced-ad0772f04556" authors = ["Daniel Vedder <daniel.vedder@idiv.de>"] -version = "0.1.0" +version = "0.2.0" [deps] Agents = "46ada45e-f475-11e8-01d0-f70cc89e6671" diff --git a/README.md b/README.md index 0949276a1aa19bb1c8198d0715f339ad5aa87b7e..5579bc5616bb857decfdb2c059f2d4e49c02c548 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,92 @@ -# Persefone.jl desktop +# Persefone.jl Desktop + + This is the graphical user interface to the [Persefone model](http://persefone-model.eu). +With it, you can watch a simulation run unfold and interactively explore how the model +functions. + +## Install & run + +**To install:** Install [Julia](https://julialang.org/downloads/) and download/clone +this repository. Open a Julia REPL in the downloaded folder and execute the following +to install all dependencies: + +```julia +using Pkg +Pkg.activate(".") +Pkg.instantiate() +``` + +**To run:** Run `desktop.jl`. Alternatively, open a Julia REPL in this folder and run: + +```julia +using Pkg +Pkg.activate(".") +using PersefoneDesktop +launch() +``` + +*Note:* Due to the necessary pre-compilation done by Julia, installing and launching +the application can take quite a long time. (Start-up time with `desktop.jl` is +currently about 2 minutes.) We will reduce this as much as possible in future +releases. + + +## User interface + + + +The main window component is the map view. This displays a land cover map of the +simulated region: dark green are forests, light green grassland, yellow fields, red +built-up areas and blue water. On it, little circles show the position of individual +animals, with different species denoted by different colours. + +Below the map is the control bar, with the following elements (from left to right): + +- **Back button:** Rewind the simulation by one day. + +- **Step button:** Advance the simulation by one day. + +- **Run button:** Run the simulation until the button is pressed again or the end +date is reached. + +- **Progress bar:** Shows the percentage of time elapsed between the start and end +dates of the simulation. + +- **Speed slider:** Set the time delay between each simulation step when running. + +- **Date:** Shows the simulation date currently displayed on the map. + +Above the map is the menu bar, with the following options: + +**Simulation:** + +- **New simulation:** Reset the model and start over. + +- **Configure simulation:** Change the model settings (*not yet implemented*). + +- **Load saved state:** Load a model object file saved by a previous simulation run. + +- **Save current state:** Save a model object file for later use. + +- **Quit:** Close the application. + +**Data:** + +- **Show population graph:** Show a window with a graph of population sizes over time +in the current model run. + +- **Save simulation output:** Save the model output data to file (saves both raw CSV +data and generated graphics). + +**Help:** + +- **Documentation:** Open the Persefone.jl online documentation in a browser. + +- **Website:** Open the main Persefone.jl website in a browser. -Unfortunately, it doesn't exist yet (but it will!). +- **About:** Show a window with core information about the application. --- diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..6934cbfd02e40ebebd1cf1cbfdec3825a0572297 Binary files /dev/null and b/screenshot.png differ diff --git a/src/persefonejl_logo_v3_icon.png b/src/persefonejl_logo_v3_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fed6691f86e80302f1804d4be4e18f81b207982a Binary files /dev/null and b/src/persefonejl_logo_v3_icon.png differ