Skip to content

[Task] explore the issue of changing parameters value during the simulation #85

@SarahAlidoost

Description

@SarahAlidoost

Currently, the parameters of diffwofost are static meaning they are fixed during the entire simulation period. In some applications, we might need to change this condition.

An example is implemented in DMC-MTL. Earlier I commented on this in #13 as:

The process of “updating parameters before each integration step” is similar to BMI functionality (they implemneted set/get_parameters instead of the typical set/get_variable see the code here). This seems needed when using RNN to estimate the crop parameters. But I couldn't find any tests or examples showing that this works in practice. This also needs future discussion.

Another example is implemented in PCSE-Gym. I have commented on this in #6 as:

According to the paper (Nitrogen management with reinforcement learning and crop growth models), PCSE_gym supports interaction between a Reinforcement Learning agent and a crop model (i.e. WOFOST80 or LINTUL3). For example, the use case from the paper shows how to use LINTUL3 for nitrogen management in rain-fed winter wheat. I found that the PCSE version for crop model (i.e. WOFOST80 or LINTUL3) used in crop_gym is the one in the branch develop_lintul3. In this branch, the module signals has apply_npk in addition to irrigate. These two signals are used in pcse_gym to apply an action to the crop model. The workflow: the pcse crop model (i.e., WOFOST80 or LINTUL3) gets initialized and an action is calculated. Then, in a single step of the pcse_gym, the action is applied to the model. Model runs one more step in time (t+1) and based on the model outputs, observations and reward (i.e., increase in yield) are calculated. It is nice to see that the pcse.engine.Engine and _model._send_signal are used to interact with the crop model. Details can be found at Advanced_Machine_Learning_CropGym_Tutorial.ipynb

In this context, we want to explore the challenges and answer:

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions