From cc5b9bde10290ea413e66f4f16989583f78c28c2 Mon Sep 17 00:00:00 2001 From: Marco Matthies <71844+marcom@users.noreply.github.com> Date: Wed, 4 Dec 2024 22:04:14 +0100 Subject: [PATCH] ALMaSS crop model: add sowingdensity column to crop_data_general.csv Currently the sowingdensity column is still treated as type `String`, as there is an entry of "35/80". Once this entry is clarified, the type should probably be `Float64`. --- data/crops/almass/crop_data_general.csv | 56 ++++++++++---------- src/crop/almass.jl | 4 +- test/cropparams-almass/crop_data_general.csv | 56 ++++++++++---------- 3 files changed, 59 insertions(+), 57 deletions(-) diff --git a/data/crops/almass/crop_data_general.csv b/data/crops/almass/crop_data_general.csv index 0d1a6cd..9af4722 100644 --- a/data/crops/almass/crop_data_general.csv +++ b/data/crops/almass/crop_data_general.csv @@ -1,28 +1,28 @@ -name,minsowdate,maxsowdate,minharvestdate,maxharvestdate,mingrowthtemp,group,biomass_scale,is_c4_plant -"spring rape",NA,NA,NA,NA,NA,"grain",1.071,false -"winter rape","20 August","25 August",NA,NA,NA,"grain",1.071,false -"winter wheat","15 October","31 October",NA,NA,0,"grain",1.0,false -"spring wheat",NA,NA,NA,NA,NA,"grain",1.0,false -"winter barley","15 September","30 September",NA,NA,0,"grain",0.857,false -"spring barley","1 March","10 April",NA,NA,0,"grain",0.857,false -"undersown spring barley",NA,NA,NA,NA,0,"grain",0.857,false -"winter rye","23 September","15 October",NA,NA,NA,"grain",0.857,false -"triticale","25 September","10 October",NA,NA,NA,"grain",1.0,false -"oats",NA,NA,NA,NA,NA,"grain",0.857,false -"maize","15 April","30 April",NA,NA,8,"grain",1.0,true -"potatoes",NA,NA,NA,NA,4,"root",0.857,false -"carrots",NA,NA,NA,NA,NA,"root",0.7857,false -"beet","15 March","10 May",NA,NA,NA,"root",0.857,false -"sunflower","25 March","15 April",NA,NA,NA,"other",1.0,false -"lucerne",NA,NA,NA,NA,NA,"legumes",1.2,false -"peas/beans","15 February","15 March",NA,NA,5,"legumes",0.857,false -"silage clover/grass",NA,NA,NA,NA,NA,"legumes",1.1,false -"fodder/clover",NA,NA,NA,NA,NA,"legumes",1.2,false -"lawn",NA,NA,NA,NA,NA,"grass",0.5,false -"permanent grassland (grazed)",NA,NA,NA,NA,NA,"grass",1.1,false -"permanent grassland (seeded)",NA,NA,NA,NA,NA,"grass",1.1,false -"permanent grassland (low yield)",NA,NA,NA,NA,NA,"grass",1.0,false -"permanent set-aside",NA,NA,NA,NA,NA,"semi-natural",0.7857,false -"natural grass",NA,NA,NA,NA,NA,"semi-natural",0.567,false -"no growth",NA,NA,NA,NA,NA,"semi-natural",0.0,false -"heath",NA,NA,NA,NA,NA,"semi-natural",0.567,false +name,minsowdate,maxsowdate,minharvestdate,maxharvestdate,mingrowthtemp,group,biomass_scale,is_c4_plant,sowingdensity +spring rape,NA,NA,NA,NA,NA,grain,1.071,false,75 +winter rape,20 August,25 August,NA,NA,NA,grain,1.071,false,75 +winter wheat,15 October,31 October,NA,NA,0,grain,1.0,false,400 +spring wheat,NA,NA,NA,NA,NA,grain,1.0,false,475 +winter barley,15 September,30 September,NA,NA,0,grain,0.857,false,340 +spring barley,1 March,10 April,NA,NA,0,grain,0.857,false,360 +undersown spring barley,NA,NA,NA,NA,0,grain,0.857,false,NA +winter rye,23 September,15 October,NA,NA,NA,grain,0.857,false,290 +triticale,25 September,10 October,NA,NA,NA,grain,1.0,false,320 +oats,NA,NA,NA,NA,NA,grain,0.857,false,385 +maize,15 April,30 April,NA,NA,8,grain,1.0,true,13 +potatoes,NA,NA,NA,NA,4,root,0.857,false,5 +carrots,NA,NA,NA,NA,NA,root,0.7857,false,160 +beet,15 March,10 May,NA,NA,NA,root,0.857,false,16 +sunflower,25 March,15 April,NA,NA,NA,other,1.0,false,8 +lucerne,NA,NA,NA,NA,NA,legumes,1.2,false,NA +peas/beans,15 February,15 March,NA,NA,5,legumes,0.857,false,35/80 +silage clover/grass,NA,NA,NA,NA,NA,legumes,1.1,false,NA +fodder/clover,NA,NA,NA,NA,NA,legumes,1.2,false,NA +lawn,NA,NA,NA,NA,NA,grass,0.5,false,NA +permanent grassland (grazed),NA,NA,NA,NA,NA,grass,1.1,false,NA +permanent grassland (seeded),NA,NA,NA,NA,NA,grass,1.1,false,NA +permanent grassland (low yield),NA,NA,NA,NA,NA,grass,1.0,false,NA +permanent set-aside,NA,NA,NA,NA,NA,semi-natural,0.7857,false,NA +natural grass,NA,NA,NA,NA,NA,semi-natural,0.567,false,NA +no growth,NA,NA,NA,NA,NA,semi-natural,0.0,false,NA +heath,NA,NA,NA,NA,NA,semi-natural,0.567,false,NA diff --git a/src/crop/almass.jl b/src/crop/almass.jl index b2680c4..e3472a4 100644 --- a/src/crop/almass.jl +++ b/src/crop/almass.jl @@ -366,8 +366,10 @@ Parse a CSV file containing the required parameter values for each crop """ function readcropparameters(cropdirectory::String) @debug "Reading crop parameters" + # TODO: using String as type for last column in cropdata (this is + # the sowingdensity column) until the 35/80 entry is resolved cropdata = CSV.File(joinpath(cropdirectory, CROPFILE), missingstring="NA", - types=[String,AnnualDate,AnnualDate,AnnualDate,AnnualDate,Float64,String,Float64,Bool]) + types=[String,AnnualDate,AnnualDate,AnnualDate,AnnualDate,Float64,String,Float64,Bool,String]) growthdata = CSV.File(joinpath(cropdirectory, GROWTHFILE), missingstring="NA", types=[Int,String,String,GrowthPhase,String, Float64,Float64,Float64,Float64]) diff --git a/test/cropparams-almass/crop_data_general.csv b/test/cropparams-almass/crop_data_general.csv index 0d1a6cd..9af4722 100644 --- a/test/cropparams-almass/crop_data_general.csv +++ b/test/cropparams-almass/crop_data_general.csv @@ -1,28 +1,28 @@ -name,minsowdate,maxsowdate,minharvestdate,maxharvestdate,mingrowthtemp,group,biomass_scale,is_c4_plant -"spring rape",NA,NA,NA,NA,NA,"grain",1.071,false -"winter rape","20 August","25 August",NA,NA,NA,"grain",1.071,false -"winter wheat","15 October","31 October",NA,NA,0,"grain",1.0,false -"spring wheat",NA,NA,NA,NA,NA,"grain",1.0,false -"winter barley","15 September","30 September",NA,NA,0,"grain",0.857,false -"spring barley","1 March","10 April",NA,NA,0,"grain",0.857,false -"undersown spring barley",NA,NA,NA,NA,0,"grain",0.857,false -"winter rye","23 September","15 October",NA,NA,NA,"grain",0.857,false -"triticale","25 September","10 October",NA,NA,NA,"grain",1.0,false -"oats",NA,NA,NA,NA,NA,"grain",0.857,false -"maize","15 April","30 April",NA,NA,8,"grain",1.0,true -"potatoes",NA,NA,NA,NA,4,"root",0.857,false -"carrots",NA,NA,NA,NA,NA,"root",0.7857,false -"beet","15 March","10 May",NA,NA,NA,"root",0.857,false -"sunflower","25 March","15 April",NA,NA,NA,"other",1.0,false -"lucerne",NA,NA,NA,NA,NA,"legumes",1.2,false -"peas/beans","15 February","15 March",NA,NA,5,"legumes",0.857,false -"silage clover/grass",NA,NA,NA,NA,NA,"legumes",1.1,false -"fodder/clover",NA,NA,NA,NA,NA,"legumes",1.2,false -"lawn",NA,NA,NA,NA,NA,"grass",0.5,false -"permanent grassland (grazed)",NA,NA,NA,NA,NA,"grass",1.1,false -"permanent grassland (seeded)",NA,NA,NA,NA,NA,"grass",1.1,false -"permanent grassland (low yield)",NA,NA,NA,NA,NA,"grass",1.0,false -"permanent set-aside",NA,NA,NA,NA,NA,"semi-natural",0.7857,false -"natural grass",NA,NA,NA,NA,NA,"semi-natural",0.567,false -"no growth",NA,NA,NA,NA,NA,"semi-natural",0.0,false -"heath",NA,NA,NA,NA,NA,"semi-natural",0.567,false +name,minsowdate,maxsowdate,minharvestdate,maxharvestdate,mingrowthtemp,group,biomass_scale,is_c4_plant,sowingdensity +spring rape,NA,NA,NA,NA,NA,grain,1.071,false,75 +winter rape,20 August,25 August,NA,NA,NA,grain,1.071,false,75 +winter wheat,15 October,31 October,NA,NA,0,grain,1.0,false,400 +spring wheat,NA,NA,NA,NA,NA,grain,1.0,false,475 +winter barley,15 September,30 September,NA,NA,0,grain,0.857,false,340 +spring barley,1 March,10 April,NA,NA,0,grain,0.857,false,360 +undersown spring barley,NA,NA,NA,NA,0,grain,0.857,false,NA +winter rye,23 September,15 October,NA,NA,NA,grain,0.857,false,290 +triticale,25 September,10 October,NA,NA,NA,grain,1.0,false,320 +oats,NA,NA,NA,NA,NA,grain,0.857,false,385 +maize,15 April,30 April,NA,NA,8,grain,1.0,true,13 +potatoes,NA,NA,NA,NA,4,root,0.857,false,5 +carrots,NA,NA,NA,NA,NA,root,0.7857,false,160 +beet,15 March,10 May,NA,NA,NA,root,0.857,false,16 +sunflower,25 March,15 April,NA,NA,NA,other,1.0,false,8 +lucerne,NA,NA,NA,NA,NA,legumes,1.2,false,NA +peas/beans,15 February,15 March,NA,NA,5,legumes,0.857,false,35/80 +silage clover/grass,NA,NA,NA,NA,NA,legumes,1.1,false,NA +fodder/clover,NA,NA,NA,NA,NA,legumes,1.2,false,NA +lawn,NA,NA,NA,NA,NA,grass,0.5,false,NA +permanent grassland (grazed),NA,NA,NA,NA,NA,grass,1.1,false,NA +permanent grassland (seeded),NA,NA,NA,NA,NA,grass,1.1,false,NA +permanent grassland (low yield),NA,NA,NA,NA,NA,grass,1.0,false,NA +permanent set-aside,NA,NA,NA,NA,NA,semi-natural,0.7857,false,NA +natural grass,NA,NA,NA,NA,NA,semi-natural,0.567,false,NA +no growth,NA,NA,NA,NA,NA,semi-natural,0.0,false,NA +heath,NA,NA,NA,NA,NA,semi-natural,0.567,false,NA -- GitLab