-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multi-plant/species considerations #119
Comments
MTG : multiple MTG ? Single scene root that branches out into multiple plants ? Models : have a 'per-plant' trait ? Some models are plant-independent, some need to run per-plant. It might also make sense when moving to a multi-plant simulation to distinguish between models that are more or less internal to the plant and those that provide outputs to the world. A single 'black-box' node corresponding to the plant or its instance to the scene might keep internal complexities internal and only expose what is necessary. Having distinct modellists/mappings per plant for a small amount of plants makes sense (and distinct ones for different species always makes sense), but might not be ideal for larger scenes. The approach used there drastically impacts potential variable name conflicts and handling. |
Point avec Samuel du 07/01/2024: On peut faire des boîtes avec des mappings pour chaque espèce, et ensuite un meta-mapping qui prends ces boîtes. Prenons en exemple une scène qui prends 2 plantes de palmier à huile, et un modèle biophysique qui tourne à l'échelle scène et qui prends les modèles biohysiques à l'échelle feuille de chaque plante en hard-dependency. Le meta-mapping aurait ce format: mtg = ... # This is the MTG with all nodes, including scene, both plants and the soil
palm1 = mtg[1]
palm2 = mtg[2]
metamapping= Dict(
"Scene" => SceneEnergyBalance(),
"Plant" => PlantMappings(
1 => XPalm_Mapping(palm1) |> MultiScaleModel([:ftsw => "Soil"]),
2 => XPalm_Mapping(palm2) |> MultiScaleModel([:ftsw => "Soil"]),
),
"Soil" => FTSW(),
) Note We use the API proposed in #121 for providing the multiscale variables to the plant mappings (here, the ftsw). This has not yet been implemented, but it gives an idea of what it could look like. In this example, the scene scale takes a model Then we declare a plant scale that takes a Note We could use a struct for the mapping at the scale of the plant, sush as a What needs to be implemented should be pretty simple, as this proposition follows the current philosophy of the package. I think it boils down to two main things:
|
Listing future considerations and difficulties for simulations incorporating multiple plants. (API considerations and other prior discussions should probably go here as well, but I won't summarise them right now, leaving those for a future comment).
Note : Examples of potential plant-plant interactions that might not use an intermediary medium / that aren't easily implemented as emergent behaviour from other models or implicit consequences of atmospheric/light interactions :
(Not unrelated : #114 )
The text was updated successfully, but these errors were encountered: