diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f9f15e67d2aedf23c6c856ba6915fc632b2bcb9..3710dc618c5fce5a8a7ce0b3f26c3cb358270efa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,14 +12,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.6.0] - in planning -*Plan: integrate multiple crop growth models, set up first experiments* +*Plan: integrate AquaCrop (#79), set up first experiments* -## [0.5.3] - in planning +--- -*Plan: basic farm model (#16), decouple CairoMakie (#81)* +## [0.5.4] - in planning +*Plan: basic farm model (#16), decouple CairoMakie (#81), test Skylark model (#96, #97)* -## [0.5.2] - unreleased + +## [0.5.3] - unreleased + +*Plan: code restructuring to allow multiple crop models (#70)* + +### Added + +### Changed + +### Deprecated + +### Removed + +### Fixed + + + +## [0.5.2] - 30-07-2024 + +**Rewrote the skylark model** ### Added @@ -29,7 +49,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `@cropcover` macro and function -- scientific documentation for Skylark (will become ODD) +- ODD documentation for Skylark ### Changed @@ -37,8 +57,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `EventType` renamed to `Management` for clarity - -### Deprecated +- documentation website now has a "Scientific Documentation" section ### Removed @@ -50,7 +69,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `insectbiomass()` uses units -## [v0.5.1] - 13-06-2024 + +## [0.5.1] - 13-06-2024 + +**Added Unitful.jl** ### Added @@ -68,11 +90,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - all species definitions and tests updated to use units -## [v0.5.0] - 07-06-2024 +--- -This release doesn't add much new functionality, but represents a major restructuring +## [0.5.0] - 07-06-2024 + +**This release doesn't add much new functionality, but represents a major restructuring of the code base. Specifically, it removes the Agents.jl dependency and changes the -way the species definition macros work and are used. +way the species definition macros work and are used.** ### Added @@ -113,10 +137,11 @@ way the species definition macros work and are used. - Agents.jl dependency (including `AgentBasedModel` and functions for adding/moving/removing agents) +--- -## [v0.4.1] - 2023-11-14 +## [0.4.1] - 2023-11-14 -*Wrote tests for skylark migration -> made graphics output format configurable* +**Initial version of the skylark model** ### Added @@ -135,10 +160,9 @@ way the species definition macros work and are used. - graphics output is more configurable -## [v0.4.0] - 2023-10-28 - -*Refactored makieplots.jl -> Wrote tests for skylark migration* +## [0.4.0] - 2023-10-28 +**Functions for animal populations** ### Added diff --git a/Project.toml b/Project.toml index 12bc3cd5ed93d571d42db9c802d5ac6fd21f9c81..6b2af5922f93f57ad9b6a1dabc3376b549adb4ec 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "Persefone" uuid = "039acd1d-2a07-4b33-b082-83a1ff0fd136" authors = ["Daniel Vedder <daniel.vedder@idiv.de>"] -version = "0.5.1" +version = "0.5.2" [deps] ArgParse = "c7e460c6-2fb9-53a9-8c5b-16f535851c63" diff --git a/src/nature/populations.jl b/src/nature/populations.jl index d48d75998b5633571ec28d437e484dd4f026f361..f3c7bede7d72e0bd967ff0b5863284d2d7dad5a5 100644 --- a/src/nature/populations.jl +++ b/src/nature/populations.jl @@ -7,7 +7,7 @@ """ PopInitParams -A set of parameters used by [`initpopulation`](@ref) to initialise the population +A set of parameters used by [`initpopulation!`](@ref) to initialise the population of a species at the start of a simulation. Define these parameters for each species using [`@populate`](@ref). diff --git a/src/nature/species/skylark.jl b/src/nature/species/skylark.jl index 6ec68354c92e3e67bc4d280c6c4e44a6d3c7e3ab..5a75f7e1b0fa4c77f94c7173d5f863237e1d5a95 100644 --- a/src/nature/species/skylark.jl +++ b/src/nature/species/skylark.jl @@ -3,11 +3,18 @@ ### This file holds the code for the Eurasian Skylark (Alauda arvensis). ### +##TODO +## - habitat-dependent juvenile predation mortality +## - habitat-dependent dispersal movement +## - mid-season territory adjustment +## - temperature-dependent migration, breeding begin, and mortality +## - first-year mortality + + """ Skylark *Alauda arvensis* is a common and charismatic species of agricultural landscapes. -At the moment, this implementation is still in development. **Sources:** - Bauer, H.-G., Bezzel, E., & Fiedler, W. (Eds.). (2012). Das Kompendium @@ -118,7 +125,7 @@ Once a male has found a territory, he remains in it until the breeding season is adjusting it to new conditions when and as necessary. """ @phase Skylark occupation begin - #move to a random location in the territory + # move to a random location in the territory @move(@rand(self.territory)) if month(model.date) > self.nestingend # once the breeding season is over and all the young have left the nest, stop breeding @@ -223,7 +230,7 @@ chicks are independent or in case of brood loss. @chance(self.fledglingpredationmortality) && destroynest!(self, "predation") else # create new young, reset timer and clutch counter - #TODO first year mortality + #FIXME first year mortality @reproduce(self.clutch, self.mate) self.clutch = 0 end @@ -374,6 +381,10 @@ should currently be on migration. Also sets other individual-specific variables. end end +""" +Initialise the skylark population. Creates pairs of skylarks on grassland and agricultural +land, keeping a distance of 60m to vertical structures and giving each pair an area of 3ha. +""" @populate Skylark begin # initialise on open land, at least 60m from vertical structures habitat = @habitat((@landcover() == grass || @landcover() == agriculture) &&