Commit ae255466 authored by jouke's avatar jouke
Browse files

Further fixes,

now things start to look better for FBvC, but the radiation simulation
still seems to give low values, with resulting low photosynthesis
parent a58c0c78
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ You should have received the GNU GENERAL PUBLIC LICENSE v3 with this file in lic
				name_column1="time"
				unit_column1="day"
				unit_column2="degreesC"
				interpolationMethod="linear"> 0 16.9 100 16.9
				interpolationMethod="linear"> 0 25 100 25
			</SimulaTable>

<!-- these are necessary to compute incoming radiation by the radiation module -->
@@ -95,7 +95,7 @@ You should have received the GNU GENERAL PUBLIC LICENSE v3 with this file in lic
				unit_column2="hour"
				interpolationMethod="step">
				<!-- time of the day that there are no clouds -->
				0 0 60 0
				0 6 60 6
			</SimulaTable>
		</SimulaBase>
			<SimulaConstant
+0 −52
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<SimulationModelIncludeFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../scripts/XML/SimulaXMLSchema.xsd">

	<SimulaDirective path="environment">
		<SimulaConstant name="startDay" type="integer" unit="noUnit">1</SimulaConstant>
		<SimulaConstant name="startMonth" type="integer" unit="noUnit">5</SimulaConstant>
		<SimulaConstant name="startYear" type="integer" unit="noUnit">2015</SimulaConstant>
		<SimulaConstant name="latitude" unit="noUnit">42.013720</SimulaConstant>
		<SimulaBase name="atmosphere">
			<SimulaDerivative name="solarElevationAngle" function="solarElevationAngle"/>
			<SimulaDerivative name="irradiation" function="diurnalRadiationSimulator" unit="W/m2"/>
			<SimulaDerivative name="beamIrradiation" function="beamRadiationSimulator" unit="W/m2"/>
			<SimulaDerivative name="diffuseIrradiation" function="diffuseRadiationSimulator" unit="W/m2"/>
			<SimulaDerivative name="dayLightHours" function="photoPeriod" unit="hour"/>
			<!--SimulaConstant name="solarRadiationAt1AU" unit="W/m2">800</SimulaConstant-->
			<SimulaConstant name="PAR/RDD" unit="100%">1.</SimulaConstant>
			<SimulaDerivative name="netRadiation" function="diurnalRadiationSimulator" unit="W/m2"/>
			<SimulaDerivative name="netRadiationSoil" function="diurnalRadiationSimulator" unit="W/m2">
				<SimulaDerivative name="multiplier" function="soilRadiationFactor"/>
			</SimulaDerivative>
			<SimulaConstant name="referenceVapourPressureDeficit" prettyName="reference Vapour Pressure Deficit" type="double" unit="hPa">16.4</SimulaConstant>
			<SimulaConstant name="CO2Concentration" prettyName="CO2 Concentration" type="double" unit="umol/mol">402.9</SimulaConstant>
			<SimulaConstant name="O2Concentration" prettyName="O2 Concentration" type="double" unit="mmol/mol">209.46</SimulaConstant>
			<SimulaConstant name="albedoSoil" unit="noUnit">0.17</SimulaConstant>
			<SimulaConstant name="albedoCrop" unit="noUnit">0.15</SimulaConstant>
			<SimulaConstant name="atmosphericTransmissionCoefficient">0.72</SimulaConstant>
			<SimulaTable name_column2="precipitation" name_column1="time" unit_column1="day" unit_column2="cm/day" interpolationMethod="step"> 
			  <!--
			  Rocksprings, PA, maize season 2009
			  1 0 2 1 3 0.29 4	0 5 0 6 0.61 7 0 8 0 9 0.25 10 0.03 11 0 12 0.64 13 0.33 14 0 15 0 16 0 17 0 18 1.8 19 0.2 20 0 21 2.84 22 0.38 23 0
				24 0 25 0 26 0 27 0.18 28 0 29 0.46 30 0 31 1.35 32 0.13 33 0.23 34 0.25 35 0 36 0 37 0 38 0 39 0 40 0 41 0 42 1.42 -->
				0 0 1 0 2 1 3 0.29 4 0 5 0 6 0.61 7 0 8 0 9 0.25 10 0.03 11 0 12
				0.64 13 0.33 14 0 15 0 16 0 17 0 18 1.8 19 0.2 20 0 21 2.84 22 0.38
				23 0 24 0 25 0 26 0 27 0.18 28 0 29 0.46 30 0 31 1.35 32 0.13 33
				0.23 34 0.25 35 0 36 0 37 0 38 0 39 0 40 0 41 0 42 1.42
			</SimulaTable>
			<SimulaTable name_column2="evaporation" name_column1="time" unit_column1="day" unit_column2="cm/day" interpolationMethod="step">
			<!--this is 'estimated' data for rocksprings: not so accurate -->
			<!--	0 0 1 0.05 2 0.1 3 0.1 4 0.05 5 0.05 6 0.1 7 0.05 8 0.05 9 0.1 10 0.1 11 0.05 12 0.1 13 0.1 14 0.05 15 0.04 16 0.03 17 0.02
				18 0.09 19 0.09 20 0.04 21 0.09 22 0.09 23 0.04 24 0.03 25 0.02 26 0.02 27 0.08 28 0.03 29 0.08 30 0.03 31 0.08 32 0.07
				33 0.07 34 0.07 35 0.03 36 0.02 37 0.01 38 0 39 0 40 0 41 0 42 0.06-->
				0 0.0 10 0 100 0
			</SimulaTable>
			<SimulaConstant name="windSpeed" unit="m/s">2.</SimulaConstant>
			<SimulaConstant name="relativeHumidity" unit="m/s">60</SimulaConstant>
			<SimulaTable name_column2="averageDailyTemperature" name_column1="time" unit_column1="day" unit_column2="degreesC" 	interpolationMethod="linear">
				0 16.9 100 16.9
			</SimulaTable>
			<SimulaConstant name="altitude" unit="m">91</SimulaConstant>
		</SimulaBase>
	</SimulaDirective>
