AquaCrop.jl
AquaCrop.jl: A Process-Based Model of Crop Growth - Published in JOSS (2025)
Science Score: 93.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 9 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org, zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Scientific Fields
Repository
FAO's Aqua Crop in Julia as part of Persefone.jl
Basic Info
- Host: GitHub
- Owner: gabo-di
- License: other
- Language: Julia
- Default Branch: main
- Size: 3.05 MB
Statistics
- Stars: 9
- Watchers: 5
- Forks: 3
- Open Issues: 0
- Releases: 2
Metadata Files
README.md
AquaCrop.jl
Welcome to AquaCrop.jl! This package is an independent Julia implementation of FAO's
AquaCrop, a process-based crop growth model.
The package currently corresponds to AquaCrop version 7.2.
AquaCrop is a well-established crop growth model that uses environmental parameters (e.g. precipitation, temperature, and soil quality) to predict plant growth and yield of a large range of crop species. It was first published in three papers by Steduto et al. (2009), Raes et al. (2009), and Hsiao et al. (2009).
The core code of this package closely follows the original Fortran implementation. On top of the core code, we developed an API that makes it easy to configure and run the simulations in several ways. It enables exploring and interacting with state variables at run time, opening up the possibility of dynamic, bidirectional model coupling. These new features increase the interoperability of the model compared to its original implementation, making it more easily accesible to growing number of interdisciplinary environmental modellers working with Julia.
Installing
Since the package is not yet registered, you can install it straight from Github:
julia
using Pkg
Pkg.add("AquaCrop")
Documentation
The documentation gives examples of how to use the package, and describes the API functions.
Basic Usage
AquaCrop.jl can be used with the same input files as the original model. You must
specify the directory that includes these files and then call the basic_run function:
```julia using AquaCrop
runtype = NormalFileRun() parentdir = AquaCrop.test_dir #".../AquaCrop.jl/test/testcase"
outputs = basic_run(; runtype=runtype, parentdir=parentdir)
isequal(size(outputs[:dayout]), (892, 89)) # true ```
you can see the daily result in outputs[:dayout],
the result of each harvest in outputs[:harvestsout],
the result of the whole season in outputs[:seasonout],
the information for the evaluation in outputs[:evaldataout],
and the logger information in outputs[:logger].
You can also choose to format your input data as TOML and CSV files:
```julia runtype = TomlFileRun() parentdir = AquaCrop.testtomldir #".../AquaCrop.jl/test/testcase/TOML_FILES"
outputs = basic_run(; runtype=runtype, parentdir=parentdir)
isequal(size(outputs[:dayout]), (892, 89)) # true ```
Finally, you can pass all variables and data using the API (tutorial here).
Tests
This package constains tests used for CI, but can also be used to check if the package is working properly when installed. To run the tests, after adding the package, activate the package manager, by typing ], and write
pkg> test AquaCrop
Otherwise check the CI badge status at the beggining of this README.md
Extended Tests
We have an additional branch named extended-tests where we compare more results between the FAO's AquaCrop implementation and ours. The status of these tests can be seen here:
Contributing
We welcome questions, suggestions, bug reports, or other contributions.
You can file issues/bugs/questions/requests using the Github issue tracker. For bugs, please include as much information possible, including operating system, Julia version, version of
AquaCrop.jl, and all the data needed to reproduce the bug.To contribute to the core code or API, make a pull request. Contributions should include tests and a description of the problem you solve. Tests should ensure that new features are backwards-compatible with the original Fortran model. If necessary, also update the documentation describing new API functionality.
To contribute to the documentation or tutorials, make a pull request. Make sure it is possible to get any necessary data.
Please note: Questions or change requests regarding the scientific functioning of the model (rather than the technical details of this particular implementation) should be addressed to the original model developers.
Citing
If you use AquaCrop.jl in your scientific work, please cite the following paper
once it is published:
Díaz Iturry, Matthies, Pe'er, Vedder (in review) "AquaCrop.jl: A Process-Based
Model of Crop Growth" Journal of Open Source Software
Owner
- Login: gabo-di
- Kind: user
- Repositories: 1
- Profile: https://github.com/gabo-di
JOSS Publication
AquaCrop.jl: A Process-Based Model of Crop Growth
Authors
Helmholtz Centre for Environmental Research - UFZ, German Centre for Integrative Biodiversity Research (iDiv) Halle-Jena-Leipzig
Helmholtz Centre for Environmental Research - UFZ, German Centre for Integrative Biodiversity Research (iDiv) Halle-Jena-Leipzig
Tags
agriculture plant growth yield forecastGitHub Events
Total
- Create event: 6
- Release event: 1
- Issues event: 19
- Watch event: 9
- Delete event: 2
- Issue comment event: 14
- Public event: 1
- Push event: 179
- Pull request review event: 4
- Pull request event: 35
- Fork event: 3
Last Year
- Create event: 6
- Release event: 1
- Issues event: 19
- Watch event: 9
- Delete event: 2
- Issue comment event: 14
- Public event: 1
- Push event: 179
- Pull request review event: 4
- Pull request event: 35
- Fork event: 3
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 10
- Total pull requests: 14
- Average time to close issues: about 2 months
- Average time to close pull requests: about 3 hours
- Total issue authors: 5
- Total pull request authors: 6
- Average comments per issue: 0.4
- Average comments per pull request: 0.14
- Merged pull requests: 10
- Bot issues: 0
- Bot pull requests: 2
Past Year
- Issues: 10
- Pull requests: 14
- Average time to close issues: about 2 months
- Average time to close pull requests: about 3 hours
- Issue authors: 5
- Pull request authors: 6
- Average comments per issue: 0.4
- Average comments per pull request: 0.14
- Merged pull requests: 10
- Bot issues: 0
- Bot pull requests: 2
Top Authors
Issue Authors
- gabo-di (5)
- tonyewong (2)
- veddox (2)
- julienmalard (1)
- JuliaTagBot (1)
Pull Request Authors
- gabo-di (12)
- marcom (3)
- visr (2)
- veddox (2)
- github-actions[bot] (1)
- dependabot[bot] (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 1 total
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 2
juliahub.com: AquaCrop
FAO's Aqua Crop in Julia as part of Persefone.jl
- Documentation: https://docs.juliahub.com/General/AquaCrop/stable/
- License: BSD-3-Clause
-
Latest release: 1.0.0
published 8 months ago