A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

DSSAT Cropping System Model

Has been used for many applications ranging from on-farm and precision management to regional assessments of the impact of climate variability and climate change.
https://github.com/DSSAT/dssat-csm-os

Category: Consumption
Sub Category: Agriculture and Nutrition

Keywords

agriculture-research crop-model crop-simulation-models

Last synced: about 18 hours ago
JSON representation

Repository metadata

DSSAT Cropping System Model

README.md

For DSSAT to be functional, it is
supported by data base management programs for soil, weather, crop management, and experimental data, and by utilities and application
programs. The crop simulation models simulate growth and development and predict yield, yield components and many other traits and variables as a
function of the soil-plant-atmosphere dynamics.

Questions about usage of the DSSAT Crop Modeling Ecosystem [contact us].

Do not know how to use DSSAT? Consider participating in the [upcoming DSSAT training workshop]

Read more about DSSAT at [DSSAT Homepage]

The directory structure

DSSAT cropping system model (CSM) design is a modular structure in which components
separate along scientific discipline lines and are structured to allow easy replacement
or addition of modules. It has one Soil module, a Crop Template module which can simulate
different crops by defining species input files, an interface to add individual crop
models if they have the same design and interface, a weather module, and a module for
dealing with competition for light and water among the soil, plants, and atmosphere.
It is also designed for incorporation into various application packages, ranging from
those that help researchers adapt and test the CSM to those that operate the DSSAT /CSM
to simulate production over time and space for different purposes.

Structure of the code

.
├── build
│   └── ...
├── cmake
│   └── Modules
│       ├── SetCompileFlag.cmake
│       └── SetFortranFlags.cmake
├── Data
|   ├── Genotype
|   ├── Pest
|   └── StandardData 
├── <source files>
├── CMakeLists.txt
├── distclean.cmake
├── README.md
└── ...

Compiling the code

The code is compatible with the CMake utility for generating MakeFile
and setting up projects for a variety of IDEs and compilers. To use this feature,
first download and install CMake. Then set up a CMake project by pointing to the
source code directory and the build directory.

Configuring the build

It is usually preferred that you do an out-of-source build. To do this, create a build/ directory at the top level of your project and build there. This folder is created to organize all working files inside it, avoiding messing up your source folder. During compilation and linking, working folders are created automatically inside this folder. Any libraries created end up in mod/, as well as compiled Fortran .mod files. The executable will end up in bin/.

$ mkdir build
$ cd build
$ cmake ..
$ make

When you do this, temporary CMake files will not be created in your src/ directory.

As written, this template will allow you to specify one of three different sets of compiler flags. The default is DEBUG. You can change this using to RELEASE or DEBUG using

$ cmake .. -DCMAKE_BUILD_TYPE=DEBUG

or

$ cmake .. -DCMAKE_BUILD_TYPE=RELEASE

You can provide all kind of information CMake. See more information at [CMake Tutorial].

One usable examples could be:

$ cmake -G "Unix Makefiles" -DCMAKE_Fortran_COMPILER=ifort ..

In this example we are specifying the fortran compiler and the kind of project we want as result (make file project).

CMakeLists.txt

This file contains all the configuration needed to set up the project.
Edit this file to make your own configuration and add new projects.
Comment/Uncomment any lines pertaining to options you may need.

distclean.cmake

This is a CMake script that will remove all files and folder that are created after running make. You can run this code in one of two ways:

  • Execute cmake -P distclean.cmake. (The -P option to cmake will execute a CMake script)
  • Execute make distclean after your Makefile has been generated.

cmake/Modules/

This directory contains CMake scripts that aid in configuring the build system.

SetCompileFlag.cmake

This file defines a function that will test a set of compiler flags to see which one works and adds that flag to a list of compiler flags. This is used to set compile flags when you don't know which compiler will be used.

SetFortranFlags.cmake

This file uses the function from SetCompilerFlag.cmake to set the DEBUG, TESTING, and RELEASE compile flags for your build. You might want to inspect this file and edit the flags to your liking.

Data

This folder contains model-specific data for genotypes, pest, standard model data, code files, DSSATPRO files, etc.

.
├── Genotype
├── Pest
├── StandardData
├── Data.CDE
├── Detail.CDE
├── DSSATPRO.v48
├── ...
└── README.md

