From 395e2608701c98f695f0320d032b9d9e5919b041 Mon Sep 17 00:00:00 2001
From: Marco Matthies <71844+marcom@users.noreply.github.com>
Date: Tue, 21 May 2024 14:07:28 +0200
Subject: [PATCH] Remove CairoMakie dependency and all code using it
 temporarily

---
 Project.toml                 |  1 -
 src/Persefone.jl             |  5 +----
 src/core/output.jl           |  2 +-
 src/nature/ecologicaldata.jl |  8 ++++----
 test/io_tests.jl             | 20 ++++++++++----------
 5 files changed, 16 insertions(+), 20 deletions(-)

diff --git a/Project.toml b/Project.toml
index 8b3291b..d18b9ff 100644
--- a/Project.toml
+++ b/Project.toml
@@ -7,7 +7,6 @@ version = "0.4.1"
 Agents = "46ada45e-f475-11e8-01d0-f70cc89e6671"
 ArgParse = "c7e460c6-2fb9-53a9-8c5b-16f535851c63"
 CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
-CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
 DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
 DataFramesMeta = "1313f7d8-7da2-5740-9ea0-a2ca25f37964"
 Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
diff --git a/src/Persefone.jl b/src/Persefone.jl
index 4291e31..9a37a64 100644
--- a/src/Persefone.jl
+++ b/src/Persefone.jl
@@ -16,7 +16,6 @@ module Persefone
 using
     Agents,
     ArgParse,
-    CairoMakie, #XXX this is a very big dependency :-(
     CSV,
     Dates,
     DataFrames,
@@ -80,8 +79,6 @@ export
     createevent!,
     finalise!,
     outputdata,
-    visualisemap,
-    populationtrends,
     visualiseoutput,
     savemodelobject,
     loadmodelobject
@@ -90,7 +87,7 @@ export
 ## b references something from file a, it must be included later)
 include("core/input.jl")
 include("core/output.jl")
-include("analysis/makieplots.jl")
+#include("analysis/makieplots.jl")
 
 include("world/landscape.jl")
 include("world/weather.jl")
diff --git a/src/core/output.jl b/src/core/output.jl
index 513b140..e26e84f 100644
--- a/src/core/output.jl
+++ b/src/core/output.jl
@@ -217,7 +217,7 @@ saving each figure to file.
 """
 function visualiseoutput(model::AgentBasedModel)
     @debug "Visualising output."
-    CairoMakie.activate!() # make sure we're using Cairo
+    #CairoMakie.activate!() # make sure we're using Cairo
     for output in model.dataoutputs
         isnothing(output.plotfunction) && continue
         figure = output.plotfunction(model)
diff --git a/src/nature/ecologicaldata.jl b/src/nature/ecologicaldata.jl
index 02c646a..03cad20 100644
--- a/src/nature/ecologicaldata.jl
+++ b/src/nature/ecologicaldata.jl
@@ -9,10 +9,10 @@
 Create output files for each data group collected by the nature model.
 """
 function initecologicaldata(model::AgentBasedModel)
-    newdataoutput!(model, "populations", ["Date", "Species", "Abundance"],
-                   savepopulationdata, @param(nature.popoutfreq), populationtrends)
-    newdataoutput!(model, "individuals", ["Date","ID","X","Y","Species","Sex","Age"],
-                   saveindividualdata, @param(nature.indoutfreq), visualisemap)
+    # newdataoutput!(model, "populations", ["Date", "Species", "Abundance"],
+    #                savepopulationdata, @param(nature.popoutfreq), populationtrends)
+    # newdataoutput!(model, "individuals", ["Date","ID","X","Y","Species","Sex","Age"],
+    #                saveindividualdata, @param(nature.indoutfreq), visualisemap)
 end
 
 """
diff --git a/test/io_tests.jl b/test/io_tests.jl
index 734ee78..1ba74c2 100644
--- a/test/io_tests.jl
+++ b/test/io_tests.jl
@@ -85,13 +85,13 @@ end
     @param(core.enddate) = originalenddate
 end
 
-@testset "Output visualisation" begin
-    model = initialise(TESTPARAMETERS)
-    stepsimulation!(model)
-    @test_logs((:debug, "Visualising output."),
-               min_level=Logging.Debug, match_mode=:any,
-               visualiseoutput(model))
-    @test isfile(joinpath(@param(core.outdir), "individuals.pdf"))
-    @test isfile(joinpath(@param(core.outdir), "populations.pdf"))
-    rm(@param(core.outdir), force=true, recursive=true)
-end
+# @testset "Output visualisation" begin
+#     model = initialise(TESTPARAMETERS)
+#     stepsimulation!(model)
+#     @test_logs((:debug, "Visualising output."),
+#                min_level=Logging.Debug, match_mode=:any,
+#                visualiseoutput(model))
+#     @test isfile(joinpath(@param(core.outdir), "individuals.pdf"))
+#     @test isfile(joinpath(@param(core.outdir), "populations.pdf"))
+#     rm(@param(core.outdir), force=true, recursive=true)
+# end
-- 
GitLab