diff --git a/src/diffwofost/physical_models/crop/root_dynamics.py b/src/diffwofost/physical_models/crop/root_dynamics.py new file mode 100644 index 0000000..81af040 --- /dev/null +++ b/src/diffwofost/physical_models/crop/root_dynamics.py @@ -0,0 +1,229 @@ +import torch +from pcse.base import ParamTemplate +from pcse.base import RatesTemplate +from pcse.base import SimulationObject +from pcse.base import StatesTemplate +from pcse.decorators import prepare_rates +from pcse.decorators import prepare_states +from pcse.traitlets import Any +from pcse.util import AfgenTrait + +DTYPE = torch.float64 # Default data type for tensors in this module + + +class WOFOST_Root_Dynamics(SimulationObject): + """Root biomass dynamics and rooting depth. + + Root growth and root biomass dynamics in WOFOST are separate processes, + with the only exception that root growth stops when no more biomass is sent + to the root system. + + Root biomass increase results from the assimilates partitioned to + the root system. Root death is defined as the current root biomass + multiplied by a relative death rate (`RDRRTB`). The latter as a function + of the development stage (`DVS`). + + Increase in root depth is a simple linear expansion over time until the + maximum rooting depth (`RDM`) is reached. + + **Simulation parameters** + + ======= ============================================= ======= ============ + Name Description Type Unit + ======= ============================================= ======= ============ + RDI Initial rooting depth SCr cm + RRI Daily increase in rooting depth SCr |cm day-1| + RDMCR Maximum rooting depth of the crop SCR cm + RDMSOL Maximum rooting depth of the soil SSo cm + TDWI Initial total crop dry weight SCr |kg ha-1| + IAIRDU Presence of air ducts in the root (1) or SCr - + not (0) + RDRRTB Relative death rate of roots as a function TCr - + of development stage + ======= ============================================= ======= ============ + + + **State variables** + + ======= ================================================= ==== ============ + Name Description Pbl Unit + ======= ================================================= ==== ============ + RD Current rooting depth Y cm + RDM Maximum attainable rooting depth at the minimum N cm + of the soil and crop maximum rooting depth + WRT Weight of living roots Y |kg ha-1| + DWRT Weight of dead roots N |kg ha-1| + TWRT Total weight of roots Y |kg ha-1| + ======= ================================================= ==== ============ + + **Rate variables** + + ======= ================================================= ==== ============ + Name Description Pbl Unit + ======= ================================================= ==== ============ + RR Growth rate root depth N cm + GRRT Growth rate root biomass N |kg ha-1 d-1| + DRRT Death rate root biomass N |kg ha-1 d-1| + GWRT Net change in root biomass N |kg ha-1 d-1| + ======= ================================================= ==== ============ + + **Signals send or handled** + + None + + **External dependencies:** + + ======= =================================== ================= ============ + Name Description Provided by Unit + ======= =================================== ================= ============ + DVS Crop development stage DVS_Phenology - + DMI Total dry matter CropSimulation |kg ha-1 d-1| + increase + FR Fraction biomass to roots DVS_Partitioning - + ======= =================================== ================= ============ + + **Outputs:** + - RD, TWRT + + """ + + """ + IMPORTANT NOTICE + Currently root development is linear and depends only on the fraction of assimilates + send to the roots (FR) and not on the amount of assimilates itself. This means that + roots also grow through the winter when there is no assimilation due to low + temperatures. There has been a discussion to change this behaviour and make root growth + dependent on the assimilates send to the roots: so root growth stops when there are + no assimilates available for growth. + + Finally, we decided not to change the root model and keep the original WOFOST approach + because of the following reasons: + - A dry top layer in the soil could create a large drought stress that reduces the + assimilates to zero. In this situation the roots would not grow if dependent on the + assimilates, while water is available in the zone just below the root zone. Therefore + a dependency on the amount of assimilates could create model instability in dry + conditions (e.g. Southern-Mediterranean, etc.). + - Other solutions to alleviate the problem above were explored: only put this limitation + after a certain development stage, putting a dependency on soil moisture levels in the + unrooted soil compartment. All these solutions were found to introduce arbitrary + parameters that have no clear explanation. Therefore all proposed solutions were discarded. + + We conclude that our current knowledge on root development is insufficient to propose a + better and more biophysical approach to root development in WOFOST. + """ + + class Parameters(ParamTemplate): + RDI = Any(default_value=[torch.tensor(-99.0, dtype=DTYPE)]) + RRI = Any(default_value=[torch.tensor(-99.0, dtype=DTYPE)]) + RDMCR = Any(default_value=[torch.tensor(-99.0, dtype=DTYPE)]) + RDMSOL = Any(default_value=[torch.tensor(-99.0, dtype=DTYPE)]) + TDWI = Any(default_value=[torch.tensor(-99.0, dtype=DTYPE)]) + IAIRDU = Any(default_value=[torch.tensor(-99.0, dtype=DTYPE)]) + RDRRTB = AfgenTrait() # FIXEME + + class RateVariables(RatesTemplate): + RR = Any(default_value=torch.tensor(0.0, dtype=DTYPE)) + GRRT = Any(default_value=torch.tensor(0.0, dtype=DTYPE)) + DRRT = Any(default_value=torch.tensor(0.0, dtype=DTYPE)) + GWRT = Any(default_value=torch.tensor(0.0, dtype=DTYPE)) + + class StateVariables(StatesTemplate): + RD = Any(default_value=[torch.tensor(-99.0, dtype=DTYPE)]) + RDM = Any(default_value=[torch.tensor(-99.0, dtype=DTYPE)]) + WRT = Any(default_value=[torch.tensor(-99.0, dtype=DTYPE)]) + DWRT = Any(default_value=[torch.tensor(-99.0, dtype=DTYPE)]) + TWRT = Any(default_value=[torch.tensor(-99.0, dtype=DTYPE)]) + + def initialize(self, day, kiosk, parvalues): + """Initialize the model. + + :param day: start date of the simulation + :param kiosk: variable kiosk of this PCSE instance + :param parvalues: `ParameterProvider` object providing parameters as + key/value pairs + """ + self.params = self.Parameters(parvalues) + self.rates = self.RateVariables(kiosk, publish=["DRRT", "GRRT"]) + self.kiosk = kiosk + + # INITIAL STATES + params = self.params + + # Initial root depth states + rdmax = torch.max(params.RDI, torch.min(params.RDMCR, params.RDMSOL)) + RDM = rdmax + RD = params.RDI + + # initial root biomass states + WRT = params.TDWI * self.kiosk.FR + DWRT = torch.tensor(0.0, dtype=DTYPE) + TWRT = WRT + DWRT + + self.states = self.StateVariables( + kiosk, publish=["RD", "WRT", "TWRT"], RD=RD, RDM=RDM, WRT=WRT, DWRT=DWRT, TWRT=TWRT + ) + + @prepare_rates + def calc_rates(self, day, drv): + """Calculate the rates of change of the state variables.""" + p = self.params + r = self.rates + s = self.states + k = self.kiosk + + # If DVS < 0, the crop has not yet emerged, so we zerofy the rates using mask + # Make a mask (0 if DVS < 0, 1 if DVS >= 0) + DVS = torch.as_tensor(k["DVS"], dtype=DTYPE) + mask = (DVS >= 0).to(dtype=DTYPE) + + # Increase in root biomass + r.GRRT = mask * k.FR * k.DMI + r.DRRT = mask * s.WRT * p.RDRRTB(k.DVS) + r.GWRT = r.GRRT - r.DRRT + + # Increase in root depth + r.RR = mask * torch.min((s.RDM - s.RD), p.RRI) + + # Do not let the roots growth if partioning to the roots + # (variable FR) is zero. + FR = torch.as_tensor(k["FR"], dtype=DTYPE) + mask = (FR > 0.0).to(dtype=DTYPE) + r.RR = r.RR * mask + + @prepare_states + def integrate(self, day, delt=1.0): + """Integrate the state variables using the rates of change.""" + rates = self.rates + states = self.states + + # Dry weight of living roots + states.WRT = states.WRT + rates.GWRT + + # Dry weight of dead roots + states.DWRT = states.DWRT + rates.DRRT + + # Total weight dry + living roots + states.TWRT = states.WRT + states.DWRT + + # New root depth + states.RD = states.RD + rates.RR + + @prepare_states + def _set_variable_WRT(self, nWRT): # FIXEME + """Updates the value of WRT to to the new value provided as input. + + Related state variables will be updated as well and the increments + to all adjusted state variables will be returned as a dict. + """ + states = self.states + + # Store old values of states + oWRT = states.WRT + oTWRT = states.TWRT + + # Apply new root weight and adjust total (dead + live) root weight + states.WRT = nWRT + states.TWRT = states.WRT + states.DWRT + + increments = {"WRT": states.WRT - oWRT, "TWLRT": states.TWRT - oTWRT} + return increments diff --git a/tests/physical_models/crop/test_leaf_dynamics.py b/tests/physical_models/crop/test_leaf_dynamics.py index 0b167bc..3c1a600 100644 --- a/tests/physical_models/crop/test_leaf_dynamics.py +++ b/tests/physical_models/crop/test_leaf_dynamics.py @@ -3,54 +3,22 @@ import pytest import torch import torch.testing -import yaml from numpy.testing import assert_almost_equal -from pcse.base.parameter_providers import ParameterProvider from pcse.engine import Engine from pcse.models import Wofost72_PP from diffwofost.physical_models.crop.leaf_dynamics import WOFOST_Leaf_Dynamics -from tests.physical_models.pcse_test_code import EngineTestHelper -from tests.physical_models.pcse_test_code import WeatherDataProviderTestHelper +from tests.physical_models.utils import EngineTestHelper +from tests.physical_models.utils import calculate_numerical_grad +from tests.physical_models.utils import get_test_data +from tests.physical_models.utils import prepare_engine_input from .. import phy_data_folder -def prepare_engine_input(file_path): - inputs = yaml.safe_load(open(file_path)) - agro_management_inputs = inputs["AgroManagement"] - cropd = inputs["ModelParameters"] - - weather_data_provider = WeatherDataProviderTestHelper(inputs["WeatherVariables"]) - crop_model_params_provider = ParameterProvider(cropdata=cropd) - external_states = inputs["ExternalStates"] - - # convert parameters to tensors - crop_model_params_provider.clear_override() - for name in ["SPAN", "TDWI", "TBASE", "PERDL", "RGRLAI"]: - value = torch.tensor(crop_model_params_provider[name], dtype=torch.float32) - crop_model_params_provider.set_override(name, value, check=False) - - # convert external states to tensors - tensor_external_states = [ - {k: v if k == "DAY" else torch.tensor(v, dtype=torch.float32) for k, v in item.items()} - for item in external_states - ] - return ( - crop_model_params_provider, - weather_data_provider, - agro_management_inputs, - tensor_external_states, - ) - - -def get_test_data(file_path): - inputs = yaml.safe_load(open(file_path)) - return inputs["ModelResults"], inputs["Precision"] - - def get_test_diff_leaf_model(): test_data_path = phy_data_folder / "test_leafdynamics_wofost72_01.yaml" + crop_model_params = ["SPAN", "TDWI", "TBASE", "PERDL", "RGRLAI"] (crop_model_params_provider, weather_data_provider, agro_management_inputs, external_states) = ( - prepare_engine_input(test_data_path) + prepare_engine_input(test_data_path, crop_model_params) ) config_path = str(phy_data_folder / "WOFOST_Leaf_Dynamics.conf") return DiffLeafDynamics( @@ -98,40 +66,19 @@ def forward(self, params_dict): ).unsqueeze(0) # shape: [1, time_steps, 2] -def calculate_numerical_grad(param_name, param_value, output_name): - delta = 1e-6 - p_plus = param_value.item() + delta - p_minus = param_value.item() - delta - - model = get_test_diff_leaf_model() - output = model({param_name: torch.nn.Parameter(torch.tensor(p_plus, dtype=torch.float64))}) - if output_name == "LAI": - loss_plus = output[0, :, 0].sum() - elif output_name == "TWLV": - loss_plus = output[0, :, 1].sum() - - model = get_test_diff_leaf_model() - output = model({param_name: torch.nn.Parameter(torch.tensor(p_minus, dtype=torch.float64))}) - if output_name == "LAI": - loss_minus = output[0, :, 0].sum() - elif output_name == "TWLV": - loss_minus = output[0, :, 1].sum() - - return (loss_plus.item() - loss_minus.item()) / (2 * delta) - - class TestLeafDynamics: def test_leaf_dynamics_with_testengine(self): """EngineTestHelper and not Engine because it allows to specify `external_states`.""" # prepare model input test_data_path = phy_data_folder / "test_leafdynamics_wofost72_01.yaml" + crop_model_params = ["SPAN", "TDWI", "TBASE", "PERDL", "RGRLAI"] ( crop_model_params_provider, weather_data_provider, agro_management_inputs, external_states, - ) = prepare_engine_input(test_data_path) + ) = prepare_engine_input(test_data_path, crop_model_params) config_path = str(phy_data_folder / "WOFOST_Leaf_Dynamics.conf") engine = EngineTestHelper( @@ -159,8 +106,9 @@ def test_leaf_dynamics_with_testengine(self): def test_leaf_dynamics_with_engine(self): # prepare model input test_data_path = phy_data_folder / "test_leafdynamics_wofost72_01.yaml" + crop_model_params = ["SPAN", "TDWI", "TBASE", "PERDL", "RGRLAI"] (crop_model_params_provider, weather_data_provider, agro_management_inputs, _) = ( - prepare_engine_input(test_data_path) + prepare_engine_input(test_data_path, crop_model_params) ) config_path = str(phy_data_folder / "WOFOST_Leaf_Dynamics.conf") @@ -177,14 +125,15 @@ def test_leaf_dynamics_with_engine(self): def test_wofost_pp_with_leaf_dynamics(self): # prepare model input test_data_path = phy_data_folder / "test_potentialproduction_wofost72_01.yaml" + crop_model_params = ["SPAN", "TDWI", "TBASE", "PERDL", "RGRLAI"] (crop_model_params_provider, weather_data_provider, agro_management_inputs, _) = ( - prepare_engine_input(test_data_path) + prepare_engine_input(test_data_path, crop_model_params) ) # get expected results from YAML test data expected_results, expected_precision = get_test_data(test_data_path) - with patch("pcse.crop.leaf_dynamics.WOFOST_Leaf_Dynamics", WOFOST_Leaf_Dynamics): + with patch("pcse.crop.wofost72.Leaf_Dynamics", WOFOST_Leaf_Dynamics): model = Wofost72_PP( crop_model_params_provider, weather_data_provider, agro_management_inputs ) @@ -225,11 +174,14 @@ def test_gradients_tdwi_lai_leaf_dynamics(self): def test_gradients_tdwi_lai_leaf_dynamics_numerical(self): # first check if the numerical gradient isnot zero i.e. the parameter has an effect tdwi = torch.nn.Parameter(torch.tensor(0.2, dtype=torch.float64)) - numerical_grad = calculate_numerical_grad("TDWI", tdwi, "LAI") # this is Δloss/Δtdwi + output_index = 0 # LAI is at index 0 + numerical_grad = calculate_numerical_grad( + get_test_diff_leaf_model, "TDWI", tdwi, output_index + ) # this is Δloss/Δtdwi model = get_test_diff_leaf_model() output = model({"TDWI": tdwi}) - lai = output[0, :, 0] + lai = output[0, :, output_index] loss = lai.sum() # this is ∂loss/∂tdwi, for comparison with numerical gradient grads = torch.autograd.grad(loss, tdwi, retain_graph=True)[0] @@ -260,11 +212,14 @@ def test_gradients_tdwi_twlv_leaf_dynamics(self): def test_gradients_tdwi_twlv_leaf_dynamics_numerical(self): # first check if the numerical gradient isnot zero i.e. the parameter has an effect tdwi = torch.nn.Parameter(torch.tensor(0.2, dtype=torch.float64)) - numerical_grad = calculate_numerical_grad("TDWI", tdwi, "TWLV") # this is Δloss/Δtdwi + output_index = 1 # TWLV is at index 1 + numerical_grad = calculate_numerical_grad( + get_test_diff_leaf_model, "TDWI", tdwi, output_index + ) # this is Δloss/Δtdwi model = get_test_diff_leaf_model() output = model({"TDWI": tdwi}) - twlv = output[0, :, 1] + twlv = output[0, :, output_index] loss = twlv.sum() # this is ∂loss/∂tdwi, for comparison with numerical gradient grads = torch.autograd.grad(loss, tdwi, retain_graph=True)[0] @@ -297,11 +252,14 @@ def test_gradients_span_lai_leaf_dynamics(self): def test_gradients_span_lai_leaf_dynamics_numerical(self): # first check if the numerical gradient isnot zero i.e. the parameter has an effect span = torch.nn.Parameter(torch.tensor(30, dtype=torch.float64)) - numerical_grad = calculate_numerical_grad("SPAN", span, "LAI") # this is Δloss/Δspan + output_index = 0 # LAI is at index 0 + numerical_grad = calculate_numerical_grad( + get_test_diff_leaf_model, "SPAN", span, output_index + ) # this is Δloss/Δspan model = get_test_diff_leaf_model() output = model({"SPAN": span}) - lai = output[0, :, 0] + lai = output[0, :, output_index] loss = lai.sum() # this is ∂loss/∂tdwi, for comparison with numerical gradient grads = torch.autograd.grad(loss, span, retain_graph=True)[0] @@ -332,11 +290,14 @@ def test_gradients_span_twlv_leaf_dynamics(self): def test_gradients_span_twlv_leaf_dynamics_numerical(self): # first check if the numerical gradient isnot zero i.e. the parameter has an effect span = torch.nn.Parameter(torch.tensor(30, dtype=torch.float64)) - numerical_grad = calculate_numerical_grad("SPAN", span, "TWLV") # this is Δloss/Δspan + output_index = 1 # TWLV is at index 1 + numerical_grad = calculate_numerical_grad( + get_test_diff_leaf_model, "SPAN", span, output_index + ) # this is Δloss/Δspan model = get_test_diff_leaf_model() output = model({"SPAN": span}) - twlv = output[0, :, 1] + twlv = output[0, :, output_index] loss = twlv.sum() # this is ∂loss/∂tdwi, for comparison with numerical gradient grads = torch.autograd.grad(loss, span, retain_graph=True)[0] diff --git a/tests/physical_models/crop/test_root_dynamics.py b/tests/physical_models/crop/test_root_dynamics.py new file mode 100644 index 0000000..363a354 --- /dev/null +++ b/tests/physical_models/crop/test_root_dynamics.py @@ -0,0 +1,232 @@ +import copy +from unittest.mock import patch +import pytest +import torch +from numpy.testing import assert_almost_equal +from pcse.engine import Engine +from pcse.models import Wofost72_PP +from diffwofost.physical_models.crop.root_dynamics import WOFOST_Root_Dynamics +from tests.physical_models.utils import EngineTestHelper +from tests.physical_models.utils import calculate_numerical_grad +from tests.physical_models.utils import get_test_data +from tests.physical_models.utils import prepare_engine_input +from .. import phy_data_folder + + +def get_test_diff_root_model(): + test_data_path = phy_data_folder / "test_rootdynamics_wofost72_01.yaml" + crop_model_params = ["RDI", "RRI", "RDMCR", "RDMSOL", "TDWI", "IAIRDU"] + (crop_model_params_provider, weather_data_provider, agro_management_inputs, external_states) = ( + prepare_engine_input(test_data_path, crop_model_params) + ) + config_path = str(phy_data_folder / "WOFOST_Root_Dynamics.conf") + return DiffRootDynamics( + copy.deepcopy(crop_model_params_provider), + weather_data_provider, + agro_management_inputs, + config_path, + copy.deepcopy(external_states), + ) + + +class DiffRootDynamics(torch.nn.Module): + def __init__( + self, + crop_model_params_provider, + weather_data_provider, + agro_management_inputs, + config_path, + external_states, + ): + super().__init__() + self.crop_model_params_provider = crop_model_params_provider + self.weather_data_provider = weather_data_provider + self.agro_management_inputs = agro_management_inputs + self.config_path = config_path + self.external_states = external_states + + def forward(self, params_dict): + # pass new value of parameters to the model + for name, value in params_dict.items(): + self.crop_model_params_provider.set_override(name, value, check=False) + + engine = EngineTestHelper( + self.crop_model_params_provider, + self.weather_data_provider, + self.agro_management_inputs, + self.config_path, + self.external_states, + ) + engine.run_till_terminate() + results = engine.get_output() + + return torch.stack([torch.stack([item["RD"], item["TWRT"]]) for item in results]).unsqueeze( + 0 + ) # shape: [1, time_steps, 2] + + +class TestRootDynamics: + def test_root_dynamics_with_testengine(self): + """EngineTestHelper and not Engine because it allows to specify `external_states`.""" + + # prepare model input + test_data_path = phy_data_folder / "test_rootdynamics_wofost72_01.yaml" + crop_model_params = ["RDI", "RRI", "RDMCR", "RDMSOL", "TDWI", "IAIRDU"] + ( + crop_model_params_provider, + weather_data_provider, + agro_management_inputs, + external_states, + ) = prepare_engine_input(test_data_path, crop_model_params) + config_path = str(phy_data_folder / "WOFOST_Root_Dynamics.conf") + + engine = EngineTestHelper( + crop_model_params_provider, + weather_data_provider, + agro_management_inputs, + config_path, + external_states, + ) + engine.run_till_terminate() + actual_results = engine.get_output() + + # get expected results from YAML test data + expected_results, expected_precision = get_test_data(test_data_path) + + assert len(actual_results) == len(expected_results) + + for reference, model in zip(expected_results, actual_results, strict=False): + assert reference["DAY"] == model["day"] + assert all( + abs(reference[var] - model[var]) < precision + for var, precision in expected_precision.items() + ) + + def test_root_dynamics_with_engine(self): + # prepare model input + test_data_path = phy_data_folder / "test_rootdynamics_wofost72_01.yaml" + crop_model_params = ["RDI", "RRI", "RDMCR", "RDMSOL", "TDWI", "IAIRDU"] + (crop_model_params_provider, weather_data_provider, agro_management_inputs, _) = ( + prepare_engine_input(test_data_path, crop_model_params) + ) + + config_path = str(phy_data_folder / "WOFOST_Root_Dynamics.conf") + + # Engine does not allows to specify `external_states` + with pytest.raises(KeyError): + Engine( + crop_model_params_provider, + weather_data_provider, + agro_management_inputs, + config_path, + ) + + def test_wofost_pp_with_root_dynamics(self): + # prepare model input + test_data_path = phy_data_folder / "test_potentialproduction_wofost72_01.yaml" + crop_model_params = ["RDI", "RRI", "RDMCR", "RDMSOL", "TDWI", "IAIRDU"] + (crop_model_params_provider, weather_data_provider, agro_management_inputs, _) = ( + prepare_engine_input(test_data_path, crop_model_params) + ) + + # get expected results from YAML test data + expected_results, expected_precision = get_test_data(test_data_path) + + with patch("pcse.crop.wofost72.Root_Dynamics", WOFOST_Root_Dynamics): + model = Wofost72_PP( + crop_model_params_provider, weather_data_provider, agro_management_inputs + ) + model.run_till_terminate() + actual_results = model.get_output() + + assert len(actual_results) == len(expected_results) + + for reference, model in zip(expected_results, actual_results, strict=False): + assert reference["DAY"] == model["day"] + assert all( + abs(reference[var] - model[var]) < precision + for var, precision in expected_precision.items() + ) + + +class TestDiffRootDynamicsTDWI: + def test_gradients_tdwi_rd_root_dynamics(self): + model = get_test_diff_root_model() + tdwi = torch.nn.Parameter(torch.tensor(0.2, dtype=torch.float32)) + output = model({"TDWI": tdwi}) + rd = output[0, :, 0] + loss = rd.sum() + + # this is ∂loss/∂tdwi without calling loss.backward(). + # this is called forward gradient here because it is calculated without backpropagation. + grads = torch.autograd.grad(loss, tdwi, retain_graph=True)[0] + + assert grads is not None, "Gradients for TDWI should not be None" + + tdwi.grad = None # clear any existing gradient + loss.backward() + + # this is ∂loss/∂tdwi calculated using backpropagation + grad_backward = tdwi.grad + + assert grad_backward is not None, "Backward gradients for TDWI should not be None" + assert grad_backward == grads, "Forward and backward gradients for TDWI should match" + + def test_gradients_tdwi_rd_root_dynamics_numerical(self): + tdwi = torch.nn.Parameter(torch.tensor(0.2, dtype=torch.float64)) + output_index = 0 # Index 0 is "RD" + numerical_grad = calculate_numerical_grad( + get_test_diff_root_model, "TDWI", tdwi, output_index + ) + + model = get_test_diff_root_model() + output = model({"TDWI": tdwi}) + rd = output[0, :, output_index] # Index 0 is "RD" + loss = rd.sum() + + # this is ∂loss/∂tdwi, for comparison with numerical gradient + grads = torch.autograd.grad(loss, tdwi, retain_graph=True)[0] + + # in this test, grads is very small + assert_almost_equal(numerical_grad, grads.item(), decimal=3) + + def test_gradients_tdwi_twrt_root_dynamics(self): + # prepare model input + model = get_test_diff_root_model() + tdwi = torch.nn.Parameter(torch.tensor(0.2, dtype=torch.float32)) + output = model({"TDWI": tdwi}) + twlv = output[0, :, 1] # Index 1 is "TWRT" + loss = twlv.sum() + + # this is ∂loss/∂tdwi + # this is called forward gradient here because it is calculated without backpropagation. + grads = torch.autograd.grad(loss, tdwi, retain_graph=True)[0] + + assert grads is not None, "Gradients for TDWI should not be None" + + tdwi.grad = None # clear any existing gradient + loss.backward() + + # this is ∂loss/∂tdwi calculated using backpropagation + grad_backward = tdwi.grad + + assert grad_backward is not None, "Backward gradients for TDWI should not be None" + assert grad_backward == grads, "Forward and backward gradients for TDWI should match" + + def test_gradients_tdwi_twrt_root_dynamics_numerical(self): + tdwi = torch.nn.Parameter(torch.tensor(0.2, dtype=torch.float64)) + output_index = 1 # Index 1 is "TWRT" + numerical_grad = calculate_numerical_grad( + get_test_diff_root_model, "TDWI", tdwi, output_index + ) + + model = get_test_diff_root_model() + output = model({"TDWI": tdwi}) + twrt = output[0, :, output_index] + loss = twrt.sum() + + # this is ∂loss/∂tdwi, for comparison with numerical gradient + grads = torch.autograd.grad(loss, tdwi, retain_graph=True)[0] + + # in this test, grads is very small + assert_almost_equal(numerical_grad, grads.item(), decimal=3) diff --git a/tests/physical_models/test_data/WOFOST_Root_Dynamics.conf b/tests/physical_models/test_data/WOFOST_Root_Dynamics.conf new file mode 100644 index 0000000..fc19795 --- /dev/null +++ b/tests/physical_models/test_data/WOFOST_Root_Dynamics.conf @@ -0,0 +1,32 @@ + +from diffwofost.physical_models.crop.root_dynamics import WOFOST_Root_Dynamics +from pcse.agromanager import AgroManager + +# Module to be used for water balance +SOIL = None + +# Module to be used for the crop simulation itself +CROP = WOFOST_Root_Dynamics + +# Module to use for AgroManagement actions +AGROMANAGEMENT = AgroManager + +# variables to save at OUTPUT signals +# Set to an empty list if you do not want any OUTPUT +OUTPUT_VARS = ["RD", "TWRT"] +# interval for OUTPUT signals, either "daily"|"dekadal"|"monthly"|"weekly" +# For daily output you change the number of days between successive +# outputs using OUTPUT_INTERVAL_DAYS. For dekadal and monthly +# output this is ignored. +OUTPUT_INTERVAL = "daily" +OUTPUT_INTERVAL_DAYS = 1 +# Weekday: Monday is 0 and Sunday is 6 +OUTPUT_WEEKDAY = 0 + +# Summary variables to save at CROP_FINISH signals +# Set to an empty list if you do not want any SUMMARY_OUTPUT +SUMMARY_OUTPUT_VARS = [] + +# Summary variables to save at TERMINATE signals +# Set to an empty list if you do not want any TERMINAL_OUTPUT +TERMINAL_OUTPUT_VARS = [] diff --git a/tests/physical_models/test_data/test_rootdynamics_wofost72_01.yaml b/tests/physical_models/test_data/test_rootdynamics_wofost72_01.yaml new file mode 100644 index 0000000..b0fc306 --- /dev/null +++ b/tests/physical_models/test_data/test_rootdynamics_wofost72_01.yaml @@ -0,0 +1,1333 @@ +# Test file for testing the simulation of root dynamics in WOFOST 7.1 +# encoding: UTF-8 +# +# All parameter and variable names and their respective units refer to the +# WOFOST manual available from http://wageningenur.nl/wofost +# +# Test file generated with PCSE 5.3.3: https://doi.org/10.5281/zenodo.1252479 +# +# crop: Sugar beets +# latitude: 49.43613 +# longitude: 12.98528 +# +# Wageningen-UR 2018, allard.dewit@wur.nl +AgroManagement: +- 2010-04-16: + CropCalendar: {crop_end_date: 2010-12-31, crop_end_type: harvest, crop_name: Sugar + beets, crop_start_date: 2010-04-16, crop_start_type: sowing, max_duration: 260, + variety_name: Sugar beets_95118_2010} + StateEvents: null + TimedEvents: null +ExternalStates: +- {DAY: 2010-04-16, DMI: 0.0, DVS: -0.1, FR: 0.2} +- {DAY: 2010-04-17, DMI: 0.0, DVS: -0.09294444444444445, FR: 0.2} +- {DAY: 2010-04-18, DMI: 0.0, DVS: -0.08805555555555557, FR: 0.2} +- {DAY: 2010-04-19, DMI: 0.0, DVS: -0.08200000000000002, FR: 0.2} +- {DAY: 2010-04-20, DMI: 0.0, DVS: -0.07333333333333335, FR: 0.2} +- {DAY: 2010-04-21, DMI: 0.0, DVS: -0.06500000000000002, FR: 0.2} +- {DAY: 2010-04-22, DMI: 0.0, DVS: -0.05994444444444446, FR: 0.2} +- {DAY: 2010-04-23, DMI: 0.0, DVS: -0.057777777777777796, FR: 0.2} +- {DAY: 2010-04-24, DMI: 0.0, DVS: -0.05333333333333335, FR: 0.2} +- {DAY: 2010-04-25, DMI: 0.0, DVS: -0.04600000000000001, FR: 0.2} +- {DAY: 2010-04-26, DMI: 0.0, DVS: -0.03472222222222224, FR: 0.2} +- {DAY: 2010-04-27, DMI: 0.0, DVS: -0.025000000000000015, FR: 0.2} +- {DAY: 2010-04-28, DMI: 0.0, DVS: -0.016722222222222236, FR: 0.2} +- {DAY: 2010-04-29, DMI: 0.0, DVS: -0.007555555555555569, FR: 0.2} +- {DAY: 2010-04-30, DMI: 0.07918267520466496, DVS: 0.0, FR: 0.2} +- {DAY: 2010-05-01, DMI: 0.08726971722826227, DVS: 0.030023923444976078, FR: 0.20296939902203062} +- {DAY: 2010-05-02, DMI: 0.07599939501067457, DVS: 0.05741626794258373, FR: 0.20567853199432148} +- {DAY: 2010-05-03, DMI: 0.08716102723451649, DVS: 0.07882775119617225, FR: 0.20779615121720385} +- {DAY: 2010-05-04, DMI: 0.07451170148310429, DVS: 0.09868421052631579, FR: 0.20975997686524003} +- {DAY: 2010-05-05, DMI: 0.08042887914367952, DVS: 0.11220095693779905, FR: 0.2110967979389032} +- {DAY: 2010-05-06, DMI: 0.10002439907374032, DVS: 0.12212918660287082, FR: 0.21207871076292129} +- {DAY: 2010-05-07, DMI: 0.1252828824678163, DVS: 0.13732057416267943, FR: 0.21358115568641886} +- {DAY: 2010-05-08, DMI: 0.19668384398863892, DVS: 0.14760765550239235, FR: 0.21459855933540145} +- {DAY: 2010-05-09, DMI: 0.23515372471768342, DVS: 0.16363636363636364, FR: 0.21618381618381619} +- {DAY: 2010-05-10, DMI: 0.17903474589877846, DVS: 0.1812200956937799, FR: 0.21792286660707713} +- {DAY: 2010-05-11, DMI: 0.32368494050076585, DVS: 0.20107655502392344, FR: 0.21988669225511331} +- {DAY: 2010-05-12, DMI: 0.3354280756055375, DVS: 0.22799043062200958, FR: 0.2225485041274515} +- {DAY: 2010-05-13, DMI: 0.27157061517848186, DVS: 0.2508373205741627, FR: 0.22480808665019192} +- {DAY: 2010-05-14, DMI: 0.23376654027781746, DVS: 0.2674641148325359, FR: 0.22645249487354752} +- {DAY: 2010-05-15, DMI: 0.2746279226299125, DVS: 0.27763157894736845, FR: 0.22745806824754194} +- {DAY: 2010-05-16, DMI: 0.41812346760179614, DVS: 0.28791866028708135, FR: 0.22847547189652453} +- {DAY: 2010-05-17, DMI: 0.6246506480705561, DVS: 0.3013157894736842, FR: 0.22980046269519955} +- {DAY: 2010-05-18, DMI: 0.48201989533687994, DVS: 0.31830143540669853, FR: 0.23148036174351963} +- {DAY: 2010-05-19, DMI: 0.27499431137388586, DVS: 0.33337320574162677, FR: 0.23297097639202902} +- {DAY: 2010-05-20, DMI: 0.4038593993767407, DVS: 0.3407894736842105, FR: 0.23370445344129553} +- {DAY: 2010-05-21, DMI: 0.7291386908288087, DVS: 0.35633971291866023, FR: 0.2352423891897576} +- {DAY: 2010-05-22, DMI: 1.1192858105557582, DVS: 0.3809808612440191, FR: 0.23767942583732057} +- {DAY: 2010-05-23, DMI: 1.458157879673842, DVS: 0.40765550239234444, FR: 0.2403175771596824} +- {DAY: 2010-05-24, DMI: 1.7769681489209164, DVS: 0.43540669856459324, FR: 0.24306220095693779} +- {DAY: 2010-05-25, DMI: 2.0428275401894824, DVS: 0.46662679425837317, FR: 0.2461499027288501} +- {DAY: 2010-05-26, DMI: 1.5085366378707437, DVS: 0.49928229665071766, FR: 0.24937956780062043} +- {DAY: 2010-05-27, DMI: 2.0863507300881627, DVS: 0.5257177033492823, FR: 0.25199405857300594} +- {DAY: 2010-05-28, DMI: 2.7793970930557403, DVS: 0.5544258373205742, FR: 0.25483332457016666} +- {DAY: 2010-05-29, DMI: 3.7458730467863006, DVS: 0.5836124401913876, FR: 0.2577199116672801} +- {DAY: 2010-05-30, DMI: 3.030275972615202, DVS: 0.6105263157894737, FR: 0.26038172353961825} +- {DAY: 2010-05-31, DMI: 3.6134582999974127, DVS: 0.6368421052631579, FR: 0.26298438403701563} +- {DAY: 2010-06-01, DMI: 2.0663367568789845, DVS: 0.6534688995215311, FR: 0.26462879226037117} +- {DAY: 2010-06-02, DMI: 2.269307313847779, DVS: 0.6690191387559808, FR: 0.26616672800883323} +- {DAY: 2010-06-03, DMI: 2.7165093907987297, DVS: 0.6867224880382775, FR: 0.26791760870708237} +- {DAY: 2010-06-04, DMI: 8.058855574556208, DVS: 0.7076555023923445, FR: 0.26998790683001206} +- {DAY: 2010-06-05, DMI: 9.88030385538193, DVS: 0.7355263157894737, FR: 0.2727443609022556} +- {DAY: 2010-06-06, DMI: 11.598154134649121, DVS: 0.766866028708134, FR: 0.2758438929491561} +- {DAY: 2010-06-07, DMI: 11.742525745623032, DVS: 0.8037081339712919, FR: 0.2794876176455124} +- {DAY: 2010-06-08, DMI: 15.325027972719834, DVS: 0.8422248803827752, FR: 0.283296966191703} +- {DAY: 2010-06-09, DMI: 17.883301041598045, DVS: 0.8801435406698566, FR: 0.28704716336295283} +- {DAY: 2010-06-10, DMI: 20.50716723911232, DVS: 0.9232057416267944, FR: 0.2914673046251994} +- {DAY: 2010-06-11, DMI: 25.832378327177924, DVS: 0.9662679425837322, FR: 0.29625199362041466} +- {DAY: 2010-06-12, DMI: 25.5702871132837, DVS: 1.0, FR: 0.3} +- {DAY: 2010-06-13, DMI: 23.80657585627682, DVS: 1.0110266159695818, FR: 0.2889733840304182} +- {DAY: 2010-06-14, DMI: 24.605472224831853, DVS: 1.0191381495564005, FR: 0.2808618504435995} +- {DAY: 2010-06-15, DMI: 27.934618397714924, DVS: 1.0269645120405577, FR: 0.27303548795944227} +- {DAY: 2010-06-16, DMI: 33.697833224949775, DVS: 1.0346958174904943, FR: 0.26530418250950566} +- {DAY: 2010-06-17, DMI: 44.23348494354046, DVS: 1.0418567807351078, FR: 0.25814321926489214} +- {DAY: 2010-06-18, DMI: 33.22286750613776, DVS: 1.049809885931559, FR: 0.25019011406844094} +- {DAY: 2010-06-19, DMI: 46.196262672520916, DVS: 1.0582699619771865, FR: 0.24173003802281345} +- {DAY: 2010-06-20, DMI: 35.52556761812795, DVS: 1.0640367553865655, FR: 0.23596324461343443} +- {DAY: 2010-06-21, DMI: 50.385393097138405, DVS: 1.0691064638783272, FR: 0.23089353612167274} +- {DAY: 2010-06-22, DMI: 63.617447285028796, DVS: 1.0750000000000002, FR: 0.22499999999999976} +- {DAY: 2010-06-23, DMI: 74.9942295727493, DVS: 1.0811153358681878, FR: 0.21888466413181218} +- {DAY: 2010-06-24, DMI: 81.1132270602226, DVS: 1.0874841571609635, FR: 0.21251584283903646} +- {DAY: 2010-06-25, DMI: 88.63206637198206, DVS: 1.0964195183776935, FR: 0.20358048162230646} +- {DAY: 2010-06-26, DMI: 101.33906393505809, DVS: 1.10532319391635, FR: 0.19467680608365} +- {DAY: 2010-06-27, DMI: 121.41671095960774, DVS: 1.1146704689480356, FR: 0.18532953105196434} +- {DAY: 2010-06-28, DMI: 134.2416633087712, DVS: 1.124746514575412, FR: 0.17525348542458782} +- {DAY: 2010-06-29, DMI: 139.8490589466692, DVS: 1.1349493029150826, FR: 0.16505069708491735} +- {DAY: 2010-06-30, DMI: 138.51257837352458, DVS: 1.1457224334600762, FR: 0.15427756653992372} +- {DAY: 2010-07-01, DMI: 159.93087664465835, DVS: 1.15712927756654, FR: 0.14694459532862567} +- {DAY: 2010-07-02, DMI: 171.40951546159334, DVS: 1.1683460076045629, FR: 0.14213742531233017} +- {DAY: 2010-07-03, DMI: 178.07616834641388, DVS: 1.1797528517110267, FR: 0.13724877783813136} +- {DAY: 2010-07-04, DMI: 171.18873906194537, DVS: 1.1911596958174906, FR: 0.13236013036393257} +- {DAY: 2010-07-05, DMI: 169.43676898916004, DVS: 1.2025665399239545, FR: 0.12747148288973378} +- {DAY: 2010-07-06, DMI: 180.85738714403087, DVS: 1.2139733840304183, FR: 0.12258283541553498} +- {DAY: 2010-07-07, DMI: 207.11844290032522, DVS: 1.223510773130545, FR: 0.11849538294405212} +- {DAY: 2010-07-08, DMI: 228.542985066502, DVS: 1.2311787072243345, FR: 0.1152091254752852} +- {DAY: 2010-07-09, DMI: 228.45888314777966, DVS: 1.2406844106463877, FR: 0.11113525258011955} +- {DAY: 2010-07-10, DMI: 228.04238262765804, DVS: 1.2520912547528515, FR: 0.10624660510592077} +- {DAY: 2010-07-11, DMI: 230.65877733062854, DVS: 1.2634980988593154, FR: 0.10135795763172198} +- {DAY: 2010-07-12, DMI: 232.7053329053697, DVS: 1.2749049429657793, FR: 0.09646931015752318} +- {DAY: 2010-07-13, DMI: 224.31429979939352, DVS: 1.2863117870722431, FR: 0.09158066268332438} +- {DAY: 2010-07-14, DMI: 239.8000654326714, DVS: 1.297718631178707, FR: 0.09} +- {DAY: 2010-07-15, DMI: 189.31571530459587, DVS: 1.3091254752851709, FR: 0.08966201943388256} +- {DAY: 2010-07-16, DMI: 238.6802102614641, DVS: 1.3205323193916347, FR: 0.08923954372623574} +- {DAY: 2010-07-17, DMI: 186.92251304665294, DVS: 1.3319391634980986, FR: 0.08881706801858893} +- {DAY: 2010-07-18, DMI: 205.73008518017616, DVS: 1.3433460076045625, FR: 0.08839459231094213} +- {DAY: 2010-07-19, DMI: 245.791431319311, DVS: 1.3523447401774396, FR: 0.08806130591935409} +- {DAY: 2010-07-20, DMI: 255.72671543444338, DVS: 1.3613434727503166, FR: 0.08772801952776604} +- {DAY: 2010-07-21, DMI: 243.6616681427436, DVS: 1.37148288973384, FR: 0.08735248556541333} +- {DAY: 2010-07-22, DMI: 233.24798413686509, DVS: 1.382889733840304, FR: 0.08693000985776653} +- {DAY: 2010-07-23, DMI: 116.52049309055121, DVS: 1.3942965779467678, FR: 0.08650753415011972} +- {DAY: 2010-07-24, DMI: 111.80944836940988, DVS: 1.4050697084917614, FR: 0.08610852931511995} +- {DAY: 2010-07-25, DMI: 240.9295512949976, DVS: 1.4132129277566536, FR: 0.08580692860160542} +- {DAY: 2010-07-26, DMI: 217.0262717612417, DVS: 1.4202154626108996, FR: 0.08554757545885557} +- {DAY: 2010-07-27, DMI: 219.24483972040034, DVS: 1.4277566539923952, FR: 0.08526827207435574} +- {DAY: 2010-07-28, DMI: 153.03427676802764, DVS: 1.4362167300380226, FR: 0.08495493592451768} +- {DAY: 2010-07-29, DMI: 160.97274508361494, DVS: 1.4450253485424587, FR: 0.08462869079472375} +- {DAY: 2010-07-30, DMI: 187.95565260808146, DVS: 1.4536121673003801, FR: 0.08431066047035629} +- {DAY: 2010-07-31, DMI: 260.9249312233565, DVS: 1.4618821292775663, FR: 0.08400436558231236} +- {DAY: 2010-08-01, DMI: 252.56287387216008, DVS: 1.4703422053231938, FR: 0.0836910294324743} +- {DAY: 2010-08-02, DMI: 170.13680006718482, DVS: 1.4803231939163497, FR: 0.08332136318828334} +- {DAY: 2010-08-03, DMI: 173.37109486776916, DVS: 1.4905576679340937, FR: 0.08294230859503357} +- {DAY: 2010-08-04, DMI: 246.21340535433285, DVS: 1.5001584283903675, FR: 0.08258672487443083} +- {DAY: 2010-08-05, DMI: 164.69684023252935, DVS: 1.508016476552598, FR: 0.08229568605360749} +- {DAY: 2010-08-06, DMI: 70.70451455460315, DVS: 1.5157477820025347, FR: 0.08200934140731353} +- {DAY: 2010-08-07, DMI: 97.16967218324102, DVS: 1.5236692015209123, FR: 0.08171595549922547} +- {DAY: 2010-08-08, DMI: 226.65481269751402, DVS: 1.531780735107731, FR: 0.0814155283293433} +- {DAY: 2010-08-09, DMI: 220.2851914363175, DVS: 1.5401774397972114, FR: 0.08110453926676994} +- {DAY: 2010-08-10, DMI: 223.66321432701545, DVS: 1.54946134347275, FR: 0.08076069098249075} +- {DAY: 2010-08-11, DMI: 210.38965026974282, DVS: 1.558333333333333, FR: 0.08043209876543211} +- {DAY: 2010-08-12, DMI: 183.90829667731444, DVS: 1.5679340937896067, FR: 0.08007651504482939} +- {DAY: 2010-08-13, DMI: 101.01347523047299, DVS: 1.5777883396704686, FR: 0.0784423320659063} +- {DAY: 2010-08-14, DMI: 174.27848018697188, DVS: 1.5872623574144484, FR: 0.07654752851711033} +- {DAY: 2010-08-15, DMI: 201.837839458963, DVS: 1.596546261089987, FR: 0.07469074778200262} +- {DAY: 2010-08-16, DMI: 187.87631636108574, DVS: 1.6078580481622304, FR: 0.07242839036755393} +- {DAY: 2010-08-17, DMI: 57.144229648358795, DVS: 1.6159695817490491, FR: 0.07080608365019019} +- {DAY: 2010-08-18, DMI: 75.47449630745594, DVS: 1.622782002534854, FR: 0.0694435994930292} +- {DAY: 2010-08-19, DMI: 214.49599357376033, DVS: 1.6301964512040557, FR: 0.06796070975918887} +- {DAY: 2010-08-20, DMI: 239.61664250168837, DVS: 1.6388466413181242, FR: 0.06623067173637517} +- {DAY: 2010-08-21, DMI: 228.45784127914993, DVS: 1.647401774397972, FR: 0.06451964512040559} +- {DAY: 2010-08-22, DMI: 218.57444943895214, DVS: 1.6576996197718632, FR: 0.062460076045627366} +- {DAY: 2010-08-23, DMI: 157.56717502455717, DVS: 1.669106463878327, FR: 0.06017870722433459} +- {DAY: 2010-08-24, DMI: 139.67843001806267, DVS: 1.6796261089987325, FR: 0.058074778200253495} +- {DAY: 2010-08-25, DMI: 220.47707536720424, DVS: 1.6903992395437262, FR: 0.05592015209125477} +- {DAY: 2010-08-26, DMI: 184.47875988999735, DVS: 1.697845373891001, FR: 0.05443092522179978} +- {DAY: 2010-08-27, DMI: 145.77119865554025, DVS: 1.707636248415716, FR: 0.05247275031685682} +- {DAY: 2010-08-28, DMI: 162.00116056864348, DVS: 1.717141951837769, FR: 0.05057160963244618} +- {DAY: 2010-08-29, DMI: 174.97256591239946, DVS: 1.7241128010139415, FR: 0.0491774397972117} +- {DAY: 2010-08-30, DMI: 135.50979523831683, DVS: 1.7297845373890999, FR: 0.048043092522180024} +- {DAY: 2010-08-31, DMI: 155.32482020154353, DVS: 1.7338403041825092, FR: 0.04723193916349815} +- {DAY: 2010-09-01, DMI: 137.8830163241428, DVS: 1.738973384030418, FR: 0.046205323193916396} +- {DAY: 2010-09-02, DMI: 139.85908377176526, DVS: 1.7434093789607095, FR: 0.04531812420785811} +- {DAY: 2010-09-03, DMI: 200.2216828327037, DVS: 1.7488910012674268, FR: 0.044221799746514634} +- {DAY: 2010-09-04, DMI: 148.50441233891394, DVS: 1.7548162230671733, FR: 0.04303675538656533} +- {DAY: 2010-09-05, DMI: 211.73127018106075, DVS: 1.761248415716096, FR: 0.041750316856780816} +- {DAY: 2010-09-06, DMI: 208.10113243944386, DVS: 1.7663814955640047, FR: 0.04072370088719906} +- {DAY: 2010-09-07, DMI: 181.86887104172663, DVS: 1.7712927756653989, FR: 0.03974144486692022} +- {DAY: 2010-09-08, DMI: 144.71197597830826, DVS: 1.7755703422053228, FR: 0.038885931558935424} +- {DAY: 2010-09-09, DMI: 85.9103819334138, DVS: 1.781780735107731, FR: 0.03764385297845378} +- {DAY: 2010-09-10, DMI: 157.75894080629766, DVS: 1.7885297845373889, FR: 0.03629404309252222} +- {DAY: 2010-09-11, DMI: 195.35359993246007, DVS: 1.7956273764258552, FR: 0.03487452471482894} +- {DAY: 2010-09-12, DMI: 190.42469287847678, DVS: 1.8026299112801012, FR: 0.033474017743979755} +- {DAY: 2010-09-13, DMI: 83.2452597111574, DVS: 1.8095690747782, FR: 0.03208618504435998} +- {DAY: 2010-09-14, DMI: 87.51683471638283, DVS: 1.8155259822560201, FR: 0.030894803548795965} +- {DAY: 2010-09-15, DMI: 50.891756433182515, DVS: 1.820722433460076, FR: 0.02985551330798479} +- {DAY: 2010-09-16, DMI: 145.53202601713195, DVS: 1.8274081115335867, FR: 0.028518377693282644} +- {DAY: 2010-09-17, DMI: 152.00689205078376, DVS: 1.8338403041825093, FR: 0.02723193916349813} +- {DAY: 2010-09-18, DMI: 165.95901622008535, DVS: 1.838593155893536, FR: 0.02628136882129279} +- {DAY: 2010-09-19, DMI: 164.93687349861023, DVS: 1.8419201520912547, FR: 0.025615969581749047} +- {DAY: 2010-09-20, DMI: 171.33432675770277, DVS: 1.8455640050697084, FR: 0.024887198986058304} +- {DAY: 2010-09-21, DMI: 171.56439186872714, DVS: 1.849873257287706, FR: 0.02402534854245881} +- {DAY: 2010-09-22, DMI: 165.44052536645825, DVS: 1.855830164765526, FR: 0.02283396704689479} +- {DAY: 2010-09-23, DMI: 162.36996607999322, DVS: 1.8624524714828898, FR: 0.02150950570342202} +- {DAY: 2010-09-24, DMI: 148.92828831269958, DVS: 1.869169835234474, FR: 0.020166032953105165} +- {DAY: 2010-09-25, DMI: 37.562186909332446, DVS: 1.8765209125475286, FR: 0.01869581749049426} +- {DAY: 2010-09-26, DMI: 71.76070344456296, DVS: 1.8823193916349812, FR: 0.017536121673003745} +- {DAY: 2010-09-27, DMI: 119.83066354950572, DVS: 1.886089987325729, FR: 0.016782002534854165} +- {DAY: 2010-09-28, DMI: 45.38394085732656, DVS: 1.889860583016477, FR: 0.016027883396704593} +- {DAY: 2010-09-29, DMI: 111.24582066792776, DVS: 1.8931875792141957, FR: 0.01536248415716085} +- {DAY: 2010-09-30, DMI: 102.57360858647225, DVS: 1.8975602027883403, FR: 0.01448795944233193} +- {DAY: 2010-10-01, DMI: 41.372646898356045, DVS: 1.9008555133079854, FR: 0.013828897338402896} +- {DAY: 2010-10-02, DMI: 80.91736117849351, DVS: 1.903738910012675, FR: 0.013252217997464996} +- {DAY: 2010-10-03, DMI: 120.10552952390906, DVS: 1.9084283903675545, FR: 0.012314321926489083} +- {DAY: 2010-10-04, DMI: 119.58127886909577, DVS: 1.9136565272496837, FR: 0.01126869455006324} +- {DAY: 2010-10-05, DMI: 83.29021681249708, DVS: 1.9184093789607104, FR: 0.010318124207857896} +- {DAY: 2010-10-06, DMI: 46.99996747465517, DVS: 1.9236692015209131, FR: 0.010458650190114152} +- {DAY: 2010-10-07, DMI: 33.33794821238907, DVS: 1.9287389100126748, FR: 0.011092363751584362} +- {DAY: 2010-10-08, DMI: 123.22416585344278, DVS: 1.9339353612167307, FR: 0.011741920152091346} +- {DAY: 2010-10-09, DMI: 120.97251477717472, DVS: 1.9394486692015216, FR: 0.012431083650190206} +- {DAY: 2010-10-10, DMI: 114.12156421384698, DVS: 1.9442648922686951, FR: 0.0130331115335869} +- {DAY: 2010-10-11, DMI: 114.27101612821554, DVS: 1.947972116603296, FR: 0.013496514575411999} +- {DAY: 2010-10-12, DMI: 109.57321942208434, DVS: 1.9517110266159703, FR: 0.013963878326996292} +- {DAY: 2010-10-13, DMI: 101.68273575543198, DVS: 1.9545310519645127, FR: 0.014316381495564095} +- {DAY: 2010-10-14, DMI: 96.70490679279165, DVS: 1.956970849176173, FR: 0.014621356147021633} +- {DAY: 2010-10-15, DMI: 19.833516519695102, DVS: 1.9585551330798485, FR: 0.014819391634981069} +- {DAY: 2010-10-16, DMI: 14.818846461309908, DVS: 1.9593155893536127, FR: 0.014914448669201594} +- {DAY: 2010-10-17, DMI: 20.277267971517908, DVS: 1.9616603295310526, FR: 0.015207541191381582} +- {DAY: 2010-10-18, DMI: 25.774029148179505, DVS: 1.9637515842839044, FR: 0.015468948035488053} +- {DAY: 2010-10-19, DMI: 23.62884205666545, DVS: 1.9649556400506978, FR: 0.015619455006337227} +- {DAY: 2010-10-20, DMI: 22.42823986696576, DVS: 1.9661913814955647, FR: 0.015773922686945593} +- {DAY: 2010-10-21, DMI: 33.199168318700075, DVS: 1.9677439797211667, FR: 0.015967997465145836} +- {DAY: 2010-10-22, DMI: 25.831124631818263, DVS: 1.9682192648922694, FR: 0.016027408111533678} +- {DAY: 2010-10-23, DMI: 22.152311964952556, DVS: 1.9682192648922694, FR: 0.016027408111533678} +- {DAY: 2010-10-24, DMI: 6.263521247460609, DVS: 1.9686628643852986, FR: 0.016082858048162327} +- {DAY: 2010-10-25, DMI: 3.6792725931398476, DVS: 1.970785804816224, FR: 0.01634822560202799} +- {DAY: 2010-10-26, DMI: 0.0, DVS: 1.9712927756654002, FR: 0.016411596958175026} +- {DAY: 2010-10-27, DMI: 0.0, DVS: 1.9712927756654002, FR: 0.016411596958175026} +- {DAY: 2010-10-28, DMI: 0.0, DVS: 1.9712927756654002, FR: 0.016411596958175026} +- {DAY: 2010-10-29, DMI: 0.0, DVS: 1.9728136882129288, FR: 0.016601711026616103} +- {DAY: 2010-10-30, DMI: 0.0, DVS: 1.9751267427122952, FR: 0.0168908428390369} +- {DAY: 2010-10-31, DMI: 0.0, DVS: 1.9769328263624852, FR: 0.01711660329531066} +- {DAY: 2010-11-01, DMI: 0.0, DVS: 1.9792458808618516, FR: 0.017405735107731454} +- {DAY: 2010-11-02, DMI: 0.0, DVS: 1.983555133079849, FR: 0.01794439163498114} +- {DAY: 2010-11-03, DMI: 19.981638149523437, DVS: 1.985107731305451, FR: 0.018138466413181384} +- {DAY: 2010-11-04, DMI: 10.42239831190848, DVS: 1.9885297845373902, FR: 0.018566223067173773} +- {DAY: 2010-11-05, DMI: 46.401100234993315, DVS: 1.9948035487959452, FR: 0.019350443599493155} +- {DAY: 2010-11-06, DMI: 5.958636116129116, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-07, DMI: 15.565850759510647, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-08, DMI: 15.35644728183427, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-09, DMI: 44.141119653731295, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-10, DMI: 14.924786629292004, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-11, DMI: 24.2269545627343, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-12, DMI: 38.25329265996589, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-13, DMI: 42.91869133316397, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-14, DMI: 68.45886959252344, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-15, DMI: 46.2545138561688, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-16, DMI: 3.8934257353592074, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-17, DMI: 6.277629532229549, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-18, DMI: 4.541383789475789, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-19, DMI: 4.880876338731813, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-20, DMI: 3.2692377525679994, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-21, DMI: 0.8535068016025563, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-22, DMI: 13.004138914618522, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-23, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-24, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-25, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-26, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-27, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-28, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-29, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-11-30, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-01, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-02, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-03, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-04, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-05, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-06, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-07, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-08, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-09, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-10, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-11, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-12, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-13, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-14, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-15, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-16, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-17, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-18, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-19, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-20, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-21, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-22, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-23, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-24, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-25, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-26, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-27, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-28, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-29, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-30, DMI: 0.0, DVS: 2.0, FR: 0.02} +- {DAY: 2010-12-31, DMI: 0.0, DVS: 2.0, FR: 0.02} +ModelParameters: + IAIRDU: 0.0 + RDI: 10.0 + RDMCR: 120.0 + RDMSOL: 120 + RDRRTB: [0.0, 0.0, 1.5, 0.0, 1.5001, 0.02, 2.0, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + RRI: 1.2 + TDWI: 0.51 +ModelResults: +- {DAY: 2010-04-16, RD: 10.0, TWRT: 0.10200000000000001} +- {DAY: 2010-04-17, RD: 10.0, TWRT: 0.10200000000000001} +- {DAY: 2010-04-18, RD: 10.0, TWRT: 0.10200000000000001} +- {DAY: 2010-04-19, RD: 10.0, TWRT: 0.10200000000000001} +- {DAY: 2010-04-20, RD: 10.0, TWRT: 0.10200000000000001} +- {DAY: 2010-04-21, RD: 10.0, TWRT: 0.10200000000000001} +- {DAY: 2010-04-22, RD: 10.0, TWRT: 0.10200000000000001} +- {DAY: 2010-04-23, RD: 10.0, TWRT: 0.10200000000000001} +- {DAY: 2010-04-24, RD: 10.0, TWRT: 0.10200000000000001} +- {DAY: 2010-04-25, RD: 10.0, TWRT: 0.10200000000000001} +- {DAY: 2010-04-26, RD: 10.0, TWRT: 0.10200000000000001} +- {DAY: 2010-04-27, RD: 10.0, TWRT: 0.10200000000000001} +- {DAY: 2010-04-28, RD: 10.0, TWRT: 0.10200000000000001} +- {DAY: 2010-04-29, RD: 10.0, TWRT: 0.10200000000000001} +- {DAY: 2010-04-30, RD: 10.0, TWRT: 0.10200000000000001} +- {DAY: 2010-05-01, RD: 11.2, TWRT: 0.117836535040933} +- {DAY: 2010-05-02, RD: 12.399999999999999, TWRT: 0.13554961709957594} +- {DAY: 2010-05-03, RD: 13.599999999999998, TWRT: 0.15118106109782806} +- {DAY: 2010-05-04, RD: 14.799999999999997, TWRT: 0.16929278709329848} +- {DAY: 2010-05-05, RD: 15.999999999999996, TWRT: 0.1849223598725841} +- {DAY: 2010-05-06, RD: 17.199999999999996, TWRT: 0.2019006387216299} +- {DAY: 2010-05-07, RD: 18.399999999999995, TWRT: 0.22311368432202466} +- {DAY: 2010-05-08, RD: 19.599999999999994, TWRT: 0.24987174714722665} +- {DAY: 2010-05-09, RD: 20.799999999999994, TWRT: 0.29207981671173744} +- {DAY: 2010-05-10, RD: 21.999999999999993, TWRT: 0.34291624631104484} +- {DAY: 2010-05-11, RD: 23.199999999999992, TWRT: 0.3819320113595763} +- {DAY: 2010-05-12, RD: 24.39999999999999, TWRT: 0.4531060222590828} +- {DAY: 2010-05-13, RD: 25.59999999999999, TWRT: 0.5277550387274449} +- {DAY: 2010-05-14, RD: 26.79999999999999, TWRT: 0.588806309116135} +- {DAY: 2010-05-15, RD: 27.99999999999999, TWRT: 0.6417433253800043} +- {DAY: 2010-05-16, RD: 29.19999999999999, TWRT: 0.7042096621482397} +- {DAY: 2010-05-17, RD: 30.399999999999988, TWRT: 0.7997406187195713} +- {DAY: 2010-05-18, RD: 31.599999999999987, TWRT: 0.9432856266690413} +- {DAY: 2010-05-19, RD: 32.79999999999999, TWRT: 1.0548637664091958} +- {DAY: 2010-05-20, RD: 33.99999999999999, TWRT: 1.1189294596322237} +- {DAY: 2010-05-21, RD: 35.199999999999996, TWRT: 1.2133131998306947} +- {DAY: 2010-05-22, RD: 36.4, TWRT: 1.3848375275119558} +- {DAY: 2010-05-23, RD: 37.6, TWRT: 1.6508687363127084} +- {DAY: 2010-05-24, RD: 38.800000000000004, TWRT: 2.001289705072226} +- {DAY: 2010-05-25, RD: 40.00000000000001, TWRT: 2.4332034943793195} +- {DAY: 2010-05-26, RD: 41.20000000000001, TWRT: 2.9360452946887765} +- {DAY: 2010-05-27, RD: 42.40000000000001, TWRT: 3.3122435094523834} +- {DAY: 2010-05-28, RD: 43.600000000000016, TWRT: 3.8379914975340537} +- {DAY: 2010-05-29, RD: 44.80000000000002, TWRT: 4.5462744990581045} +- {DAY: 2010-05-30, RD: 46.00000000000002, TWRT: 5.511660569792715} +- {DAY: 2010-05-31, RD: 47.200000000000024, TWRT: 6.300689050342955} +- {DAY: 2010-06-01, RD: 48.40000000000003, TWRT: 7.250972155611216} +- {DAY: 2010-06-02, RD: 49.60000000000003, TWRT: 7.797784355987314} +- {DAY: 2010-06-03, RD: 50.80000000000003, TWRT: 8.401798458560693} +- {DAY: 2010-06-04, RD: 52.000000000000036, TWRT: 9.129599158573821} +- {DAY: 2010-06-05, RD: 53.20000000000004, TWRT: 11.305392706593626} +- {DAY: 2010-06-06, RD: 54.40000000000004, TWRT: 14.000189867149862} +- {DAY: 2010-06-07, RD: 55.600000000000044, TWRT: 17.199469854675826} +- {DAY: 2010-06-08, RD: 56.80000000000005, TWRT: 20.4813604004611} +- {DAY: 2010-06-09, RD: 58.00000000000005, TWRT: 24.822894331935615} +- {DAY: 2010-06-10, RD: 59.20000000000005, TWRT: 29.956245167492074} +- {DAY: 2010-06-11, RD: 60.400000000000055, TWRT: 35.93341392817433} +- {DAY: 2010-06-12, RD: 61.60000000000006, TWRT: 43.586307507557585} +- {DAY: 2010-06-13, RD: 62.80000000000006, TWRT: 51.25739364154269} +- {DAY: 2010-06-14, RD: 64.00000000000006, TWRT: 58.13686042890785} +- {DAY: 2010-06-15, RD: 65.20000000000006, TWRT: 65.04759888901272} +- {DAY: 2010-06-16, RD: 66.40000000000006, TWRT: 72.67474105419363} +- {DAY: 2010-06-17, RD: 67.60000000000007, TWRT: 81.61491715028059} +- {DAY: 2010-06-18, RD: 68.80000000000007, TWRT: 93.03349135291126} +- {DAY: 2010-06-19, RD: 70.00000000000007, TWRT: 101.34552436395256} +- {DAY: 2010-06-20, RD: 71.20000000000007, TWRT: 112.51254869629292} +- {DAY: 2010-06-21, RD: 72.40000000000008, TWRT: 120.89527689820035} +- {DAY: 2010-06-22, RD: 73.60000000000008, TWRT: 132.52893847927916} +- {DAY: 2010-06-23, RD: 74.80000000000008, TWRT: 146.84286411841063} +- {DAY: 2010-06-24, RD: 76.00000000000009, TWRT: 163.2579508702659} +- {DAY: 2010-06-25, RD: 77.20000000000009, TWRT: 180.49579668436323} +- {DAY: 2010-06-26, RD: 78.40000000000009, TWRT: 198.53955544355156} +- {DAY: 2010-06-27, RD: 79.6000000000001, TWRT: 218.26792074193548} +- {DAY: 2010-06-28, RD: 80.8000000000001, TWRT: 240.77002284595147} +- {DAY: 2010-06-29, RD: 82.0000000000001, TWRT: 264.2963422300076} +- {DAY: 2010-06-30, RD: 83.2000000000001, TWRT: 287.3785268958251} +- {DAY: 2010-07-01, RD: 84.4000000000001, TWRT: 308.7479104224629} +- {DAY: 2010-07-02, RD: 85.60000000000011, TWRT: 332.2488883715646} +- {DAY: 2010-07-03, RD: 86.80000000000011, TWRT: 356.61259557330953} +- {DAY: 2010-07-04, RD: 88.00000000000011, TWRT: 381.05333204095217} +- {DAY: 2010-07-05, RD: 89.20000000000012, TWRT: 403.7118958600285} +- {DAY: 2010-07-06, RD: 90.40000000000012, TWRT: 425.310252059122} +- {DAY: 2010-07-07, RD: 91.60000000000012, TWRT: 447.4802633810824} +- {DAY: 2010-07-08, RD: 92.80000000000013, TWRT: 472.02284258733226} +- {DAY: 2010-07-09, RD: 94.00000000000013, TWRT: 498.3530800303551} +- {DAY: 2010-07-10, RD: 95.20000000000013, TWRT: 523.7429157131556} +- {DAY: 2010-07-11, RD: 96.40000000000013, TWRT: 547.9716446876097} +- {DAY: 2010-07-12, RD: 97.60000000000014, TWRT: 571.3507472676723} +- {DAY: 2010-07-13, RD: 98.80000000000014, TWRT: 593.7996702030301} +- {DAY: 2010-07-14, RD: 100.00000000000014, TWRT: 614.3425224280045} +- {DAY: 2010-07-15, RD: 101.20000000000014, TWRT: 635.9245283169449} +- {DAY: 2010-07-16, RD: 102.40000000000015, TWRT: 652.898957661725} +- {DAY: 2010-07-17, RD: 103.60000000000015, TWRT: 674.1986707219401} +- {DAY: 2010-07-18, RD: 104.80000000000015, TWRT: 690.8005802774102} +- {DAY: 2010-07-19, RD: 106.00000000000016, TWRT: 708.9860072830072} +- {DAY: 2010-07-20, RD: 107.20000000000016, TWRT: 730.630721708773} +- {DAY: 2010-07-21, RD: 108.40000000000016, TWRT: 753.0651199941773} +- {DAY: 2010-07-22, RD: 109.60000000000016, TWRT: 774.3495723434609} +- {DAY: 2010-07-23, RD: 110.80000000000017, TWRT: 794.6258219037827} +- {DAY: 2010-07-24, RD: 112.00000000000017, TWRT: 804.7057224390023} +- {DAY: 2010-07-25, RD: 113.20000000000017, TWRT: 814.333469601627} +- {DAY: 2010-07-26, RD: 114.40000000000018, TWRT: 835.0068944076137} +- {DAY: 2010-07-27, RD: 115.60000000000018, TWRT: 853.5729657676626} +- {DAY: 2010-07-28, RD: 116.80000000000018, TWRT: 872.2675944118403} +- {DAY: 2010-07-29, RD: 118.00000000000018, TWRT: 885.2686115889229} +- {DAY: 2010-07-30, RD: 119.20000000000019, TWRT: 898.891524258982} +- {DAY: 2010-07-31, RD: 120.0, TWRT: 914.7381894695062} +- {DAY: 2010-08-01, RD: 120.0, TWRT: 936.6570227815328} +- {DAY: 2010-08-02, RD: 120.0, TWRT: 957.794269692318} +- {DAY: 2010-08-03, RD: 120.0, TWRT: 971.9702998024082} +- {DAY: 2010-08-04, RD: 120.0, TWRT: 986.3500986543896} +- {DAY: 2010-08-05, RD: 120.0, TWRT: 1006.6840574227846} +- {DAY: 2010-08-06, RD: 120.0, TWRT: 1020.237896880582} +- {DAY: 2010-08-07, RD: 120.0, TWRT: 1026.0363275537288} +- {DAY: 2010-08-08, RD: 120.0, TWRT: 1033.9766401617287} +- {DAY: 2010-08-09, RD: 120.0, TWRT: 1052.4298614858853} +- {DAY: 2010-08-10, RD: 120.0, TWRT: 1070.29599044462} +- {DAY: 2010-08-11, RD: 120.0, TWRT: 1088.3591861810346} +- {DAY: 2010-08-12, RD: 120.0, TWRT: 1105.2812673107553} +- {DAY: 2010-08-13, RD: 120.0, TWRT: 1120.0080027965053} +- {DAY: 2010-08-14, RD: 120.0, TWRT: 1127.9317353636652} +- {DAY: 2010-08-15, RD: 120.0, TWRT: 1141.272322295696} +- {DAY: 2010-08-16, RD: 120.0, TWRT: 1156.3477414555898} +- {DAY: 2010-08-17, RD: 120.0, TWRT: 1169.9553206378087} +- {DAY: 2010-08-18, RD: 120.0, TWRT: 1174.001479742416} +- {DAY: 2010-08-19, RD: 120.0, TWRT: 1179.242700435929} +- {DAY: 2010-08-20, RD: 120.0, TWRT: 1193.8200003997042} +- {DAY: 2010-08-21, RD: 120.0, TWRT: 1209.689971591806} +- {DAY: 2010-08-22, RD: 120.0, TWRT: 1224.4299904361105} +- {DAY: 2010-08-23, RD: 120.0, TWRT: 1238.0821671696986} +- {DAY: 2010-08-24, RD: 120.0, TWRT: 1247.564356063667} +- {DAY: 2010-08-25, RD: 120.0, TWRT: 1255.6761499063255} +- {DAY: 2010-08-26, RD: 120.0, TWRT: 1268.0052614934948} +- {DAY: 2010-08-27, RD: 120.0, TWRT: 1278.0466110780776} +- {DAY: 2010-08-28, RD: 120.0, TWRT: 1285.6956267885184} +- {DAY: 2010-08-29, RD: 120.0, TWRT: 1293.888286240799} +- {DAY: 2010-08-30, RD: 120.0, TWRT: 1302.4929890671199} +- {DAY: 2010-08-31, RD: 120.0, TWRT: 1309.003298697416} +- {DAY: 2010-09-01, RD: 120.0, TWRT: 1316.3395911557566} +- {DAY: 2010-09-02, RD: 120.0, TWRT: 1322.7105204879656} +- {DAY: 2010-09-03, RD: 120.0, TWRT: 1329.0486718179318} +- {DAY: 2010-09-04, RD: 120.0, TWRT: 1337.9028349810696} +- {DAY: 2010-09-05, RD: 120.0, TWRT: 1344.2939830487253} +- {DAY: 2010-09-06, RD: 120.0, TWRT: 1353.133830667273} +- {DAY: 2010-09-07, RD: 120.0, TWRT: 1361.6084789390243} +- {DAY: 2010-09-08, RD: 120.0, TWRT: 1368.836210650538} +- {DAY: 2010-09-09, RD: 120.0, TWRT: 1374.4634706441889} +- {DAY: 2010-09-10, RD: 120.0, TWRT: 1377.697468431013} +- {DAY: 2010-09-11, RD: 120.0, TWRT: 1383.4231782268675} +- {DAY: 2010-09-12, RD: 120.0, TWRT: 1390.2360421758428} +- {DAY: 2010-09-13, RD: 120.0, TWRT: 1396.610321724149} +- {DAY: 2010-09-14, RD: 120.0, TWRT: 1399.2813445313068} +- {DAY: 2010-09-15, RD: 120.0, TWRT: 1401.9851599470821} +- {DAY: 2010-09-16, RD: 120.0, TWRT: 1403.5045594585395} +- {DAY: 2010-09-17, RD: 120.0, TWRT: 1407.6548967429649} +- {DAY: 2010-09-18, RD: 120.0, TWRT: 1411.7943391797241} +- {DAY: 2010-09-19, RD: 120.0, TWRT: 1416.1559692942233} +- {DAY: 2010-09-20, RD: 120.0, TWRT: 1420.3809872286724} +- {DAY: 2010-09-21, RD: 120.0, TWRT: 1424.6450187118337} +- {DAY: 2010-09-22, RD: 120.0, TWRT: 1428.7669130239549} +- {DAY: 2010-09-23, RD: 120.0, TWRT: 1432.5445765283935} +- {DAY: 2010-09-24, RD: 120.0, TWRT: 1436.0370742398557} +- {DAY: 2010-09-25, RD: 120.0, TWRT: 1439.040367009619} +- {DAY: 2010-09-26, RD: 120.0, TWRT: 1439.7426228006198} +- {DAY: 2010-09-27, RD: 120.0, TWRT: 1441.001027227564} +- {DAY: 2010-09-28, RD: 120.0, TWRT: 1443.012025727005} +- {DAY: 2010-09-29, RD: 120.0, TWRT: 1443.7394342391492} +- {DAY: 2010-09-30, RD: 120.0, TWRT: 1445.4484463967106} +- {DAY: 2010-10-01, RD: 120.0, TWRT: 1446.934528677765} +- {DAY: 2010-10-02, RD: 120.0, TWRT: 1447.5066667643405} +- {DAY: 2010-10-03, RD: 120.0, TWRT: 1448.5790012744574} +- {DAY: 2010-10-04, RD: 120.0, TWRT: 1450.0580194301663} +- {DAY: 2010-10-05, RD: 120.0, TWRT: 1451.405544335648} +- {DAY: 2010-10-06, RD: 120.0, TWRT: 1452.2649431380187} +- {DAY: 2010-10-07, RD: 120.0, TWRT: 1452.756499356783} +- {DAY: 2010-10-08, RD: 120.0, TWRT: 1453.1262960050863} +- {DAY: 2010-10-09, RD: 120.0, TWRT: 1454.5731843213453} +- {DAY: 2010-10-10, RD: 120.0, TWRT: 1456.0770037719144} +- {DAY: 2010-10-11, RD: 120.0, TWRT: 1457.5643628467008} +- {DAY: 2010-10-12, RD: 120.0, TWRT: 1459.1066232814223} +- {DAY: 2010-10-13, RD: 120.0, TWRT: 1460.6366903853298} +- {DAY: 2010-10-14, RD: 120.0, TWRT: 1462.0924192219172} +- {DAY: 2010-10-15, RD: 120.0, TWRT: 1463.506376105299} +- {DAY: 2010-10-16, RD: 120.0, TWRT: 1463.8002967541033} +- {DAY: 2010-10-17, RD: 120.0, TWRT: 1464.0213116789873} +- {DAY: 2010-10-18, RD: 120.0, TWRT: 1464.3296790669128} +- {DAY: 2010-10-19, RD: 120.0, TWRT: 1464.728376184471} +- {DAY: 2010-10-20, RD: 120.0, TWRT: 1465.097445819827} +- {DAY: 2010-10-21, RD: 120.0, TWRT: 1465.4512271414928} +- {DAY: 2010-10-22, RD: 120.0, TWRT: 1465.981351377051} +- {DAY: 2010-10-23, RD: 120.0, TWRT: 1466.395357353505} +- {DAY: 2010-10-24, RD: 120.0, TWRT: 1466.750401497981} +- {DAY: 2010-10-25, RD: 120.0, TWRT: 1466.8511368210857} +- {DAY: 2010-10-26, RD: 120.0, TWRT: 1466.9112863994897} +- {DAY: 2010-10-27, RD: 120.0, TWRT: 1466.9112863994897} +- {DAY: 2010-10-28, RD: 120.0, TWRT: 1466.9112863994897} +- {DAY: 2010-10-29, RD: 120.0, TWRT: 1466.9112863994897} +- {DAY: 2010-10-30, RD: 120.0, TWRT: 1466.9112863994897} +- {DAY: 2010-10-31, RD: 120.0, TWRT: 1466.9112863994897} +- {DAY: 2010-11-01, RD: 120.0, TWRT: 1466.9112863994897} +- {DAY: 2010-11-02, RD: 120.0, TWRT: 1466.9112863994897} +- {DAY: 2010-11-03, RD: 120.0, TWRT: 1466.9112863994897} +- {DAY: 2010-11-04, RD: 120.0, TWRT: 1467.273722671945} +- {DAY: 2010-11-05, RD: 120.0, TWRT: 1467.467227243899} +- {DAY: 2010-11-06, RD: 120.0, TWRT: 1468.3651091169509} +- {DAY: 2010-11-07, RD: 120.0, TWRT: 1468.4842818392733} +- {DAY: 2010-11-08, RD: 120.0, TWRT: 1468.7955988544636} +- {DAY: 2010-11-09, RD: 120.0, TWRT: 1469.1027278001002} +- {DAY: 2010-11-10, RD: 120.0, TWRT: 1469.9855501931747} +- {DAY: 2010-11-11, RD: 120.0, TWRT: 1470.2840459257604} +- {DAY: 2010-11-12, RD: 120.0, TWRT: 1470.7685850170153} +- {DAY: 2010-11-13, RD: 120.0, TWRT: 1471.5336508702146} +- {DAY: 2010-11-14, RD: 120.0, TWRT: 1472.392024696878} +- {DAY: 2010-11-15, RD: 120.0, TWRT: 1473.7612020887284} +- {DAY: 2010-11-16, RD: 120.0, TWRT: 1474.6862923658518} +- {DAY: 2010-11-17, RD: 120.0, TWRT: 1474.764160880559} +- {DAY: 2010-11-18, RD: 120.0, TWRT: 1474.8897134712035} +- {DAY: 2010-11-19, RD: 120.0, TWRT: 1474.9805411469931} +- {DAY: 2010-11-20, RD: 120.0, TWRT: 1475.0781586737678} +- {DAY: 2010-11-21, RD: 120.0, TWRT: 1475.1435434288192} +- {DAY: 2010-11-22, RD: 120.0, TWRT: 1475.160613564851} +- {DAY: 2010-11-23, RD: 120.0, TWRT: 1475.4206963431436} +- {DAY: 2010-11-24, RD: 120.0, TWRT: 1475.4206963431436} +- {DAY: 2010-11-25, RD: 120.0, TWRT: 1475.4206963431436} +- {DAY: 2010-11-26, RD: 120.0, TWRT: 1475.4206963431436} +- {DAY: 2010-11-27, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-11-28, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-11-29, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-11-30, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-01, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-02, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-03, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-04, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-05, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-06, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-07, RD: 120.0, TWRT: 1475.4206963431436} +- {DAY: 2010-12-08, RD: 120.0, TWRT: 1475.4206963431436} +- {DAY: 2010-12-09, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-10, RD: 120.0, TWRT: 1475.4206963431436} +- {DAY: 2010-12-11, RD: 120.0, TWRT: 1475.4206963431436} +- {DAY: 2010-12-12, RD: 120.0, TWRT: 1475.4206963431436} +- {DAY: 2010-12-13, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-14, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-15, RD: 120.0, TWRT: 1475.4206963431436} +- {DAY: 2010-12-16, RD: 120.0, TWRT: 1475.4206963431436} +- {DAY: 2010-12-17, RD: 120.0, TWRT: 1475.4206963431436} +- {DAY: 2010-12-18, RD: 120.0, TWRT: 1475.4206963431436} +- {DAY: 2010-12-19, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-20, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-21, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-22, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-23, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-24, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-25, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-26, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-27, RD: 120.0, TWRT: 1475.4206963431438} +- {DAY: 2010-12-28, RD: 120.0, TWRT: 1475.420696343144} +- {DAY: 2010-12-29, RD: 120.0, TWRT: 1475.420696343144} +- {DAY: 2010-12-30, RD: 120.0, TWRT: 1475.420696343144} +- {DAY: 2010-12-31, RD: 120.0, TWRT: 1475.420696343144} +Precision: {RD: 0.01, TWRT: 0.1} +WeatherVariables: +- {DAY: 2010-04-16, E0: 0.292, ELEV: 440.0, ES0: 0.259, ET0: 0.254, IRRAD: 15048000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 9.35, TMAX: 14.5, + TMIN: 4.2, VAP: 7.45, WIND: 2.298643329164947} +- {DAY: 2010-04-17, E0: 0.307, ELEV: 440.0, ES0: 0.259, ET0: 0.29100000000000004, + IRRAD: 22799000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 7.3999999999999995, + TMAX: 14.6, TMIN: 0.2, VAP: 6.04, WIND: 1.6521498928373055} +- {DAY: 2010-04-18, E0: 0.303, ELEV: 440.0, ES0: 0.263, ET0: 0.28300000000000003, + IRRAD: 18735000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 8.450000000000001, + TMAX: 15.8, TMIN: 1.1, VAP: 6.95, WIND: 2.2268107251285425} +- {DAY: 2010-04-19, E0: 0.34500000000000003, ELEV: 440.0, ES0: 0.29700000000000004, + ET0: 0.337, IRRAD: 21025000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, + TEMP: 10.8, TMAX: 18.6, TMIN: 3.0, VAP: 7.35, WIND: 1.939480308982924} +- {DAY: 2010-04-20, E0: 0.33199999999999996, ELEV: 440.0, ES0: 0.28900000000000003, + ET0: 0.319, IRRAD: 18687000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, + TEMP: 10.5, TMAX: 16.9, TMIN: 4.1, VAP: 7.42, WIND: 2.442308537237756} +- {DAY: 2010-04-21, E0: 0.29500000000000004, ELEV: 440.0, ES0: 0.266, ET0: 0.262, + IRRAD: 14308000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 7.550000000000001, + TMAX: 10.4, TMIN: 4.7, VAP: 5.87, WIND: 3.0888019735653973} +- {DAY: 2010-04-22, E0: 0.288, ELEV: 440.0, ES0: 0.244, ET0: 0.28500000000000003, + IRRAD: 22864000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 4.95, + TMAX: 12.4, TMIN: -2.5, VAP: 4.42, WIND: 1.72398249687371} +- {DAY: 2010-04-23, E0: 0.333, ELEV: 440.0, ES0: 0.286, ET0: 0.331, IRRAD: 23148000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 7.0, TMAX: 15.0, + TMIN: -1.0, VAP: 5.13, WIND: 2.2268107251285425} +- {DAY: 2010-04-24, E0: 0.369, ELEV: 440.0, ES0: 0.316, ET0: 0.36, IRRAD: 24044000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 9.6, TMAX: 18.0, + TMIN: 1.2, VAP: 6.37, WIND: 1.8676477049465194} +- {DAY: 2010-04-25, E0: 0.43899999999999995, ELEV: 440.0, ES0: 0.381, ET0: 0.425, + IRRAD: 24020000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 13.15, + TMAX: 20.6, TMIN: 5.7, VAP: 7.05, WIND: 2.154978121092138} +- {DAY: 2010-04-26, E0: 0.29700000000000004, ELEV: 440.0, ES0: 0.262, ET0: 0.286, + IRRAD: 15089000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.2, SNOWDEPTH: .nan, TEMP: 11.75, + TMAX: 17.6, TMIN: 5.9, VAP: 8.63, WIND: 2.083145517055733} +- {DAY: 2010-04-27, E0: 0.3, ELEV: 440.0, ES0: 0.26, ET0: 0.286, IRRAD: 17661000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 10.45, TMAX: 17.9, + TMIN: 3.0, VAP: 8.23, WIND: 1.6521498928373055} +- {DAY: 2010-04-28, E0: 0.373, ELEV: 440.0, ES0: 0.317, ET0: 0.352, IRRAD: 24464000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 11.25, TMAX: 19.8, + TMIN: 2.7, VAP: 7.52, WIND: 1.077489060546069} +- {DAY: 2010-04-29, E0: 0.41100000000000003, ELEV: 440.0, ES0: 0.352, ET0: 0.41600000000000004, + IRRAD: 23615000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 13.95, + TMAX: 23.8, TMIN: 4.1, VAP: 8.26, WIND: 1.5084846847644964} +- {DAY: 2010-04-30, E0: 0.348, ELEV: 440.0, ES0: 0.311, ET0: 0.333, IRRAD: 14717000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.27, SNOWDEPTH: .nan, TEMP: 15.55, TMAX: 22.6, + TMIN: 8.5, VAP: 11.53, WIND: 2.2268107251285425} +- {DAY: 2010-05-01, E0: 0.29300000000000004, ELEV: 440.0, ES0: 0.26, ET0: 0.24900000000000003, + IRRAD: 12969000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.58, SNOWDEPTH: .nan, TEMP: 14.45, + TMAX: 17.8, TMIN: 11.1, VAP: 12.04, WIND: 1.8676477049465194} +- {DAY: 2010-05-02, E0: 0.176, ELEV: 440.0, ES0: 0.158, ET0: 0.147, IRRAD: 7834000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 1.8, SNOWDEPTH: .nan, TEMP: 11.95, TMAX: 14.2, + TMIN: 9.7, VAP: 11.97, WIND: 1.4366520807280918} +- {DAY: 2010-05-03, E0: 0.189, ELEV: 440.0, ES0: 0.16899999999999998, ET0: 0.161, + IRRAD: 8347000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.05, SNOWDEPTH: .nan, TEMP: 11.3, + TMAX: 13.5, TMIN: 9.1, VAP: 10.82, WIND: 1.6521498928373055} +- {DAY: 2010-05-04, E0: 0.133, ELEV: 440.0, ES0: 0.121, ET0: 0.11699999999999999, + IRRAD: 5850000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.37, SNOWDEPTH: .nan, TEMP: 8.65, + TMAX: 10.6, TMIN: 6.7, VAP: 9.71, WIND: 2.9451367654925877} +- {DAY: 2010-05-05, E0: 0.176, ELEV: 440.0, ES0: 0.161, ET0: 0.125, IRRAD: 7550000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.04, SNOWDEPTH: .nan, TEMP: 7.15, TMAX: 8.9, + TMIN: 5.4, VAP: 8.77, WIND: 4.669119262366299} +- {DAY: 2010-05-06, E0: 0.159, ELEV: 440.0, ES0: 0.144, ET0: 0.145, IRRAD: 6844000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.6, SNOWDEPTH: .nan, TEMP: 9.350000000000001, + TMAX: 11.8, TMIN: 6.9, VAP: 9.74, WIND: 3.304299785674611} +- {DAY: 2010-05-07, E0: 0.213, ELEV: 440.0, ES0: 0.189, ET0: 0.175, IRRAD: 11585000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 7.300000000000001, + TMAX: 10.4, TMIN: 4.2, VAP: 8.06, WIND: 2.2268107251285425} +- {DAY: 2010-05-08, E0: 0.29500000000000004, ELEV: 440.0, ES0: 0.259, ET0: 0.246, + IRRAD: 16249000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 9.7, + TMAX: 15.5, TMIN: 3.9, VAP: 8.4, WIND: 1.077489060546069} +- {DAY: 2010-05-09, E0: 0.29, ELEV: 440.0, ES0: 0.252, ET0: 0.261, IRRAD: 16930000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.6, SNOWDEPTH: .nan, TEMP: 10.35, TMAX: 17.3, + TMIN: 3.4, VAP: 9.58, WIND: 1.5803172888009012} +- {DAY: 2010-05-10, E0: 0.182, ELEV: 440.0, ES0: 0.16299999999999998, ET0: 0.152, + IRRAD: 8387000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.02, SNOWDEPTH: .nan, TEMP: 11.3, + TMAX: 14.0, TMIN: 8.6, VAP: 11.36, WIND: 1.077489060546069} +- {DAY: 2010-05-11, E0: 0.39, ELEV: 440.0, ES0: 0.344, ET0: 0.317, IRRAD: 18611000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.6, SNOWDEPTH: .nan, TEMP: 14.25, TMAX: 19.3, + TMIN: 9.2, VAP: 12.27, WIND: 2.5859737453105653} +- {DAY: 2010-05-12, E0: 0.32599999999999996, ELEV: 440.0, ES0: 0.29100000000000004, + ET0: 0.269, IRRAD: 14823000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, + TEMP: 12.55, TMAX: 15.5, TMIN: 9.6, VAP: 10.25, WIND: 2.154978121092138} +- {DAY: 2010-05-13, E0: 0.197, ELEV: 440.0, ES0: 0.178, ET0: 0.16699999999999998, + IRRAD: 8293000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.44000000000000006, SNOWDEPTH: .nan, + TEMP: 9.95, TMAX: 12.7, TMIN: 7.2, VAP: 9.85, WIND: 2.7296389533833745} +- {DAY: 2010-05-14, E0: 0.149, ELEV: 440.0, ES0: 0.133, ET0: 0.12, IRRAD: 7517000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.71, SNOWDEPTH: .nan, TEMP: 7.25, TMAX: 8.6, + TMIN: 5.9, VAP: 8.94, WIND: 1.72398249687371} +- {DAY: 2010-05-15, E0: 0.177, ELEV: 440.0, ES0: 0.161, ET0: 0.148, IRRAD: 8182000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, TEMP: 7.300000000000001, + TMAX: 9.3, TMIN: 5.3, VAP: 8.06, WIND: 2.0113129130193284} +- {DAY: 2010-05-16, E0: 0.29300000000000004, ELEV: 440.0, ES0: 0.267, ET0: 0.23500000000000001, + IRRAD: 11902000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 8.600000000000001, + TMAX: 12.3, TMIN: 4.9, VAP: 7.59, WIND: 3.1606345776018023} +- {DAY: 2010-05-17, E0: 0.364, ELEV: 440.0, ES0: 0.323, ET0: 0.315, IRRAD: 18616000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.2, SNOWDEPTH: .nan, TEMP: 10.1, TMAX: 15.4, + TMIN: 4.8, VAP: 7.99, WIND: 2.801471557419779} +- {DAY: 2010-05-18, E0: 0.23900000000000002, ELEV: 440.0, ES0: 0.217, ET0: 0.20600000000000002, + IRRAD: 10082000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.06, SNOWDEPTH: .nan, TEMP: 9.3, + TMAX: 11.5, TMIN: 7.1, VAP: 8.29, WIND: 2.65780634934697} +- {DAY: 2010-05-19, E0: 0.10700000000000001, ELEV: 440.0, ES0: 0.096, ET0: 0.095, + IRRAD: 5446000.0, LAT: 49.43613, LON: 12.98528, RAIN: 1.2, SNOWDEPTH: .nan, TEMP: 6.1, + TMAX: 7.1, TMIN: 5.1, VAP: 8.46, WIND: 2.7296389533833745} +- {DAY: 2010-05-20, E0: 0.10700000000000001, ELEV: 440.0, ES0: 0.095, ET0: 0.10400000000000001, + IRRAD: 5694000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.4, SNOWDEPTH: .nan, TEMP: 9.5, + TMAX: 12.5, TMIN: 6.5, VAP: 11.3, WIND: 1.3648194766916872} +- {DAY: 2010-05-21, E0: 0.265, ELEV: 440.0, ES0: 0.23700000000000002, ET0: 0.21800000000000003, + IRRAD: 11531000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.71, SNOWDEPTH: .nan, TEMP: 13.3, + TMAX: 17.0, TMIN: 9.6, VAP: 12.21, WIND: 1.8676477049465194} +- {DAY: 2010-05-22, E0: 0.386, ELEV: 440.0, ES0: 0.339, ET0: 0.323, IRRAD: 19035000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 1.1, SNOWDEPTH: .nan, TEMP: 14.15, TMAX: 20.1, + TMIN: 8.2, VAP: 11.77, WIND: 1.5084846847644964} +- {DAY: 2010-05-23, E0: 0.45099999999999996, ELEV: 440.0, ES0: 0.395, ET0: 0.378, + IRRAD: 22815000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 14.6, + TMAX: 20.9, TMIN: 8.3, VAP: 11.7, WIND: 1.6521498928373055} +- {DAY: 2010-05-24, E0: 0.492, ELEV: 440.0, ES0: 0.433, ET0: 0.43600000000000005, + IRRAD: 23334000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.6, SNOWDEPTH: .nan, TEMP: 16.05, + TMAX: 23.5, TMIN: 8.6, VAP: 12.38, WIND: 2.5141411412741608} +- {DAY: 2010-05-25, E0: 0.458, ELEV: 440.0, ES0: 0.404, ET0: 0.39, IRRAD: 20822000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.42000000000000004, SNOWDEPTH: .nan, TEMP: 16.65, + TMAX: 22.0, TMIN: 11.3, VAP: 13.18, WIND: 2.370475933201351} +- {DAY: 2010-05-26, E0: 0.215, ELEV: 440.0, ES0: 0.193, ET0: 0.187, IRRAD: 9210000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.93, SNOWDEPTH: .nan, TEMP: 14.05, TMAX: 17.5, + TMIN: 10.6, VAP: 13.39, WIND: 1.5084846847644964} +- {DAY: 2010-05-27, E0: 0.303, ELEV: 440.0, ES0: 0.27, ET0: 0.257, IRRAD: 13115000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.03, SNOWDEPTH: .nan, TEMP: 15.0, TMAX: 18.8, + TMIN: 11.2, VAP: 13.15, WIND: 2.083145517055733} +- {DAY: 2010-05-28, E0: 0.362, ELEV: 440.0, ES0: 0.321, ET0: 0.305, IRRAD: 16517000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 15.2, TMAX: 20.4, + TMIN: 10.0, VAP: 12.78, WIND: 1.72398249687371} +- {DAY: 2010-05-29, E0: 0.413, ELEV: 440.0, ES0: 0.362, ET0: 0.346, IRRAD: 20796000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.03, SNOWDEPTH: .nan, TEMP: 14.25, TMAX: 19.9, + TMIN: 8.6, VAP: 11.43, WIND: 1.5084846847644964} +- {DAY: 2010-05-30, E0: 0.277, ELEV: 440.0, ES0: 0.25, ET0: 0.233, IRRAD: 11117000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 3.6, SNOWDEPTH: .nan, TEMP: 14.0, TMAX: 17.8, + TMIN: 10.2, VAP: 12.48, WIND: 2.370475933201351} +- {DAY: 2010-05-31, E0: 0.307, ELEV: 440.0, ES0: 0.277, ET0: 0.21800000000000003, + IRRAD: 13569000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.32, SNOWDEPTH: .nan, TEMP: 9.95, + TMAX: 13.1, TMIN: 6.8, VAP: 9.74, WIND: 3.663462805856634} +- {DAY: 2010-06-01, E0: 0.10900000000000001, ELEV: 440.0, ES0: 0.098, ET0: 0.10300000000000001, + IRRAD: 5021000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.1, SNOWDEPTH: .nan, TEMP: 9.5, + TMAX: 11.0, TMIN: 8.0, VAP: 10.76, WIND: 2.7296389533833745} +- {DAY: 2010-06-02, E0: 0.11499999999999999, ELEV: 440.0, ES0: 0.10300000000000001, + ET0: 0.10800000000000001, IRRAD: 5185000.0, LAT: 49.43613, LON: 12.98528, RAIN: 2.2, + SNOWDEPTH: .nan, TEMP: 10.4, TMAX: 11.5, TMIN: 9.3, VAP: 11.4, WIND: 2.65780634934697} +- {DAY: 2010-06-03, E0: 0.128, ELEV: 440.0, ES0: 0.11399999999999999, ET0: 0.118, + IRRAD: 5892000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.9, SNOWDEPTH: .nan, TEMP: 11.75, + TMAX: 13.2, TMIN: 10.3, VAP: 12.64, WIND: 1.7958151009101146} +- {DAY: 2010-06-04, E0: 0.528, ELEV: 440.0, ES0: 0.45899999999999996, ET0: 0.44000000000000006, + IRRAD: 27697000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 14.65, + TMAX: 21.1, TMIN: 8.2, VAP: 11.3, WIND: 1.5803172888009012} +- {DAY: 2010-06-05, E0: 0.564, ELEV: 440.0, ES0: 0.488, ET0: 0.497, IRRAD: 29724000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 16.1, TMAX: 24.8, + TMIN: 7.4, VAP: 11.5, WIND: 1.3648194766916872} +- {DAY: 2010-06-06, E0: 0.5900000000000001, ELEV: 440.0, ES0: 0.513, ET0: 0.525, IRRAD: 28294000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.4, SNOWDEPTH: .nan, TEMP: 18.4, TMAX: 27.0, + TMIN: 9.8, VAP: 13.35, WIND: 1.6521498928373055} +- {DAY: 2010-06-07, E0: 0.505, ELEV: 440.0, ES0: 0.45099999999999996, ET0: 0.42699999999999994, + IRRAD: 19774000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 19.1, + TMAX: 22.6, TMIN: 15.6, VAP: 14.43, WIND: 2.801471557419779} +- {DAY: 2010-06-08, E0: 0.538, ELEV: 440.0, ES0: 0.471, ET0: 0.465, IRRAD: 24452000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 18.85, TMAX: 26.9, + TMIN: 10.8, VAP: 14.7, WIND: 1.4366520807280918} +- {DAY: 2010-06-09, E0: 0.595, ELEV: 440.0, ES0: 0.525, ET0: 0.517, IRRAD: 24742000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 21.5, TMAX: 28.6, + TMIN: 14.4, VAP: 17.3, WIND: 2.083145517055733} +- {DAY: 2010-06-10, E0: 0.607, ELEV: 440.0, ES0: 0.536, ET0: 0.533, IRRAD: 24198000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 23.3, TMAX: 30.5, + TMIN: 16.1, VAP: 17.26, WIND: 1.5803172888009012} +- {DAY: 2010-06-11, E0: 0.653, ELEV: 440.0, ES0: 0.5740000000000001, ET0: 0.5650000000000001, + IRRAD: 27798000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 21.5, + TMAX: 27.1, TMIN: 15.9, VAP: 16.05, WIND: 2.298643329164947} +- {DAY: 2010-06-12, E0: 0.5, ELEV: 440.0, ES0: 0.44400000000000006, ET0: 0.437, IRRAD: 19853000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, TEMP: 20.4, TMAX: 26.5, + TMIN: 14.3, VAP: 15.11, WIND: 1.72398249687371} +- {DAY: 2010-06-13, E0: 0.371, ELEV: 440.0, ES0: 0.33399999999999996, ET0: 0.29900000000000004, + IRRAD: 14405000.0, LAT: 49.43613, LON: 12.98528, RAIN: 1.2, SNOWDEPTH: .nan, TEMP: 15.8, + TMAX: 19.3, TMIN: 12.3, VAP: 13.18, WIND: 2.442308537237756} +- {DAY: 2010-06-14, E0: 0.321, ELEV: 440.0, ES0: 0.288, ET0: 0.258, IRRAD: 12885000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 15.35, TMAX: 18.9, + TMIN: 11.8, VAP: 13.39, WIND: 2.0113129130193284} +- {DAY: 2010-06-15, E0: 0.369, ELEV: 440.0, ES0: 0.335, ET0: 0.288, IRRAD: 13535000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 15.200000000000001, + TMAX: 18.6, TMIN: 11.8, VAP: 12.91, WIND: 3.2324671816382065} +- {DAY: 2010-06-16, E0: 0.413, ELEV: 440.0, ES0: 0.374, ET0: 0.33999999999999997, + IRRAD: 15421000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 14.3, + TMAX: 17.3, TMIN: 11.3, VAP: 11.03, WIND: 4.309956242184276} +- {DAY: 2010-06-17, E0: 0.489, ELEV: 440.0, ES0: 0.438, ET0: 0.389, IRRAD: 20003000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 1.3, SNOWDEPTH: .nan, TEMP: 15.55, TMAX: 19.8, + TMIN: 11.3, VAP: 12.24, WIND: 3.735295409893039} +- {DAY: 2010-06-18, E0: 0.28700000000000003, ELEV: 440.0, ES0: 0.258, ET0: 0.242, + IRRAD: 11148000.0, LAT: 49.43613, LON: 12.98528, RAIN: 1.0, SNOWDEPTH: .nan, TEMP: 16.35, + TMAX: 18.7, TMIN: 14.0, VAP: 14.16, WIND: 1.5803172888009012} +- {DAY: 2010-06-19, E0: 0.346, ELEV: 440.0, ES0: 0.308, ET0: 0.275, IRRAD: 16133000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.02, SNOWDEPTH: .nan, TEMP: 12.1, TMAX: 15.6, + TMIN: 8.6, VAP: 10.12, WIND: 1.6521498928373055} +- {DAY: 2010-06-20, E0: 0.23199999999999998, ELEV: 440.0, ES0: 0.21000000000000002, + ET0: 0.19, IRRAD: 9754000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.02, SNOWDEPTH: .nan, + TEMP: 11.0, TMAX: 14.0, TMIN: 8.0, VAP: 10.05, WIND: 1.3648194766916872} +- {DAY: 2010-06-21, E0: 0.337, ELEV: 440.0, ES0: 0.303, ET0: 0.264, IRRAD: 14403000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 12.3, TMAX: 15.8, + TMIN: 8.8, VAP: 10.18, WIND: 1.72398249687371} +- {DAY: 2010-06-22, E0: 0.36, ELEV: 440.0, ES0: 0.318, ET0: 0.312, IRRAD: 17475000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 12.65, TMAX: 18.3, + TMIN: 7.0, VAP: 9.81, WIND: 1.5084846847644964} +- {DAY: 2010-06-23, E0: 0.383, ELEV: 440.0, ES0: 0.33599999999999997, ET0: 0.331, + IRRAD: 19579000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 13.05, + TMAX: 19.7, TMIN: 6.4, VAP: 10.42, WIND: 1.2929868726552827} +- {DAY: 2010-06-24, E0: 0.44800000000000006, ELEV: 440.0, ES0: 0.397, ET0: 0.383, + IRRAD: 19454000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 17.1, + TMAX: 22.5, TMIN: 11.7, VAP: 11.5, WIND: 1.2929868726552827} +- {DAY: 2010-06-25, E0: 0.418, ELEV: 440.0, ES0: 0.367, ET0: 0.378, IRRAD: 19342000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.3, SNOWDEPTH: .nan, TEMP: 17.05, TMAX: 24.0, + TMIN: 10.1, VAP: 13.52, WIND: 1.5803172888009012} +- {DAY: 2010-06-26, E0: 0.457, ELEV: 440.0, ES0: 0.4, ET0: 0.40499999999999997, IRRAD: 21119000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 17.75, TMAX: 24.3, + TMIN: 11.2, VAP: 13.96, WIND: 1.5084846847644964} +- {DAY: 2010-06-27, E0: 0.571, ELEV: 440.0, ES0: 0.49800000000000005, ET0: 0.506, + IRRAD: 26779000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 18.9, + TMAX: 24.8, TMIN: 13.0, VAP: 12.48, WIND: 1.6521498928373055} +- {DAY: 2010-06-28, E0: 0.585, ELEV: 440.0, ES0: 0.507, ET0: 0.519, IRRAD: 28562000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 19.1, TMAX: 26.6, + TMIN: 11.6, VAP: 12.38, WIND: 1.077489060546069} +- {DAY: 2010-06-29, E0: 0.538, ELEV: 440.0, ES0: 0.46799999999999997, ET0: 0.493, + IRRAD: 25202000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 20.0, + TMAX: 28.1, TMIN: 11.9, VAP: 13.52, WIND: 1.1493216645824735} +- {DAY: 2010-06-30, E0: 0.515, ELEV: 440.0, ES0: 0.45499999999999996, ET0: 0.45099999999999996, + IRRAD: 21164000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.6, SNOWDEPTH: .nan, TEMP: 21.35, + TMAX: 27.5, TMIN: 15.2, VAP: 15.65, WIND: 1.3648194766916872} +- {DAY: 2010-07-01, E0: 0.533, ELEV: 440.0, ES0: 0.462, ET0: 0.47800000000000004, + IRRAD: 25266000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 20.7, + TMAX: 28.2, TMIN: 13.2, VAP: 14.63, WIND: 0.861991248436855} +- {DAY: 2010-07-02, E0: 0.597, ELEV: 440.0, ES0: 0.518, ET0: 0.5349999999999999, IRRAD: 27426000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 22.2, TMAX: 30.2, + TMIN: 14.2, VAP: 14.87, WIND: 0.9338238524732597} +- {DAY: 2010-07-03, E0: 0.614, ELEV: 440.0, ES0: 0.537, ET0: 0.5519999999999999, IRRAD: 26263000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 23.1, TMAX: 30.8, + TMIN: 15.4, VAP: 15.51, WIND: 1.2929868726552827} +- {DAY: 2010-07-04, E0: 0.509, ELEV: 440.0, ES0: 0.449, ET0: 0.457, IRRAD: 20494000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, TEMP: 22.45, TMAX: 28.9, + TMIN: 16.0, VAP: 17.26, WIND: 1.5084846847644964} +- {DAY: 2010-07-05, E0: 0.489, ELEV: 440.0, ES0: 0.43600000000000005, ET0: 0.409, + IRRAD: 18435000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.1, SNOWDEPTH: .nan, TEMP: 22.0, + TMAX: 26.7, TMIN: 17.3, VAP: 17.84, WIND: 1.6521498928373055} +- {DAY: 2010-07-06, E0: 0.454, ELEV: 440.0, ES0: 0.40499999999999997, ET0: 0.381, + IRRAD: 18109000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.06, SNOWDEPTH: .nan, TEMP: 18.049999999999997, + TMAX: 20.4, TMIN: 15.7, VAP: 13.45, WIND: 2.2268107251285425} +- {DAY: 2010-07-07, E0: 0.40499999999999997, ELEV: 440.0, ES0: 0.352, ET0: 0.377, + IRRAD: 21158000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 15.1, + TMAX: 22.4, TMIN: 7.8, VAP: 10.22, WIND: 1.077489060546069} +- {DAY: 2010-07-08, E0: 0.5599999999999999, ELEV: 440.0, ES0: 0.484, ET0: 0.505, IRRAD: 28373000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 18.0, TMAX: 27.4, + TMIN: 8.6, VAP: 11.33, WIND: 1.0056564565096642} +- {DAY: 2010-07-09, E0: 0.609, ELEV: 440.0, ES0: 0.5269999999999999, ET0: 0.55, IRRAD: 28929000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 21.15, TMAX: 30.9, + TMIN: 11.4, VAP: 13.69, WIND: 0.9338238524732597} +- {DAY: 2010-07-10, E0: 0.619, ELEV: 440.0, ES0: 0.5389999999999999, ET0: 0.5780000000000001, + IRRAD: 27293000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 23.25, + TMAX: 32.1, TMIN: 14.4, VAP: 15.14, WIND: 1.2929868726552827} +- {DAY: 2010-07-11, E0: 0.671, ELEV: 440.0, ES0: 0.587, ET0: 0.628, IRRAD: 28557000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 24.1, TMAX: 33.7, + TMIN: 14.5, VAP: 13.93, WIND: 1.4366520807280918} +- {DAY: 2010-07-12, E0: 0.669, ELEV: 440.0, ES0: 0.589, ET0: 0.617, IRRAD: 27106000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.03, SNOWDEPTH: .nan, TEMP: 24.45, TMAX: 33.5, + TMIN: 15.4, VAP: 16.08, WIND: 1.5803172888009012} +- {DAY: 2010-07-13, E0: 0.5700000000000001, ELEV: 440.0, ES0: 0.506, ET0: 0.514, IRRAD: 21652000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, TEMP: 23.65, TMAX: 29.1, + TMIN: 18.2, VAP: 17.03, WIND: 1.939480308982924} +- {DAY: 2010-07-14, E0: 0.633, ELEV: 440.0, ES0: 0.5509999999999999, ET0: 0.579, IRRAD: 27607000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.1, SNOWDEPTH: .nan, TEMP: 24.0, TMAX: 32.9, + TMIN: 15.1, VAP: 16.42, WIND: 1.1493216645824735} +- {DAY: 2010-07-15, E0: 0.43499999999999994, ELEV: 440.0, ES0: 0.39, ET0: 0.376, IRRAD: 15587000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 22.75, TMAX: 26.0, + TMIN: 19.5, VAP: 17.94, WIND: 1.5803172888009012} +- {DAY: 2010-07-16, E0: 0.645, ELEV: 440.0, ES0: 0.5650000000000001, ET0: 0.585, IRRAD: 26895000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.9, SNOWDEPTH: .nan, TEMP: 24.25, TMAX: 33.4, + TMIN: 15.1, VAP: 18.14, WIND: 1.4366520807280918} +- {DAY: 2010-07-17, E0: 0.391, ELEV: 440.0, ES0: 0.35, ET0: 0.331, IRRAD: 14872000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 1.31, SNOWDEPTH: .nan, TEMP: 21.55, TMAX: 24.6, + TMIN: 18.5, VAP: 17.36, WIND: 1.8676477049465194} +- {DAY: 2010-07-18, E0: 0.371, ELEV: 440.0, ES0: 0.329, ET0: 0.316, IRRAD: 15735000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 17.200000000000003, + TMAX: 21.1, TMIN: 13.3, VAP: 14.0, WIND: 1.72398249687371} +- {DAY: 2010-07-19, E0: 0.45499999999999996, ELEV: 440.0, ES0: 0.399, ET0: 0.40099999999999997, + IRRAD: 21342000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 17.2, + TMAX: 23.4, TMIN: 11.0, VAP: 12.17, WIND: 1.939480308982924} +- {DAY: 2010-07-20, E0: 0.5469999999999999, ELEV: 440.0, ES0: 0.477, ET0: 0.485, IRRAD: 25767000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 19.0, TMAX: 25.9, + TMIN: 12.1, VAP: 14.23, WIND: 1.7958151009101146} +- {DAY: 2010-07-21, E0: 0.5860000000000001, ELEV: 440.0, ES0: 0.509, ET0: 0.517, IRRAD: 26623000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 22.85, TMAX: 31.2, + TMIN: 14.5, VAP: 16.25, WIND: 0.861991248436855} +- {DAY: 2010-07-22, E0: 0.5860000000000001, ELEV: 440.0, ES0: 0.516, ET0: 0.534, IRRAD: 23571000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.6, SNOWDEPTH: .nan, TEMP: 24.200000000000003, + TMAX: 31.8, TMIN: 16.6, VAP: 17.94, WIND: 1.5803172888009012} +- {DAY: 2010-07-23, E0: 0.266, ELEV: 440.0, ES0: 0.242, ET0: 0.23199999999999998, + IRRAD: 8448000.0, LAT: 49.43613, LON: 12.98528, RAIN: 2.6, SNOWDEPTH: .nan, TEMP: 20.0, + TMAX: 22.4, TMIN: 17.6, VAP: 18.07, WIND: 2.0113129130193284} +- {DAY: 2010-07-24, E0: 0.21800000000000003, ELEV: 440.0, ES0: 0.199, ET0: 0.197, + IRRAD: 7503000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.9, SNOWDEPTH: .nan, TEMP: 15.85, + TMAX: 18.0, TMIN: 13.7, VAP: 14.26, WIND: 2.442308537237756} +- {DAY: 2010-07-25, E0: 0.393, ELEV: 440.0, ES0: 0.346, ET0: 0.344, IRRAD: 18998000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 14.05, TMAX: 18.8, + TMIN: 9.3, VAP: 10.18, WIND: 1.939480308982924} +- {DAY: 2010-07-26, E0: 0.34700000000000003, ELEV: 440.0, ES0: 0.306, ET0: 0.301, + IRRAD: 16015000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 14.899999999999999, + TMAX: 20.7, TMIN: 9.1, VAP: 11.9, WIND: 1.3648194766916872} +- {DAY: 2010-07-27, E0: 0.367, ELEV: 440.0, ES0: 0.324, ET0: 0.305, IRRAD: 16530000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.3, SNOWDEPTH: .nan, TEMP: 16.35, TMAX: 21.3, + TMIN: 11.4, VAP: 13.79, WIND: 1.3648194766916872} +- {DAY: 2010-07-28, E0: 0.282, ELEV: 440.0, ES0: 0.254, ET0: 0.24300000000000002, + IRRAD: 10520000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.16999999999999998, SNOWDEPTH: .nan, + TEMP: 16.9, TMAX: 20.4, TMIN: 13.4, VAP: 15.27, WIND: 2.65780634934697} +- {DAY: 2010-07-29, E0: 0.273, ELEV: 440.0, ES0: 0.244, ET0: 0.22999999999999998, + IRRAD: 11067000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.5, SNOWDEPTH: .nan, TEMP: 16.549999999999997, + TMAX: 18.9, TMIN: 14.2, VAP: 14.84, WIND: 1.7958151009101146} +- {DAY: 2010-07-30, E0: 0.312, ELEV: 440.0, ES0: 0.27799999999999997, ET0: 0.258, + IRRAD: 13224000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 16.049999999999997, + TMAX: 19.4, TMIN: 12.7, VAP: 13.25, WIND: 1.221154268618878} +- {DAY: 2010-07-31, E0: 0.48200000000000004, ELEV: 440.0, ES0: 0.414, ET0: 0.42800000000000005, + IRRAD: 26033000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 16.35, + TMAX: 24.1, TMIN: 8.6, VAP: 12.21, WIND: 1.221154268618878} +- {DAY: 2010-08-01, E0: 0.511, ELEV: 440.0, ES0: 0.44000000000000006, ET0: 0.46699999999999997, + IRRAD: 25874000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.4, SNOWDEPTH: .nan, TEMP: 18.75, + TMAX: 27.3, TMIN: 10.2, VAP: 13.62, WIND: 1.221154268618878} +- {DAY: 2010-08-02, E0: 0.301, ELEV: 440.0, ES0: 0.268, ET0: 0.258, IRRAD: 12301000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.8699999999999999, SNOWDEPTH: .nan, TEMP: 19.15, + TMAX: 23.4, TMIN: 14.9, VAP: 17.5, WIND: 1.221154268618878} +- {DAY: 2010-08-03, E0: 0.315, ELEV: 440.0, ES0: 0.282, ET0: 0.263, IRRAD: 12311000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.06, SNOWDEPTH: .nan, TEMP: 18.15, TMAX: 20.0, + TMIN: 16.3, VAP: 15.81, WIND: 1.8676477049465194} +- {DAY: 2010-08-04, E0: 0.4, ELEV: 440.0, ES0: 0.34900000000000003, ET0: 0.333, IRRAD: 19963000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 15.4, TMAX: 21.6, + TMIN: 9.2, VAP: 12.34, WIND: 1.1493216645824735} +- {DAY: 2010-08-05, E0: 0.255, ELEV: 440.0, ES0: 0.227, ET0: 0.21800000000000003, + IRRAD: 10993000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.4, SNOWDEPTH: .nan, TEMP: 15.2, + TMAX: 20.4, TMIN: 10.0, VAP: 14.13, WIND: 1.5084846847644964} +- {DAY: 2010-08-06, E0: 0.121, ELEV: 440.0, ES0: 0.10800000000000001, ET0: 0.12, IRRAD: 4960000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 2.8, SNOWDEPTH: .nan, TEMP: 15.5, TMAX: 16.8, + TMIN: 14.2, VAP: 16.08, WIND: 1.7958151009101146} +- {DAY: 2010-08-07, E0: 0.17099999999999999, ELEV: 440.0, ES0: 0.154, ET0: 0.155, + IRRAD: 6510000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.4, SNOWDEPTH: .nan, TEMP: 15.8, + TMAX: 18.0, TMIN: 13.6, VAP: 15.27, WIND: 2.0113129130193284} +- {DAY: 2010-08-08, E0: 0.374, ELEV: 440.0, ES0: 0.32999999999999996, ET0: 0.314, + IRRAD: 17177000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.9, SNOWDEPTH: .nan, TEMP: 16.25, + TMAX: 22.0, TMIN: 10.5, VAP: 13.93, WIND: 1.72398249687371} +- {DAY: 2010-08-09, E0: 0.384, ELEV: 440.0, ES0: 0.339, ET0: 0.331, IRRAD: 16768000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 17.65, TMAX: 22.1, + TMIN: 13.2, VAP: 13.96, WIND: 1.7958151009101146} +- {DAY: 2010-08-10, E0: 0.34900000000000003, ELEV: 440.0, ES0: 0.304, ET0: 0.316, + IRRAD: 17022000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 17.0, + TMAX: 24.6, TMIN: 9.4, VAP: 13.59, WIND: 1.077489060546069} +- {DAY: 2010-08-11, E0: 0.35, ELEV: 440.0, ES0: 0.307, ET0: 0.3, IRRAD: 15774000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 18.15, TMAX: 25.0, + TMIN: 11.3, VAP: 15.41, WIND: 1.077489060546069} +- {DAY: 2010-08-12, E0: 0.311, ELEV: 440.0, ES0: 0.275, ET0: 0.262, IRRAD: 13152000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.1, SNOWDEPTH: .nan, TEMP: 18.55, TMAX: 22.8, + TMIN: 14.3, VAP: 17.13, WIND: 1.6521498928373055} +- {DAY: 2010-08-13, E0: 0.187, ELEV: 440.0, ES0: 0.16699999999999998, ET0: 0.16599999999999998, + IRRAD: 7020000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.8, SNOWDEPTH: .nan, TEMP: 17.95, + TMAX: 20.0, TMIN: 15.9, VAP: 17.3, WIND: 1.221154268618878} +- {DAY: 2010-08-14, E0: 0.29100000000000004, ELEV: 440.0, ES0: 0.259, ET0: 0.24500000000000002, + IRRAD: 12078000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 17.65, + TMAX: 20.7, TMIN: 14.6, VAP: 16.32, WIND: 2.298643329164947} +- {DAY: 2010-08-15, E0: 0.414, ELEV: 440.0, ES0: 0.369, ET0: 0.374, IRRAD: 15896000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.7, SNOWDEPTH: .nan, TEMP: 20.85, TMAX: 25.1, + TMIN: 16.6, VAP: 16.49, WIND: 2.442308537237756} +- {DAY: 2010-08-16, E0: 0.31, ELEV: 440.0, ES0: 0.277, ET0: 0.258, IRRAD: 12819000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.1, SNOWDEPTH: .nan, TEMP: 15.8, TMAX: 18.3, + TMIN: 13.3, VAP: 13.45, WIND: 2.5859737453105653} +- {DAY: 2010-08-17, E0: 0.127, ELEV: 440.0, ES0: 0.11699999999999999, ET0: 0.132, + IRRAD: 4005000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.76, SNOWDEPTH: .nan, TEMP: 13.75, + TMAX: 14.9, TMIN: 12.6, VAP: 13.49, WIND: 3.663462805856634} +- {DAY: 2010-08-18, E0: 0.154, ELEV: 440.0, ES0: 0.141, ET0: 0.155, IRRAD: 5067000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, TEMP: 14.700000000000001, + TMAX: 17.1, TMIN: 12.3, VAP: 13.89, WIND: 2.7296389533833745} +- {DAY: 2010-08-19, E0: 0.361, ELEV: 440.0, ES0: 0.319, ET0: 0.318, IRRAD: 15911000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 16.65, TMAX: 20.7, + TMIN: 12.6, VAP: 12.71, WIND: 2.154978121092138} +- {DAY: 2010-08-20, E0: 0.391, ELEV: 440.0, ES0: 0.33199999999999996, ET0: 0.361, + IRRAD: 22793000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 16.5, + TMAX: 25.3, TMIN: 7.7, VAP: 13.12, WIND: 0.861991248436855} +- {DAY: 2010-08-21, E0: 0.426, ELEV: 440.0, ES0: 0.364, ET0: 0.39, IRRAD: 22795000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 19.25, TMAX: 27.3, + TMIN: 11.2, VAP: 15.58, WIND: 1.0056564565096642} +- {DAY: 2010-08-22, E0: 0.437, ELEV: 440.0, ES0: 0.376, ET0: 0.39, IRRAD: 21331000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 2.1, SNOWDEPTH: .nan, TEMP: 21.15, TMAX: 29.1, + TMIN: 13.2, VAP: 17.94, WIND: 1.077489060546069} +- {DAY: 2010-08-23, E0: 0.262, ELEV: 440.0, ES0: 0.231, ET0: 0.24300000000000002, + IRRAD: 11294000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.11000000000000001, SNOWDEPTH: .nan, + TEMP: 19.6, TMAX: 24.1, TMIN: 15.1, VAP: 18.71, WIND: 1.939480308982924} +- {DAY: 2010-08-24, E0: 0.31, ELEV: 440.0, ES0: 0.282, ET0: 0.27799999999999997, IRRAD: 10039000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.5, SNOWDEPTH: .nan, TEMP: 20.0, TMAX: 22.2, + TMIN: 17.8, VAP: 16.79, WIND: 2.65780634934697} +- {DAY: 2010-08-25, E0: 0.33199999999999996, ELEV: 440.0, ES0: 0.29, ET0: 0.294, IRRAD: 16736000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 14.75, TMAX: 19.2, + TMIN: 10.3, VAP: 11.97, WIND: 2.298643329164947} +- {DAY: 2010-08-26, E0: 0.315, ELEV: 440.0, ES0: 0.27799999999999997, ET0: 0.29300000000000004, + IRRAD: 13589000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.7, SNOWDEPTH: .nan, TEMP: 18.45, + TMAX: 26.0, TMIN: 10.9, VAP: 16.35, WIND: 1.939480308982924} +- {DAY: 2010-08-27, E0: 0.256, ELEV: 440.0, ES0: 0.229, ET0: 0.22599999999999998, + IRRAD: 10050000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.36, SNOWDEPTH: .nan, TEMP: 18.0, + TMAX: 21.1, TMIN: 14.9, VAP: 17.53, WIND: 3.663462805856634} +- {DAY: 2010-08-28, E0: 0.24900000000000003, ELEV: 440.0, ES0: 0.223, ET0: 0.22000000000000003, + IRRAD: 10561000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, TEMP: 14.0, + TMAX: 15.6, TMIN: 12.4, VAP: 11.9, WIND: 2.65780634934697} +- {DAY: 2010-08-29, E0: 0.252, ELEV: 440.0, ES0: 0.225, ET0: 0.209, IRRAD: 11595000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.9, SNOWDEPTH: .nan, TEMP: 11.95, TMAX: 15.5, + TMIN: 8.4, VAP: 10.76, WIND: 2.7296389533833745} +- {DAY: 2010-08-30, E0: 0.176, ELEV: 440.0, ES0: 0.157, ET0: 0.141, IRRAD: 8652000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.47000000000000003, SNOWDEPTH: .nan, TEMP: 9.399999999999999, + TMAX: 11.2, TMIN: 7.6, VAP: 9.95, WIND: 2.9451367654925877} +- {DAY: 2010-08-31, E0: 0.196, ELEV: 440.0, ES0: 0.174, ET0: 0.178, IRRAD: 10017000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.02, SNOWDEPTH: .nan, TEMP: 11.1, TMAX: 14.6, + TMIN: 7.6, VAP: 10.35, WIND: 2.083145517055733} +- {DAY: 2010-09-01, E0: 0.16799999999999998, ELEV: 440.0, ES0: 0.149, ET0: 0.142, + IRRAD: 8681000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, TEMP: 10.0, + TMAX: 14.4, TMIN: 5.6, VAP: 10.66, WIND: 1.72398249687371} +- {DAY: 2010-09-02, E0: 0.175, ELEV: 440.0, ES0: 0.154, ET0: 0.147, IRRAD: 8821000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.03, SNOWDEPTH: .nan, TEMP: 11.65, TMAX: 15.8, + TMIN: 7.5, VAP: 11.7, WIND: 1.0056564565096642} +- {DAY: 2010-09-03, E0: 0.24900000000000003, ELEV: 440.0, ES0: 0.21400000000000002, + ET0: 0.211, IRRAD: 14382000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, + TEMP: 12.35, TMAX: 17.2, TMIN: 7.5, VAP: 11.33, WIND: 1.221154268618878} +- {DAY: 2010-09-04, E0: 0.225, ELEV: 440.0, ES0: 0.20099999999999998, ET0: 0.194, + IRRAD: 9609000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.02, SNOWDEPTH: .nan, TEMP: 13.15, + TMAX: 16.6, TMIN: 9.7, VAP: 10.66, WIND: 1.5084846847644964} +- {DAY: 2010-09-05, E0: 0.306, ELEV: 440.0, ES0: 0.262, ET0: 0.277, IRRAD: 19211000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 11.1, TMAX: 16.2, + TMIN: 6.0, VAP: 9.21, WIND: 2.65780634934697} +- {DAY: 2010-09-06, E0: 0.29100000000000004, ELEV: 440.0, ES0: 0.24900000000000003, + ET0: 0.272, IRRAD: 18341000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, + TEMP: 10.75, TMAX: 15.9, TMIN: 5.6, VAP: 8.77, WIND: 2.5859737453105653} +- {DAY: 2010-09-07, E0: 0.24, ELEV: 440.0, ES0: 0.21000000000000002, ET0: 0.193, IRRAD: 13266000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.03, SNOWDEPTH: .nan, TEMP: 9.75, TMAX: 14.3, + TMIN: 5.2, VAP: 9.88, WIND: 3.663462805856634} +- {DAY: 2010-09-08, E0: 0.22000000000000003, ELEV: 440.0, ES0: 0.196, ET0: 0.152, + IRRAD: 9667000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.6, SNOWDEPTH: .nan, TEMP: 12.8, + TMAX: 14.9, TMIN: 10.7, VAP: 12.91, WIND: 3.2324671816382065} +- {DAY: 2010-09-09, E0: 0.131, ELEV: 440.0, ES0: 0.11699999999999999, ET0: 0.131, + IRRAD: 5725000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, TEMP: 13.65, + TMAX: 15.8, TMIN: 11.5, VAP: 13.18, WIND: 1.7958151009101146} +- {DAY: 2010-09-10, E0: 0.211, ELEV: 440.0, ES0: 0.184, ET0: 0.185, IRRAD: 10961000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 14.200000000000001, + TMAX: 18.6, TMIN: 9.8, VAP: 12.95, WIND: 1.2929868726552827} +- {DAY: 2010-09-11, E0: 0.286, ELEV: 440.0, ES0: 0.242, ET0: 0.253, IRRAD: 17976000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 14.05, TMAX: 21.0, + TMIN: 7.1, VAP: 11.57, WIND: 1.0056564565096642} +- {DAY: 2010-09-12, E0: 0.246, ELEV: 440.0, ES0: 0.205, ET0: 0.238, IRRAD: 16699000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 13.95, TMAX: 21.7, + TMIN: 6.2, VAP: 11.67, WIND: 0.861991248436855} +- {DAY: 2010-09-13, E0: 0.101, ELEV: 440.0, ES0: 0.088, ET0: 0.11699999999999999, + IRRAD: 5574000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.02, SNOWDEPTH: .nan, TEMP: 12.4, + TMAX: 15.9, TMIN: 8.9, VAP: 12.58, WIND: 1.221154268618878} +- {DAY: 2010-09-14, E0: 0.12, ELEV: 440.0, ES0: 0.10600000000000001, ET0: 0.10300000000000001, + IRRAD: 5860000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, TEMP: 11.2, + TMAX: 13.8, TMIN: 8.6, VAP: 12.17, WIND: 2.370475933201351} +- {DAY: 2010-09-15, E0: 0.124, ELEV: 440.0, ES0: 0.11499999999999999, ET0: 0.132, + IRRAD: 3950000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.7, SNOWDEPTH: .nan, TEMP: 13.55, + TMAX: 15.2, TMIN: 11.9, VAP: 12.81, WIND: 2.801471557419779} +- {DAY: 2010-09-16, E0: 0.24100000000000002, ELEV: 440.0, ES0: 0.21600000000000003, + ET0: 0.22400000000000003, IRRAD: 10417000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, + SNOWDEPTH: .nan, TEMP: 13.149999999999999, TMAX: 16.4, TMIN: 9.9, VAP: 10.32, WIND: 2.5859737453105653} +- {DAY: 2010-09-17, E0: 0.195, ELEV: 440.0, ES0: 0.16899999999999998, ET0: 0.192, + IRRAD: 11312000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 10.5, + TMAX: 15.9, TMIN: 5.1, VAP: 9.17, WIND: 1.939480308982924} +- {DAY: 2010-09-18, E0: 0.182, ELEV: 440.0, ES0: 0.152, ET0: 0.176, IRRAD: 14229000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 8.25, TMAX: 14.7, + TMIN: 1.8, VAP: 8.29, WIND: 1.221154268618878} +- {DAY: 2010-09-19, E0: 0.20099999999999998, ELEV: 440.0, ES0: 0.16899999999999998, + ET0: 0.186, IRRAD: 14777000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, + TEMP: 8.75, TMAX: 15.2, TMIN: 2.3, VAP: 7.79, WIND: 1.077489060546069} +- {DAY: 2010-09-20, E0: 0.176, ELEV: 440.0, ES0: 0.143, ET0: 0.19, IRRAD: 14819000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 9.8, TMAX: 18.3, + TMIN: 1.3, VAP: 9.21, WIND: 1.0056564565096642} +- {DAY: 2010-09-21, E0: 0.21000000000000002, ELEV: 440.0, ES0: 0.16999999999999998, + ET0: 0.225, IRRAD: 17280000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, + TEMP: 12.399999999999999, TMAX: 20.9, TMIN: 3.9, VAP: 9.85, WIND: 0.9338238524732597} +- {DAY: 2010-09-22, E0: 0.215, ELEV: 440.0, ES0: 0.174, ET0: 0.23500000000000001, + IRRAD: 16698000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 13.45, + TMAX: 20.8, TMIN: 6.1, VAP: 10.93, WIND: 1.3648194766916872} +- {DAY: 2010-09-23, E0: 0.191, ELEV: 440.0, ES0: 0.155, ET0: 0.198, IRRAD: 14630000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 13.600000000000001, + TMAX: 20.6, TMIN: 6.6, VAP: 12.24, WIND: 1.077489060546069} +- {DAY: 2010-09-24, E0: 0.20299999999999999, ELEV: 440.0, ES0: 0.17099999999999999, + ET0: 0.207, IRRAD: 12696000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.2, SNOWDEPTH: .nan, + TEMP: 14.600000000000001, TMAX: 21.3, TMIN: 7.9, VAP: 12.91, WIND: 1.6521498928373055} +- {DAY: 2010-09-25, E0: 0.072, ELEV: 440.0, ES0: 0.064, ET0: 0.08299999999999999, + IRRAD: 3235000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.9, SNOWDEPTH: .nan, TEMP: 12.15, + TMAX: 13.3, TMIN: 11.0, VAP: 12.81, WIND: 1.8676477049465194} +- {DAY: 2010-09-26, E0: 0.118, ELEV: 440.0, ES0: 0.10700000000000001, ET0: 0.11100000000000002, + IRRAD: 5247000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 8.95, + TMAX: 10.9, TMIN: 7.0, VAP: 9.37, WIND: 2.5859737453105653} +- {DAY: 2010-09-27, E0: 0.181, ELEV: 440.0, ES0: 0.16, ET0: 0.153, IRRAD: 9271000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 1.0, SNOWDEPTH: .nan, TEMP: 8.95, TMAX: 12.4, + TMIN: 5.5, VAP: 9.07, WIND: 3.44796499374742} +- {DAY: 2010-09-28, E0: 0.063, ELEV: 440.0, ES0: 0.05600000000000001, ET0: 0.057999999999999996, + IRRAD: 3652000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.9, SNOWDEPTH: .nan, TEMP: 8.25, + TMAX: 9.1, TMIN: 7.4, VAP: 10.45, WIND: 3.0169693695289928} +- {DAY: 2010-09-29, E0: 0.153, ELEV: 440.0, ES0: 0.134, ET0: 0.127, IRRAD: 8714000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 9.9, TMAX: 12.1, + TMIN: 7.7, VAP: 9.61, WIND: 1.4366520807280918} +- {DAY: 2010-09-30, E0: 0.13999999999999999, ELEV: 440.0, ES0: 0.123, ET0: 0.11299999999999999, + IRRAD: 7718000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 8.2, + TMAX: 12.3, TMIN: 4.1, VAP: 8.46, WIND: 1.0056564565096642} +- {DAY: 2010-10-01, E0: 0.06, ELEV: 440.0, ES0: 0.053000000000000005, ET0: 0.071, + IRRAD: 3340000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.08, SNOWDEPTH: .nan, TEMP: 7.55, + TMAX: 10.2, TMIN: 4.9, VAP: 9.54, WIND: 1.221154268618878} +- {DAY: 2010-10-02, E0: 0.11499999999999999, ELEV: 440.0, ES0: 0.10200000000000001, + ET0: 0.099, IRRAD: 6112000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, + TEMP: 10.4, TMAX: 13.8, TMIN: 7.0, VAP: 11.16, WIND: 1.5803172888009012} +- {DAY: 2010-10-03, E0: 0.152, ELEV: 440.0, ES0: 0.128, ET0: 0.134, IRRAD: 10165000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 11.25, TMAX: 12.9, + TMIN: 9.6, VAP: 11.19, WIND: 3.304299785674611} +- {DAY: 2010-10-04, E0: 0.142, ELEV: 440.0, ES0: 0.118, ET0: 0.125, IRRAD: 10677000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 10.5, TMAX: 12.3, + TMIN: 8.7, VAP: 10.96, WIND: 3.735295409893039} +- {DAY: 2010-10-05, E0: 0.121, ELEV: 440.0, ES0: 0.10600000000000001, ET0: 0.092, + IRRAD: 6490000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, TEMP: 11.3, + TMAX: 13.2, TMIN: 9.4, VAP: 12.07, WIND: 2.154978121092138} +- {DAY: 2010-10-06, E0: 0.08299999999999999, ELEV: 440.0, ES0: 0.074, ET0: 0.077, + IRRAD: 3969000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 11.0, + TMAX: 12.2, TMIN: 9.8, VAP: 12.0, WIND: 2.0113129130193284} +- {DAY: 2010-10-07, E0: 0.072, ELEV: 440.0, ES0: 0.065, ET0: 0.079, IRRAD: 3115000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 11.2, TMAX: 11.9, + TMIN: 10.5, VAP: 11.94, WIND: 2.370475933201351} +- {DAY: 2010-10-08, E0: 0.178, ELEV: 440.0, ES0: 0.148, ET0: 0.21400000000000002, + IRRAD: 12854000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 11.700000000000001, + TMAX: 16.1, TMIN: 7.3, VAP: 9.58, WIND: 3.663462805856634} +- {DAY: 2010-10-09, E0: 0.20400000000000001, ELEV: 440.0, ES0: 0.175, ET0: 0.23700000000000002, + IRRAD: 12656000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 10.600000000000001, + TMAX: 15.3, TMIN: 5.9, VAP: 7.55, WIND: 3.44796499374742} +- {DAY: 2010-10-10, E0: 0.16399999999999998, ELEV: 440.0, ES0: 0.135, ET0: 0.213, + IRRAD: 13447000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 8.85, + TMAX: 14.0, TMIN: 3.7, VAP: 6.58, WIND: 2.8733041614561836} +- {DAY: 2010-10-11, E0: 0.16, ELEV: 440.0, ES0: 0.131, ET0: 0.21200000000000002, IRRAD: 13109000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 8.9, TMAX: 14.5, + TMIN: 3.3, VAP: 6.85, WIND: 3.0169693695289928} +- {DAY: 2010-10-12, E0: 0.123, ELEV: 440.0, ES0: 0.096, ET0: 0.16299999999999998, + IRRAD: 13005000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 7.449999999999999, + TMAX: 14.2, TMIN: 0.7, VAP: 7.32, WIND: 2.5141411412741608} +- {DAY: 2010-10-13, E0: 0.11499999999999999, ELEV: 440.0, ES0: 0.092, ET0: 0.134, + IRRAD: 11311000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 6.85, + TMAX: 12.1, TMIN: 1.6, VAP: 7.62, WIND: 2.8733041614561836} +- {DAY: 2010-10-14, E0: 0.073, ELEV: 440.0, ES0: 0.052000000000000005, ET0: 0.10700000000000001, + IRRAD: 10652000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 5.5, + TMAX: 12.4, TMIN: -1.4, VAP: 7.05, WIND: 1.2929868726552827} +- {DAY: 2010-10-15, E0: 0.052000000000000005, ELEV: 440.0, ES0: 0.045, ET0: 0.05, + IRRAD: 3788000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.43, SNOWDEPTH: .nan, TEMP: 4.2, + TMAX: 8.6, TMIN: -0.2, VAP: 8.19, WIND: 0.9338238524732597} +- {DAY: 2010-10-16, E0: 0.054000000000000006, ELEV: 440.0, ES0: 0.047, ET0: 0.057999999999999996, + IRRAD: 3202000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.31, SNOWDEPTH: .nan, TEMP: 6.7, + TMAX: 7.5, TMIN: 5.9, VAP: 8.94, WIND: 1.1493216645824735} +- {DAY: 2010-10-17, E0: 0.08299999999999999, ELEV: 440.0, ES0: 0.076, ET0: 0.08399999999999999, + IRRAD: 3537000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, TEMP: 6.3, + TMAX: 7.5, TMIN: 5.1, VAP: 7.72, WIND: 2.442308537237756} +- {DAY: 2010-10-18, E0: 0.08499999999999999, ELEV: 440.0, ES0: 0.075, ET0: 0.074, + IRRAD: 5197000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 4.9, + TMAX: 7.5, TMIN: 2.3, VAP: 7.05, WIND: 1.3648194766916872} +- {DAY: 2010-10-19, E0: 0.061, ELEV: 440.0, ES0: 0.053000000000000005, ET0: 0.06999999999999999, + IRRAD: 3878000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.4, SNOWDEPTH: .nan, TEMP: 4.95, + TMAX: 7.2, TMIN: 2.7, VAP: 7.55, WIND: 2.5859737453105653} +- {DAY: 2010-10-20, E0: 0.068, ELEV: 440.0, ES0: 0.062, ET0: 0.072, IRRAD: 3005000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.52, SNOWDEPTH: .nan, TEMP: 5.449999999999999, + TMAX: 6.6, TMIN: 4.3, VAP: 7.72, WIND: 3.0169693695289928} +- {DAY: 2010-10-21, E0: 0.099, ELEV: 440.0, ES0: 0.089, ET0: 0.10200000000000001, + IRRAD: 5320000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, TEMP: 3.75, + TMAX: 6.1, TMIN: 1.4, VAP: 5.87, WIND: 2.8733041614561836} +- {DAY: 2010-10-22, E0: 0.05500000000000001, ELEV: 440.0, ES0: 0.04, ET0: 0.073, IRRAD: 8983000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 2.1, TMAX: 6.9, + TMIN: -2.7, VAP: 5.7, WIND: 1.5084846847644964} +- {DAY: 2010-10-23, E0: 0.037, ELEV: 440.0, ES0: 0.025, ET0: 0.06, IRRAD: 6012000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.21000000000000002, SNOWDEPTH: .nan, TEMP: 3.6999999999999997, + TMAX: 9.6, TMIN: -2.2, VAP: 7.35, WIND: 1.6521498928373055} +- {DAY: 2010-10-24, E0: 0.05500000000000001, ELEV: 440.0, ES0: 0.049, ET0: 0.066, + IRRAD: 2853000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.2, SNOWDEPTH: .nan, TEMP: 6.35, + TMAX: 7.6, TMIN: 5.1, VAP: 8.36, WIND: 2.370475933201351} +- {DAY: 2010-10-25, E0: 0.05600000000000001, ELEV: 440.0, ES0: 0.05, ET0: 0.05600000000000001, + IRRAD: 3202000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 3.8, + TMAX: 5.6, TMIN: 2.0, VAP: 6.78, WIND: 1.1493216645824735} +- {DAY: 2010-10-26, E0: 0.051000000000000004, ELEV: 440.0, ES0: 0.040999999999999995, + ET0: 0.06, IRRAD: 5809000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, + TEMP: 2.4, TMAX: 6.8, TMIN: -2.0, VAP: 6.07, WIND: 1.1493216645824735} +- {DAY: 2010-10-27, E0: 0.047, ELEV: 440.0, ES0: 0.031, ET0: 0.061, IRRAD: 9014000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 2.5, TMAX: 8.1, + TMIN: -3.1, VAP: 5.87, WIND: 1.1493216645824735} +- {DAY: 2010-10-28, E0: 0.071, ELEV: 440.0, ES0: 0.05600000000000001, ET0: 0.08399999999999999, + IRRAD: 7497000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 5.3999999999999995, + TMAX: 10.6, TMIN: 0.2, VAP: 6.58, WIND: 1.4366520807280918} +- {DAY: 2010-10-29, E0: 0.032, ELEV: 440.0, ES0: 0.012, ET0: 0.087, IRRAD: 9759000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 6.65, TMAX: 14.4, + TMIN: -1.1, VAP: 6.78, WIND: 1.077489060546069} +- {DAY: 2010-10-30, E0: 0.034999999999999996, ELEV: 440.0, ES0: 0.018, ET0: 0.075, + IRRAD: 8668000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 5.8500000000000005, + TMAX: 11.9, TMIN: -0.2, VAP: 7.01, WIND: 1.3648194766916872} +- {DAY: 2010-10-31, E0: 0.046, ELEV: 440.0, ES0: 0.033, ET0: 0.06899999999999999, + IRRAD: 6399000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 6.6499999999999995, + TMAX: 11.6, TMIN: 1.7, VAP: 8.06, WIND: 1.72398249687371} +- {DAY: 2010-11-01, E0: 0.073, ELEV: 440.0, ES0: 0.061, ET0: 0.071, IRRAD: 5266000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 9.8, TMAX: 14.3, + TMIN: 5.3, VAP: 9.64, WIND: 1.077489060546069} +- {DAY: 2010-11-02, E0: 0.019, ELEV: 440.0, ES0: 0.012, ET0: 0.04, IRRAD: 3367000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, TEMP: 5.45, TMAX: 8.3, + TMIN: 2.6, VAP: 8.87, WIND: 1.8676477049465194} +- {DAY: 2010-11-03, E0: 0.062, ELEV: 440.0, ES0: 0.054000000000000006, ET0: 0.074, + IRRAD: 3638000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.06, SNOWDEPTH: .nan, TEMP: 8.4, + TMAX: 11.8, TMIN: 5.0, VAP: 9.74, WIND: 3.1606345776018023} +- {DAY: 2010-11-04, E0: 0.11499999999999999, ELEV: 440.0, ES0: 0.11000000000000001, + ET0: 0.141, IRRAD: 1972000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, + TEMP: 12.9, TMAX: 15.4, TMIN: 10.4, VAP: 11.9, WIND: 4.597286658329894} +- {DAY: 2010-11-05, E0: 0.154, ELEV: 440.0, ES0: 0.144, ET0: 0.177, IRRAD: 4424000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 13.5, TMAX: 14.7, + TMIN: 12.3, VAP: 10.86, WIND: 4.166291034111466} +- {DAY: 2010-11-06, E0: 0.10800000000000001, ELEV: 440.0, ES0: 0.10400000000000001, + ET0: 0.146, IRRAD: 1597000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.5, SNOWDEPTH: .nan, + TEMP: 11.5, TMAX: 12.3, TMIN: 10.7, VAP: 9.88, WIND: 3.519797597783825} +- {DAY: 2010-11-07, E0: 0.034999999999999996, ELEV: 440.0, ES0: 0.03, ET0: 0.056999999999999995, + IRRAD: 1958000.0, LAT: 49.43613, LON: 12.98528, RAIN: 1.2, SNOWDEPTH: .nan, TEMP: 8.149999999999999, + TMAX: 10.2, TMIN: 6.1, VAP: 9.68, WIND: 1.5803172888009012} +- {DAY: 2010-11-08, E0: 0.037, ELEV: 440.0, ES0: 0.033, ET0: 0.045, IRRAD: 2280000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: .nan, TEMP: 4.6, TMAX: 5.6, + TMIN: 3.6, VAP: 7.62, WIND: 1.5084846847644964} +- {DAY: 2010-11-09, E0: 0.032, ELEV: 440.0, ES0: 0.020999999999999998, ET0: 0.048, + IRRAD: 5597000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 5.0, + TMAX: 8.1, TMIN: 1.9, VAP: 7.28, WIND: 1.5084846847644964} +- {DAY: 2010-11-10, E0: 0.032, ELEV: 440.0, ES0: 0.026000000000000002, ET0: 0.03, + IRRAD: 3253000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.05, SNOWDEPTH: .nan, TEMP: 2.6999999999999997, + TMAX: 5.8, TMIN: -0.4, VAP: 7.18, WIND: 1.221154268618878} +- {DAY: 2010-11-11, E0: 0.046, ELEV: 440.0, ES0: 0.039, ET0: 0.05500000000000001, + IRRAD: 3562000.0, LAT: 49.43613, LON: 12.98528, RAIN: 1.01, SNOWDEPTH: .nan, TEMP: 4.0, + TMAX: 6.3, TMIN: 1.7, VAP: 7.11, WIND: 3.663462805856634} +- {DAY: 2010-11-12, E0: 0.027000000000000003, ELEV: 440.0, ES0: 0.02, ET0: 0.040999999999999995, + IRRAD: 3632000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.27, SNOWDEPTH: .nan, TEMP: 6.8, + TMAX: 10.0, TMIN: 3.6, VAP: 9.44, WIND: 4.956449678511917} +- {DAY: 2010-11-13, E0: 0.101, ELEV: 440.0, ES0: 0.092, ET0: 0.149, IRRAD: 4082000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 12.6, TMAX: 16.2, + TMIN: 9.0, VAP: 11.03, WIND: 4.094458430075062} +- {DAY: 2010-11-14, E0: 0.009, ELEV: 440.0, ES0: 0.004, ET0: 0.081, IRRAD: 7485000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 11.25, TMAX: 16.8, + TMIN: 5.7, VAP: 9.74, WIND: 1.6521498928373055} +- {DAY: 2010-11-15, E0: 0.040999999999999995, ELEV: 440.0, ES0: 0.032, ET0: 0.06, + IRRAD: 4089000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.09, SNOWDEPTH: .nan, TEMP: 8.45, + TMAX: 12.2, TMIN: 4.7, VAP: 9.71, WIND: 2.083145517055733} +- {DAY: 2010-11-16, E0: 0.02, ELEV: 440.0, ES0: 0.018, ET0: 0.047, IRRAD: 1177000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.13, SNOWDEPTH: .nan, TEMP: 5.9, TMAX: 6.0, + TMIN: 5.8, VAP: 8.53, WIND: 2.298643329164947} +- {DAY: 2010-11-17, E0: 0.013000000000000001, ELEV: 440.0, ES0: 0.011, ET0: 0.033, + IRRAD: 1433000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.2, SNOWDEPTH: .nan, TEMP: 4.4, + TMAX: 5.2, TMIN: 3.6, VAP: 8.03, WIND: 1.7958151009101146} +- {DAY: 2010-11-18, E0: 0.017, ELEV: 440.0, ES0: 0.014000000000000002, ET0: 0.040999999999999995, + IRRAD: 1288000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.3, SNOWDEPTH: .nan, TEMP: 4.800000000000001, + TMAX: 4.9, TMIN: 4.7, VAP: 7.89, WIND: 1.5803172888009012} +- {DAY: 2010-11-19, E0: 0.014000000000000002, ELEV: 440.0, ES0: 0.011, ET0: 0.03, + IRRAD: 1611000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.04, SNOWDEPTH: .nan, TEMP: 3.1500000000000004, + TMAX: 4.9, TMIN: 1.4, VAP: 7.42, WIND: 1.0056564565096642} +- {DAY: 2010-11-20, E0: 0.024, ELEV: 440.0, ES0: 0.019, ET0: 0.03, IRRAD: 2629000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: .nan, TEMP: 2.95, TMAX: 4.3, + TMIN: 1.6, VAP: 6.88, WIND: 1.5084846847644964} +- {DAY: 2010-11-21, E0: 0.025, ELEV: 440.0, ES0: 0.02, ET0: 0.022, IRRAD: 2790000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.3, SNOWDEPTH: .nan, TEMP: 2.75, TMAX: 4.2, + TMIN: 1.3, VAP: 7.18, WIND: 3.376132389711016} +- {DAY: 2010-11-22, E0: 0.05600000000000001, ELEV: 440.0, ES0: 0.052000000000000005, + ET0: 0.056999999999999995, IRRAD: 1810000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.16, + SNOWDEPTH: .nan, TEMP: 5.4, TMAX: 7.0, TMIN: 3.8, VAP: 7.79, WIND: 2.8733041614561836} +- {DAY: 2010-11-23, E0: 0.033, ELEV: 440.0, ES0: 0.031, ET0: 0.036, IRRAD: 1270000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.18, SNOWDEPTH: 0.5, TEMP: 0.8500000000000001, + TMAX: 1.3, TMIN: 0.4, VAP: 6.0, WIND: 3.735295409893039} +- {DAY: 2010-11-24, E0: 0.034999999999999996, ELEV: 440.0, ES0: 0.032, ET0: 0.034, + IRRAD: 1628000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.12, SNOWDEPTH: 4.0, TEMP: 1.2, + TMAX: 1.9, TMIN: 0.5, VAP: 6.14, WIND: 3.878960617965848} +- {DAY: 2010-11-25, E0: 0.022, ELEV: 440.0, ES0: 0.016, ET0: 0.03, IRRAD: 3374000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.06999999999999999, SNOWDEPTH: 1.0, TEMP: 0.7499999999999999, + TMAX: 2.3, TMIN: -0.8, VAP: 5.66, WIND: 1.8676477049465194} +- {DAY: 2010-11-26, E0: 0.014000000000000002, ELEV: 440.0, ES0: 0.012, ET0: 0.024, + IRRAD: 1677000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.16, SNOWDEPTH: 2.0, TEMP: -1.3, + TMAX: -0.2, TMIN: -2.4, VAP: 5.23, WIND: 1.221154268618878} +- {DAY: 2010-11-27, E0: 0.024, ELEV: 440.0, ES0: 0.018, ET0: 0.026000000000000002, + IRRAD: 3588000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: 2.0, TEMP: -2.0, + TMAX: -0.4, TMIN: -3.6, VAP: 4.28, WIND: 1.221154268618878} +- {DAY: 2010-11-28, E0: 0.024, ELEV: 440.0, ES0: 0.02, ET0: 0.013000000000000001, + IRRAD: 3194000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.5, SNOWDEPTH: 2.0, TEMP: -3.85, + TMAX: -1.5, TMIN: -6.2, VAP: 4.35, WIND: 2.370475933201351} +- {DAY: 2010-11-29, E0: 0.028000000000000004, ELEV: 440.0, ES0: 0.024, ET0: 0.019, + IRRAD: 2553000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.4, SNOWDEPTH: 16.0, TEMP: -1.95, + TMAX: -1.0, TMIN: -2.9, VAP: 4.96, WIND: 1.5803172888009012} +- {DAY: 2010-11-30, E0: 0.027000000000000003, ELEV: 440.0, ES0: 0.024, ET0: 0.03, + IRRAD: 2146000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: 19.0, TEMP: -3.8000000000000003, + TMAX: -3.2, TMIN: -4.4, VAP: 3.98, WIND: 2.370475933201351} +- {DAY: 2010-12-01, E0: 0.03, ELEV: 440.0, ES0: 0.028000000000000004, ET0: 0.036, + IRRAD: 1406000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.4, SNOWDEPTH: 20.0, TEMP: -6.0, + TMAX: -4.8, TMIN: -7.2, VAP: 3.37, WIND: 4.453621450257085} +- {DAY: 2010-12-02, E0: 0.023, ELEV: 440.0, ES0: 0.019, ET0: 0.020999999999999998, + IRRAD: 3010000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: 24.0, TEMP: -7.95, + TMAX: -5.5, TMIN: -10.4, VAP: 2.87, WIND: 1.939480308982924} +- {DAY: 2010-12-03, E0: 0.019, ELEV: 440.0, ES0: 0.015, ET0: 0.015, IRRAD: 2926000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: 20.0, TEMP: -8.100000000000001, + TMAX: -5.4, TMIN: -10.8, VAP: 2.83, WIND: 0.7901586444004506} +- {DAY: 2010-12-04, E0: 0.014000000000000002, ELEV: 440.0, ES0: 0.012, ET0: 0.015, + IRRAD: 1788000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: 20.0, TEMP: -8.6, + TMAX: -5.1, TMIN: -12.1, VAP: 3.14, WIND: 2.0113129130193284} +- {DAY: 2010-12-05, E0: 0.017, ELEV: 440.0, ES0: 0.014000000000000002, ET0: 0.01, + IRRAD: 2315000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.9, SNOWDEPTH: 18.0, TEMP: -7.35, + TMAX: -3.7, TMIN: -11.0, VAP: 3.61, WIND: 1.939480308982924} +- {DAY: 2010-12-06, E0: 0.008, ELEV: 440.0, ES0: 0.006, ET0: 0.017, IRRAD: 1609000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 2.0, SNOWDEPTH: 23.0, TEMP: -1.9999999999999998, + TMAX: 0.1, TMIN: -4.1, VAP: 5.26, WIND: 1.1493216645824735} +- {DAY: 2010-12-07, E0: 0.011, ELEV: 440.0, ES0: 0.009, ET0: 0.019, IRRAD: 1671000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.5, SNOWDEPTH: 25.0, TEMP: 0.0, TMAX: 1.5, + TMIN: -1.5, VAP: 5.93, WIND: 1.0056564565096642} +- {DAY: 2010-12-08, E0: 0.02, ELEV: 440.0, ES0: 0.016, ET0: 0.022, IRRAD: 1933000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.3, SNOWDEPTH: 21.0, TEMP: 2.6500000000000004, + TMAX: 4.9, TMIN: 0.4, VAP: 7.11, WIND: 1.5803172888009012} +- {DAY: 2010-12-09, E0: 0.020999999999999998, ELEV: 440.0, ES0: 0.018, ET0: 0.024, + IRRAD: 1529000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.09, SNOWDEPTH: 14.0, TEMP: -2.0, + TMAX: -1.2, TMIN: -2.8, VAP: 4.92, WIND: 4.597286658329894} +- {DAY: 2010-12-10, E0: 0.018, ELEV: 440.0, ES0: 0.013000000000000001, ET0: 0.028999999999999998, + IRRAD: 3723000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.42000000000000004, SNOWDEPTH: 14.0, + TEMP: -2.45, TMAX: -2.0, TMIN: -2.9, VAP: 4.28, WIND: 3.0888019735653973} +- {DAY: 2010-12-11, E0: 0.007000000000000001, ELEV: 440.0, ES0: 0.005, ET0: 0.01, + IRRAD: 1355000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.6, SNOWDEPTH: 16.0, TEMP: -0.30000000000000004, + TMAX: 2.3, TMIN: -2.9, VAP: 6.07, WIND: 4.453621450257085} +- {DAY: 2010-12-12, E0: 0.039, ELEV: 440.0, ES0: 0.036, ET0: 0.043, IRRAD: 1668000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.24, SNOWDEPTH: 9.0, TEMP: 1.0499999999999998, + TMAX: 1.4, TMIN: 0.7, VAP: 5.8, WIND: 3.807128013929443} +- {DAY: 2010-12-13, E0: 0.006, ELEV: 440.0, ES0: 0.003, ET0: 0.022, IRRAD: 4070000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.05, SNOWDEPTH: 9.0, TEMP: -5.9, TMAX: -5.6, + TMIN: -6.2, VAP: 3.17, WIND: 2.5141411412741608} +- {DAY: 2010-12-14, E0: 0.014000000000000002, ELEV: 440.0, ES0: 0.011, ET0: 0.008, + IRRAD: 2280000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.27, SNOWDEPTH: 9.0, TEMP: -8.25, + TMAX: -5.4, TMIN: -11.1, VAP: 3.27, WIND: 2.083145517055733} +- {DAY: 2010-12-15, E0: 0.022, ELEV: 440.0, ES0: 0.019, ET0: 0.020999999999999998, + IRRAD: 1877000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.16, SNOWDEPTH: 9.0, TEMP: -6.65, + TMAX: -6.3, TMIN: -7.0, VAP: 3.34, WIND: 2.801471557419779} +- {DAY: 2010-12-16, E0: 0.011, ELEV: 440.0, ES0: 0.009, ET0: 0.01, IRRAD: 3137000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.06999999999999999, SNOWDEPTH: 11.0, TEMP: -9.1, + TMAX: -6.2, TMIN: -12.0, VAP: 2.8, WIND: 2.154978121092138} +- {DAY: 2010-12-17, E0: 0.011, ELEV: 440.0, ES0: 0.009, ET0: 0.016, IRRAD: 1541000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.3, SNOWDEPTH: 13.0, TEMP: -7.25, TMAX: -4.9, + TMIN: -9.6, VAP: 3.41, WIND: 1.939480308982924} +- {DAY: 2010-12-18, E0: 0.007000000000000001, ELEV: 440.0, ES0: 0.005, ET0: 0.01, + IRRAD: 3633000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: 13.0, TEMP: -7.3, + TMAX: -4.1, TMIN: -10.5, VAP: 3.03, WIND: 1.5084846847644964} +- {DAY: 2010-12-19, E0: 0.006, ELEV: 440.0, ES0: 0.004, ET0: 0.009, IRRAD: 1737000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.29, SNOWDEPTH: 13.0, TEMP: -6.75, TMAX: -0.6, + TMIN: -12.9, VAP: 4.01, WIND: 2.154978121092138} +- {DAY: 2010-12-20, E0: 0.036, ELEV: 440.0, ES0: 0.033, ET0: 0.048, IRRAD: 1538000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.41, SNOWDEPTH: 13.0, TEMP: 0.7, TMAX: 2.9, + TMIN: -1.5, VAP: 5.4, WIND: 2.65780634934697} +- {DAY: 2010-12-21, E0: 0.014000000000000002, ELEV: 440.0, ES0: 0.011, ET0: 0.018, + IRRAD: 2103000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: 13.0, TEMP: -0.19999999999999996, + TMAX: 3.5, TMIN: -3.9, VAP: 5.8, WIND: 1.2929868726552827} +- {DAY: 2010-12-22, E0: 0.017, ELEV: 440.0, ES0: 0.014000000000000002, ET0: 0.014000000000000002, + IRRAD: 2105000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: 13.0, TEMP: -0.44999999999999996, + TMAX: 1.5, TMIN: -2.4, VAP: 5.66, WIND: 1.221154268618878} +- {DAY: 2010-12-23, E0: 0.019, ELEV: 440.0, ES0: 0.016, ET0: 0.014000000000000002, + IRRAD: 2239000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: 12.0, TEMP: -0.5, + TMAX: 2.1, TMIN: -3.1, VAP: 5.66, WIND: 1.2929868726552827} +- {DAY: 2010-12-24, E0: 0.012, ELEV: 440.0, ES0: 0.01, ET0: 0.028999999999999998, + IRRAD: 1140000.0, LAT: 49.43613, LON: 12.98528, RAIN: 1.0, SNOWDEPTH: 13.0, TEMP: 0.3, + TMAX: 1.5, TMIN: -0.9, VAP: 5.8, WIND: 2.442308537237756} +- {DAY: 2010-12-25, E0: 0.034, ELEV: 440.0, ES0: 0.032, ET0: 0.031, IRRAD: 2108000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.01, SNOWDEPTH: 16.0, TEMP: -4.65, TMAX: -4.5, + TMIN: -4.8, VAP: 3.57, WIND: 2.298643329164947} +- {DAY: 2010-12-26, E0: 0.012, ELEV: 440.0, ES0: 0.009, ET0: 0.012, IRRAD: 2899000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.08, SNOWDEPTH: 16.0, TEMP: -9.95, TMAX: -7.9, + TMIN: -12.0, VAP: 2.6, WIND: 1.6521498928373055} +- {DAY: 2010-12-27, E0: 0.012, ELEV: 440.0, ES0: 0.01, ET0: 0.017, IRRAD: 1694000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.1, SNOWDEPTH: 16.0, TEMP: -6.5, TMAX: -4.2, + TMIN: -8.8, VAP: 3.54, WIND: 1.72398249687371} +- {DAY: 2010-12-28, E0: 0.016, ELEV: 440.0, ES0: 0.013000000000000001, ET0: 0.023, + IRRAD: 3146000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: 16.0, TEMP: -4.65, + TMAX: -2.7, TMIN: -6.6, VAP: 3.41, WIND: 1.4366520807280918} +- {DAY: 2010-12-29, E0: 0.004, ELEV: 440.0, ES0: 0.004, ET0: 0.006, IRRAD: 3716000.0, + LAT: 49.43613, LON: 12.98528, RAIN: 0.0, SNOWDEPTH: 15.0, TEMP: -11.35, TMAX: -8.7, + TMIN: -14.0, VAP: 2.09, WIND: 0.6464934363276413} +- {DAY: 2010-12-30, E0: 0.0, ELEV: 440.0, ES0: 0.0, ET0: 0.0, IRRAD: 5266000.0, LAT: 49.43613, + LON: 12.98528, RAIN: 0.0, SNOWDEPTH: 24.0, TEMP: -13.5, TMAX: -8.4, TMIN: -18.6, + VAP: 1.89, WIND: 0.6464934363276413} +- {DAY: 2010-12-31, E0: 0.007000000000000001, ELEV: 440.0, ES0: 0.005, ET0: 0.002, + IRRAD: 1689000.0, LAT: 49.43613, LON: 12.98528, RAIN: 0.05, SNOWDEPTH: 22.0, TEMP: -9.15, + TMAX: -3.4, TMIN: -14.9, VAP: 3.91, WIND: 1.72398249687371} diff --git a/tests/physical_models/pcse_test_code.py b/tests/physical_models/utils.py similarity index 82% rename from tests/physical_models/pcse_test_code.py rename to tests/physical_models/utils.py index f8b2685..feec0d3 100644 --- a/tests/physical_models/pcse_test_code.py +++ b/tests/physical_models/utils.py @@ -17,9 +17,12 @@ import logging import os +import torch +import yaml from pcse import signals from pcse.agromanager import AgroManager from pcse.base import ConfigurationLoader +from pcse.base.parameter_providers import ParameterProvider from pcse.base.simulationobject import SimulationObject from pcse.base.variablekiosk import VariableKiosk from pcse.base.weather import WeatherDataContainer @@ -241,3 +244,52 @@ def __init__(self, yaml_weather): weather.pop("SNOWDEPTH") wdc = WeatherDataContainer(**weather) self._store_WeatherDataContainer(wdc, wdc.DAY) + + +def prepare_engine_input(file_path, crop_model_params): + inputs = yaml.safe_load(open(file_path)) + agro_management_inputs = inputs["AgroManagement"] + cropd = inputs["ModelParameters"] + + weather_data_provider = WeatherDataProviderTestHelper(inputs["WeatherVariables"]) + crop_model_params_provider = ParameterProvider(cropdata=cropd) + external_states = inputs["ExternalStates"] + + # convert parameters to tensors + crop_model_params_provider.clear_override() + for name in crop_model_params: + value = torch.tensor(crop_model_params_provider[name], dtype=torch.float32) + crop_model_params_provider.set_override(name, value, check=False) + + # convert external states to tensors + tensor_external_states = [ + {k: v if k == "DAY" else torch.tensor(v, dtype=torch.float32) for k, v in item.items()} + for item in external_states + ] + return ( + crop_model_params_provider, + weather_data_provider, + agro_management_inputs, + tensor_external_states, + ) + + +def get_test_data(file_path): + inputs = yaml.safe_load(open(file_path)) + return inputs["ModelResults"], inputs["Precision"] + + +def calculate_numerical_grad(get_model_fn, param_name, param_value, output_index): + delta = 1e-6 + p_plus = param_value.item() + delta + p_minus = param_value.item() - delta + + model = get_model_fn() + output = model({param_name: torch.nn.Parameter(torch.tensor(p_plus, dtype=torch.float64))}) + loss_plus = output[0, :, output_index].sum() + + model = get_model_fn() + output = model({param_name: torch.nn.Parameter(torch.tensor(p_minus, dtype=torch.float64))}) + loss_minus = output[0, :, output_index].sum() + + return (loss_plus.item() - loss_minus.item()) / (2 * delta)