The files in this repository can be combined with the files in the Data repository (https://github.com/DSSAT/dssat-csm-data) to
replicate the directory structure of the Windows installation of DSSAT v4.8.2 (e.g., with the Genotype directory at the
same level as the Alfalfa and other crops directories and the CDE files in the root directory).

Best DSSAT coding practices

See: Non-threatening best practice DSSAT Fortran coding guidelines.

How to Cite DSSAT

If you are planning to use DSSAT in any reports or publications, please make sure to refer to the version number you used.
The version and sub-version numbers can be found in the top section of your output files, e.g., 4.8.X (replace X with current version).
In addition, please use the following two references for DSSAT and the Cropping System Model. Other related publications can be found
in the Documentation section under DSSAT References and Model References.

Hoogenboom, G., C.H. Porter, K.J. Boote, V. Shelia, P.W. Wilkens, U. Singh, J.W. White, S. Asseng, J.I. Lizaso, L.P. Moreno, W. Pavan, R. Ogoshi, L.A. Hunt, G.Y. Tsuji, and J.W. Jones. 2019. The DSSAT crop modeling ecosystem. In: p.173-216 [K.J. Boote, editor] Advances in Crop Modeling for a Sustainable Agriculture. Burleigh Dodds Science Publishing, Cambridge, United Kingdom (https://dx.doi.org/10.19103/AS.2019.0061.10).

See also: The DSSAT crop modeling ecosystem

Hoogenboom, G., C.H. Porter, V. Shelia, K.J. Boote, U. Singh, W. Pavan, F.A.A. Oliveira, L.P. Moreno-Cadena, T.B. Ferreira, J.W. White, J.I. Lizaso, D.N.L. Pequeno, B.A. Kimball, P.D. Alderman, K.R. Thorp, S.V. Cuadra, M.S. Vianna, F.J. Villalobos, W.D. Batchelor, S. Asseng, M.R. Jones, A. Hopf, H.B. Dias, A. Jintrawet, R. Jaikla, E. Memic, L.A. Hunt, and J.W. Jones. 2024. Decision Support System for Agrotechnology Transfer (DSSAT) Version 4.8.5 (www.DSSAT.net). DSSAT Foundation, Gainesville, Florida, USA.

Jones, J.W., G. Hoogenboom, C.H. Porter, K.J. Boote, W.D. Batchelor, L.A. Hunt, P.W. Wilkens, U. Singh, A.J. Gijsman, and J.T. Ritchie. 2003. The DSSAT cropping system model. European Journal of Agronomy 18:235-265 (https://doi.org/10.1016/S1161-0301(02)00107-7).

See also: The DSSAT cropping system model.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 8 days ago

Total Commits: 1,204
Total Committers: 25
Avg Commits per committer: 48.16
Development Distribution Score (DDS): 0.636

Commits in past year: 123
Committers in past year: 8
Avg Commits per committer in past year: 15.375
Development Distribution Score (DDS) in past year: 0.537

Name Email Commits
chporter c****r@u****u 438
Fabio Oliveira f****2@g****m 213
Gerrit Hoogenboom g****t@u****u 124
fabiooliveira72 f****o@p****m 85
Thiago Berton Ferreira t****f@g****m 84
murilodsv m****v@g****m 66
Patricia Moreno l****c@u****u 55
chporter c****r@g****m 33
Willingthon Pavan w****n@i****g 32
Kelly Thorp k****p@u****v 21
MengZhang m****5@u****u 11
jguarin4 j****n@u****u 9
Mulugeta Belew m****w@i****g 9
Phillip D. Alderman p****n@o****u 8
Patricia Moreno l****c@u****o 3
Murilo Vianna m****a@f****e 3
Vásquez-Jiménez, Jhonny j****5@h****m 2
vshelia e****h@g****m 1
Christopher Villalobos v****a@p****m 1
btstream b****m@g****m 1
ehfmsilva e****a@g****m 1
usingh u****h@i****g 1
YujingGao y****0@g****m 1
Ernesto Martínez del Pino e****7@h****m 1
David Clifford d****d 1

Committer domains:


Issue and Pull Request metadata

Last synced: 2 days ago

Total issues: 107
Total pull requests: 389
Average time to close issues: 5 months
Average time to close pull requests: 11 days
Total issue authors: 31
Total pull request authors: 31
Average comments per issue: 1.42
Average comments per pull request: 0.31
Merged pull request: 345
Bot issues: 0
Bot pull requests: 0

Past year issues: 27
Past year pull requests: 62
Past year average time to close issues: 17 days
Past year average time to close pull requests: 12 days
Past year issue authors: 12
Past year pull request authors: 11
Past year average comments per issue: 1.11
Past year average comments per pull request: 0.69
Past year merged pull request: 48
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/DSSAT/dssat-csm-os

Top Issue Authors

  • chporter (29)
  • fabiooliveira72 (14)
  • palderman (10)
  • lpmorenoc (7)
  • xiangyi-wang (5)
  • helsharif (5)
  • NadaBenMhenni (4)
  • mehmoodmz (4)
  • philderbeast (3)
  • smkuhlani (2)
  • pcboy (2)
  • JongChao (2)
  • gelianxing (2)
  • AryaFeng (1)
  • LenLon (1)

Top Pull Request Authors

  • GerritHoogenboom (109)
  • fabiooliveira72 (104)
  • chporter (51)
  • thiagoferreira53 (34)
  • lpmorenoc (22)
  • kthorp (15)
  • Murilodsv (9)
  • MengZhang (5)
  • wpavan (5)
  • palderman (4)
  • jguarin4 (3)
  • jvasquez05 (3)
  • khan004 (2)
  • frostbytten (2)
  • diashb (2)

Top Issue Labels

  • bug (5)
  • enhancement (3)

Top Pull Request Labels

Score: 8.639410824140487