tcztzy / cotton2k

Simulation model for cotton
3 stars 2 forks source link

What is an example of the TOML file used to run the command line model #1

Open dodge-ttu opened 4 days ago

dodge-ttu commented 4 days ago

Hello. Do you have an example of the TOML input file and formatting for the mdoel?

tcztzy commented 4 days ago

Thanks for your question, I am currently not working on Crop Growth Simulation and have limited time to polish this repository. The input file's schema is describe in the following. Document is not ready because the input file schema changes in development.

https://github.com/tcztzy/cotton2k/blob/046f1ad1dc9e75a1e32abcee101e344fbac64469/src/profile.rs#L83-L132

THOUGHT: Cotton2k simulate in following procedure hourly. I'd like to group paramters in three sections.

  graph TD;
      Atmosphere-->Soil;
      Soil-->Plant;
dodge-ttu commented 4 days ago

Thanks for the reply! Any insight is helpful. I have deduced the format of the TOML file and it mostly works except I get the following error regarding the cultivar_parameters:

image

My TOML file is as follows:

light_intercept_method = "Original"  # Can be "Original", "Fry1980", or "Latered"
latitude = 0.0
longitude = 0.0
elevation = 0.0
start_date = "2023-01-01"
stop_date = "2023-10-30"
emerge_date = "2023-01-02"  # Optional
plant_date = "2023-01-01"  # Optional

# Weather and soil data paths
weather_path = "weather_data/test_weather.csv"
#soil_impedance = "path/to/soil_imp.csv"  # Optional, will be set automatically if not provided

# Site parameters
[site]
average_wind_speed = 0.0  # Optional
estimate_dew_point = [0.0, 0.0]
wind_blow_after_sunrise = 0.0
wind_max_after_noon = 0.0
wind_stop_after_sunset = 0.0
night_time_wind_factor = 0.0
cloud_type_correction_factor = 0.0
max_temperature_after_noon = 0.0
deep_soil_temperature = [0.0, 0.0, 0.0]
dew_point_range = [0.0, 0.0, 0.0]
albedo_range = [0.0, 0.0]

# Optional parameters
[co2_enrichment]
factor = 0.0
start_date = "2023-01-02"
stop_date = "2023-01-03"

[mulch]
indicator = "NoMulch"  # Can be "NoMulch", "All", "OneColumnLeftAtSide", or "TwoColumnsLeftAtSide"
sw_trans = 0.0
lw_trans = 0.0
start_date = "2023-01-01"
#stop_date = "YYYY-MM-DD"  # Optional

light_intercept_parameters = [0.0, 0.0, 0.0, 0.0]  # Optional, array of 20 float values
cultivar_parameters = [
    0.95,
    1.05,
    0.85,
    1.2,
    0.9,
    0.95,
    1.05,
    0.85,
    1.2,
    0.9,
    0.95,
    1.05,
    0.85,
    1.2,
    0.9,
]

# Soil layers (14 required)
[[soil_layers]]
ammonium = 0.0
nitrate = 0.0
organic_matter = 0.0
water_content = 0.0
[[soil_layers]]
ammonium = 0.0
nitrate = 0.0
organic_matter = 0.0
water_content = 0.0
[[soil_layers]]
ammonium = 0.0
nitrate = 0.0
organic_matter = 0.0
water_content = 0.0
[[soil_layers]]
ammonium = 0.0
nitrate = 0.0
organic_matter = 0.0
water_content = 0.0
[[soil_layers]]
ammonium = 0.0
nitrate = 0.0
organic_matter = 0.0
water_content = 0.0
[[soil_layers]]
ammonium = 0.0
nitrate = 0.0
organic_matter = 0.0
water_content = 0.0
[[soil_layers]]
ammonium = 0.0
nitrate = 0.0
organic_matter = 0.0
water_content = 0.0

[[soil_layers]]
ammonium = 0.0
nitrate = 0.0
organic_matter = 0.0
water_content = 0.0
[[soil_layers]]
ammonium = 0.0
nitrate = 0.0
organic_matter = 0.0
water_content = 0.0
[[soil_layers]]
ammonium = 0.0
nitrate = 0.0
organic_matter = 0.0
water_content = 0.0
[[soil_layers]]
ammonium = 0.0
nitrate = 0.0
organic_matter = 0.0
water_content = 0.0
[[soil_layers]]
ammonium = 0.0
nitrate = 0.0
organic_matter = 0.0
water_content = 0.0
[[soil_layers]]
ammonium = 0.0
nitrate = 0.0
organic_matter = 0.0
water_content = 0.0
[[soil_layers]]
ammonium = 0.0
nitrate = 0.0
organic_matter = 0.0
water_content = 0.0
# Repeat soil_layers block 13 more times

[soil_hydraulic]
implicit_ratio = 0.0
max_conductivity = 0.0
psi_fc = 0.0
psi_id = 0.0

[[soil_hydraulic.layers]]
depth = 0.0
theta_d = 0.0
theta_s = 0.0
alpha = 0.0
beta = 0.0
hcs = 0.0
hcfc = 0.0
bulk_density = 0.0
clay = 0.0
sand = 0.0
[[soil_hydraulic.layers]]
depth = 0.0
theta_d = 0.0
theta_s = 0.0
alpha = 0.0
beta = 0.0
hcs = 0.0
hcfc = 0.0
bulk_density = 0.0
clay = 0.0
sand = 0.0
[[soil_hydraulic.layers]]
depth = 0.0
theta_d = 0.0
theta_s = 0.0
alpha = 0.0
beta = 0.0
hcs = 0.0
hcfc = 0.0
bulk_density = 0.0
clay = 0.0
sand = 0.0

# Repeat soil_hydraulic.layers as needed

# Agronomy operations (multiple of each type can be specified)
[[agronomy_operations]]
type = "irrigation"
date = "2023-01-02"
amount = 0.0
predict = false
method = "Sprinkler"  # Can be "Sprinkler", "Furrow", or "Drip"
#drip_x = 0.0  # Only for drip irrigation
#drip_y = 0.0  # Only for drip irrigation
#max_amount = 0.0  # Optional
#stop_predict_date = "YYYY-MM-DD"  # Optional

[[agronomy_operations]]
type = "fertilization"
date = "2023-01-02"
tcztzy commented 4 days ago

cultivar parameter is an array with length 49. Those parameters' meaning are explained in this article