Command Line Arguments

Every time an environment is created, an associated configuration file is created as well. As all parameters can be specified by command line argument, (see Crop, Site, and Agromangement Config), it is easy to lose track of how data was generated, or what environment an Agent was trained on. See Environment Creation for more information.

It is desirable to rerun a simulation with the same (or similar) parameteres. Thus, we support loading an environment configuration. To do so, use the following command line argument:

python3 test_wofost.py --save-folder test_new --load_config_fpath test/config.yaml

This will load the configuration at /test/config.yaml if it exists, and save a new configuration in test_new/.

We can also load a configuration and modify its existing parameters. For example:

python3 test_wofost.py --save-folder test_new/ --load_config_fpath /test/config.yaml --npk.ag.latitude 60

This will load the configuration at /test/config.yaml, modify the Agromanagement latitude parameter, and save a new configuration in test_new/ while running a simulation.

Note

Gym Environment Configuration

WOFOST-Gym supports a variety of Gymansium environments to handle different types of crop simulations. For the full list of available environments see Available Environments.

Environments can be specified with the command line argument:

python3 test_wofost.py --save-folder test/ --env-id lnw-v0

This script will run a simulation as specified by the agromanagement file in a Limited Water setting.

Caution

Perennial crops (pears, jujubes) are only compatible with Perennial Gym Environments. Likewise, grape crops are only compatible with Grape environments. Check that the agromanagement file loaded is compatible with the Gymnasium Environment specified.

The reward function can also be specified by command line. See Environment Wrappers.

Crop, Site, and Agromangement Config

While all necessary simulation configuration can be done through the agromanagement, site and crop YAML files, there are instances where it can be useful to run a quick simulation with only one or two parameters changed. In this case, it is very handy to have command line configuration.

Every argument in the Agromanagement Template, Site Template, and Crop Template YAML can be passed via a command line argument and will be overridden when running the simulation.

As an example, suppose that we want to change the max_duration to 400 parameter in the agromanagment arguments. We would run:

python3 test_wofost.py --save-folder test --npk.ag.max-duration 400

Likewise, we can change site and crop parameters. Suppose we want to change the site parameter CRAIRC to 0.20 which controls the critical soil air content for aeraition, and the crop parameter TBASEM to 5 which controls the lower threshold for emergence. We would run:

python3 test_wofost.py --save-folder test/ --npk.wf.CRAIRC 0.20 --npk.TBASEM 5

Important

agromanagement arguments are modified by:

--npk.ag.<PARAMETER>

meanwhile, all site and crop arguments are modified by:

--npk.wf.<PARAMETER>