</SimulationModelIncludeFile>
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
@@ -50,8 +50,8 @@
        </SimulaDirective>
    	
	<SimulaIncludeFile fileName="templates/plantTemplateFullModel.xml"/>
	<!-- SimulaIncludeFile fileName="environments/Rocksprings/Rocksprings-maize.xml"/-->
	<SimulaIncludeFile fileName="environments/WageningseBovenBuurt/WageningseBovenBuurt-maize.xml"/>
	<SimulaIncludeFile fileName="environments/Rocksprings/Rocksprings-maize.xml"/>
	<!-- SimulaIncludeFile fileName="environments/atmosphereC3C4.xml"/-->
	
	<!--  for faster testing purposes -->
    <SimulaDirective path="/environment/dimensions">
+2 −2
Original line number Diff line number Diff line
@@ -119,8 +119,8 @@ You should have received the GNU GENERAL PUBLIC LICENSE v3 with this file in lic
		<!--SimulaDerivative name="solarElevationAngle" function="solarElevationAngle"/-->
			<!--SimulaDerivative name="shortWaveRadiation" function="diurnalRadiationSimulator" unit="W/m2" replacesPreviousDeclaration="true"/-->
			<!-- just to make sure these are not used -->
			<SimulaConstant name="shortwaveRadiation" unit="W/m2" replacesPreviousDeclaration="true">-999</SimulaConstant>
			<SimulaConstant name="irradiation" unit="W/m2"replacesPreviousDeclaration="true">-999</SimulaConstant>
			<!-- SimulaConstant name="shortwaveRadiation" unit="W/m2" replacesPreviousDeclaration="true">-999</SimulaConstant>
			<SimulaConstant name="irradiation" unit="W/m2"replacesPreviousDeclaration="true">-999</SimulaConstant-->
			<SimulaDerivative name="beamIrradiation" function="beamRadiationSimulator" unit="W/m2"/>
			<SimulaDerivative name="diffuseIrradiation" function="diffuseRadiationSimulator" unit="W/m2"/>
			<SimulaDerivative name="dayLightHours" function="photoPeriod" unit="hour"/>
+0 −1
Original line number Diff line number Diff line
@@ -910,7 +910,6 @@ void SoilRadiationFactor::calculate(const Time &t, double& factor){

BeamRadiationSimulator::BeamRadiationSimulator(SimulaDynamic* const pSV):DerivativeBase(pSV), solarElevationAngle(nullptr), slope(0), saz(0), cleanUpTime(0){
	if (MAXTIMESTEP > 0.1) msg::error("BeamRadiationSimulator: Max timestep is bigger than 0.1! To avoid errors and inconsistencies it is mandatory that you set it to 0.1 or smaller when using the diurnal radiation simulator.");
	if (MINTIMESTEP > 0.1) msg::error("BeamRadiationSimulator: Min timestep is bigger than 0.1! To avoid errors and inconsistencies it is mandatory that you set it to 0.1 or smaller when using the diurnal radiation simulator.");
	std::size_t myDateNumber = TimeConversion::dateToNumber(0);
	startDay = double(myDateNumber);
	SimulaBase *probe = pSD->existingPath("/environment/startYear");
Loading