diff --git a/.github/workflows/build-solution.yml b/.github/workflows/build-solution.yml deleted file mode 100644 index 574deedb..00000000 --- a/.github/workflows/build-solution.yml +++ /dev/null @@ -1,31 +0,0 @@ -# This workflow will build a .NET project -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net - -name: build solution - -on: - push: - branches: [ "master" ] - pull_request: - branches: [ "master" ] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 6.0.x - - name: Restore dependencies - run: dotnet restore - working-directory: modelCsharp/SVSModel - - name: Build - run: dotnet build --no-restore - working-directory: modelCsharp/SVSModel - - name: Test - run: dotnet test --no-build --verbosity normal - working-directory: modelCsharp/SVSModel diff --git a/.github/workflows/ubuntodotnet.yml b/.github/workflows/ubuntodotnet.yml new file mode 100644 index 00000000..82a45d73 --- /dev/null +++ b/.github/workflows/ubuntodotnet.yml @@ -0,0 +1,94 @@ +# This workflow will build a .NET project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net + +name: .NET + +on: pull_request_target + + +jobs: + build: + + runs-on: ubuntu-latest + + permissions: + actions: write + pages: write + id-token: write + contents: write + pull-requests: write + deployments: write + + environment: + name: github-pages + url: ${{ steps.change-page-url.outputs.new_page_url }} + + defaults: + run: + working-directory: ./modelCsharp + + steps: + - uses: actions/checkout@v3 + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 6.0.x + + - name: Install Python 3 + uses: actions/setup-python@v1 + with: + python-version: 3.11.6 + + #installing packages + - name: Install Python pandas + run: python -m pip install --upgrade pip pandas + - name: Install Python aspose + run: python -m pip install --upgrade pip aspose.words + - name: Install Python matplotlib + run: python -m pip install --upgrade pip matplotlib + - name: Install Python pyinstaller + run: python -m pip install --upgrade pip datetime + - name: Install Python datetime + run: pip install pyinstaller + + - name: Create a temporary artifact downloads folder for graphs + run: mkdir graphs + + - name: Restore dependencies + run: dotnet restore + + - name: Build + run: dotnet build --no-restore + + - name: run + run: dotnet run --project ConsoleAppSVS-test/ConsoleAppSVS-test.csproj + + - name: run python + run: python TestModel/testGraph/testGraph/testGraph.py + + - name: moving artfacts to temp folder + run: | + mv index.html graphs + mv index.001.png graphs + + - name: Step 3 - Use the Upload Artifact GitHub Action + uses: actions/upload-artifact@v2 + with: + name: folder for graphs + path: ./modelCsharp/graphs + + - name: Deploy 🚀 + uses: actions/upload-pages-artifact@v2 + with: + path: ./modelCsharp/graphs + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Override page_url + id: change-page-url + run: echo "new_page_url=${{ steps.deployment.outputs.page_url }}index.html" >> $GITHUB_OUTPUT + \ No newline at end of file diff --git a/Untitled1.ipynb b/Untitled1.ipynb new file mode 100644 index 00000000..0df18177 --- /dev/null +++ b/Untitled1.ipynb @@ -0,0 +1,268 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "80f8560c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import os\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import datetime as dt\n", + "\n", + "\n", + "path = os.getcwd()\n", + "\n", + "#run it on machine\n", + "observed_path = os.path.join(path, \"C:\\\\Users\\\\1989s\\\\source\\\\repos\\\\SVS\\\\modelCsharp\\\\TestModel\\\\Observed\\\\SoilMineralN.xlsx\")\n", + "\n", + "\n", + "observed_data = pd.read_excel(observed_path,index_col=[0,1])\n", + "\n", + "observed_data.sort_index(axis=0,inplace=True)\n", + "\n", + "\n", + "tests = []\n", + "test_name = []\n", + "for file in os.listdir(\"C:\\\\Users\\\\1989s\\\\source\\\\repos\\\\SVS\\\\modelCsharp\\\\ConsoleAppSVS-test\\\\bin\\\\Debug\\\\net6.0\\\\OutputFiles\"):\n", + " \n", + " if file.endswith('.csv'):\n", + " tests.append(file) \n", + " test_name.append(os.path.splitext(file)[0])\n", + "\n", + "Alltests =[]\n", + "for t in tests[:]: \n", + " \n", + " testframe = pd.read_csv(\"C:\\\\Users\\\\1989s\\\\source\\\\repos\\\\SVS\\\\modelCsharp\\\\ConsoleAppSVS-test\\\\bin\\\\Debug\\\\net6.0\\\\OutputFiles\\\\\"+t,index_col=0,dayfirst=True) \n", + " \n", + " Alltests.append(testframe) \n", + "\n", + "AllData = pd.concat(Alltests,axis=1,keys=test_name)\n", + "\n", + "observed_test = observed_data.columns.get_level_values(0).drop_duplicates()\n", + "AllData.sort_index(axis=0,inplace=True)\n", + "\n", + "AllData.index = pd.to_datetime(AllData.index)\n", + "\n", + "tests = AllData.columns.get_level_values(0).drop_duplicates()\n", + "colors = pd.Series(['r','b','g'])\n", + "\n", + "#should we change it ?\n", + "start = dt.datetime.date(AllData['8Wheat'].dropna().index.min())\n", + "end = dt.datetime.date(AllData['8Wheat'].dropna().index.max())\n", + "\n", + "def makeplot(Data,color):\n", + " plt.plot(Data,color=color)\n", + " \n", + "def make_observed(observed):\n", + " plt.plot(observed.index,observed.loc[:,'0-30cm'],'*',color='g') \n", + " \n", + "Graph = plt.figure(figsize=(10,10))\n", + "pos = 1\n", + "row_num=len(tests)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "450e209b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(tests)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "3a6f38d5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['8Oat', '8Peas', '8Wheat'], dtype='object')" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tests" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "561bcb7b", + "metadata": {}, + "outputs": [], + "source": [ + "dt.datetime.date(AllData[t].dropna().index.min())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "932efb34", + "metadata": {}, + "outputs": [], + "source": [ + "dt.datetime.date(AllData[t].dropna().index.max())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0621596f", + "metadata": {}, + "outputs": [], + "source": [ + "# AllData.SoilMineralN" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1d92fc8e", + "metadata": {}, + "outputs": [], + "source": [ + "# AllData.loc[:,(t,'SoilMineralN')].values" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "ca1e0e45", + "metadata": {}, + "outputs": [], + "source": [ + "for t in tests:\n", + " start = dt.datetime.date(AllData[t].dropna().index.min())\n", + " end = dt.datetime.date(AllData[t].dropna().index.max())\n", + " datefilter = []\n", + " observed_data_currentTest = observed_data.loc[int(t[0]),:]\n", + " for d in observed_data_currentTest.index:\n", + " ret = False\n", + " if ((d >= pd.Timestamp(start)) and (d<=pd.Timestamp(end))):\n", + " ret = True\n", + " datefilter.append(ret)\n", + " \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "b2b95dab", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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aquoqEj06dNH7Nq1S/Tp00dcdNFF4r///a8QQojdu3cHtX+8YrQbpaWlSEtLw5133onLLrsMjRo1wmOPPQYAuO+++xAbGwshhPUUPzMLp7EA4Tee3bt3o3HjxhgxYoS13507d0ZqaioKCwvRv3//kBlPOI0FCL/xFBcX49JLL8Xo0aOtr61cuRKrVq1CXl4ejh49irFjx2Ly5MlISkoKYk89C6exAOE3HgCIjo5GTk4OUlNTceLECSxatAi33nor+vfvj0suuQR1dXX46KOPkJKSEpwOBi1+hQi13C2EsrBr0qRJDaoONTU1orKyMgi90yecxiJEeI1n79694pNPPrF+r5aG+/btK/785z832N7MpfBwGosQ4TceIZTpCdV7770n4uPjxbx588SmTZvERx99JCwWi/jHP/4RxB7KC6exCBF+41GniG+//XaRn59vfT0nJ0dYLBbx+eefB6trQghWgjxSL9IEAM2aNbNWG7RVhwkTJqBNmzYYO3YsoqLMe+mlcBoLEF7jadWqFVq2bAkAqK+vt14kLC0tDTU1Ndbtpk6diptuugndunULRjelhNNYgPAbDwDr9VZqa2sBAP/+97/Ro0cPAECXLl3w8ssvY/Xq1bj99tuD1kdZ4TQWIPzGU19fj+joaPTp0wcnTpwAANx7770AgMsvvxzPPvssLr744qDdb44hSGP//v348ssvUVJSgosuugj33HMPoqKi7Erd559/vvUgO2HCBMydOxdr1qzB5s2bTXWQDaexAOE9ntatW2PkyJGwWCyor69v0Ne6ujoAwLPPPovnn38eAwcODEaXXQqnsQDhPR7tfzt1dXWIiYnBgw8+aLd9SUkJ0tLS0KlTpyD12LVwGgsQGeOJjo4GAOTm5uKrr77CkCFDsGbNGixfvhytWrVCt27dcN9992HdunWIi4sLfKeDWocykZ9//lmcf/75ok+fPqJr164iPj5eTJs2zeX2e/fuFW3bthUZGRnip59+CmBPPQunsQgRGeP5y1/+YreNOqVyyy23iOeff168/vrrIj4+3nQXQAunsQgRGeNx/G/H8Yy2Z555RrRp00bs378/kF31KJzGIkTkjeenn34SLVu2FO3atbP7b+X06dNi3759QeixgiFIKBdqat26tZg0aZKor68XZWVl4p133hHt27e3W3eiqqurExMnThQxMTHi559/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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + " color = 'b'\n", + " Graph.add_subplot(row_num,2,pos)\n", + " Data = AllData.loc[:,(t,'SoilMineralN')].sort_index()\n", + " plt.xticks(rotation = 45) \n", + " plt.title(t)\n", + " makeplot(Data,color)\n", + "# make_observed(observed_data[datefilter])\n", + "# Graph.tight_layout(pad=1.5)\n", + " pos+=1\n", + " \n", + " Graph.add_subplot(row_num,2,pos)\n", + "# plt.xticks(rotation = 45) \n", + "# plt.title(\"CropN\")\n", + "# Data = AllData.loc[:,(t,'CropN')].sort_index()\n", + "# makeplot(Data,color)\n", + "# make_observed(observed_data[datefilter])\n", + " pos+=1\n", + "\n", + "# plt.savefig('testplot.png')\n", + "\n", + "# doc = aw.Document()\n", + "# builder = aw.DocumentBuilder(doc)\n", + "# builder.insert_image(\"testplot.png\")\n", + "# doc.save(\"index.html\")\n", + "\n", + "plt.show()\n", + "\n", + "# shutil.rmtree(path+\"\\\\OutputFiles\")\n", + "# shutil.rmtree(path+\"\\\\NitrogenApplied\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d4775c9d", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "87ffe50a", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/modelCsharp/ConsoleAppSVS-test/ConsoleAppSVS-test.csproj b/modelCsharp/ConsoleAppSVS-test/ConsoleAppSVS-test.csproj index 00c8944e..891d247a 100644 --- a/modelCsharp/ConsoleAppSVS-test/ConsoleAppSVS-test.csproj +++ b/modelCsharp/ConsoleAppSVS-test/ConsoleAppSVS-test.csproj @@ -8,6 +8,10 @@ enable + + + + diff --git a/modelCsharp/ConsoleAppSVS-test/Program.cs b/modelCsharp/ConsoleAppSVS-test/Program.cs index 2ef032b1..d216c24d 100644 --- a/modelCsharp/ConsoleAppSVS-test/Program.cs +++ b/modelCsharp/ConsoleAppSVS-test/Program.cs @@ -1,4 +1,16 @@ - -using TestModel; +using TestModel; -Test.RunTests(TestConfigData.configDict); \ No newline at end of file +namespace ConsoleApp1 +{ + + internal class Program + { + /// + /// The main entry point for the application. + /// + static void Main(string[] args) + { + Test.RunTests(TestConfigData.configDict); + } + } +} \ No newline at end of file diff --git a/modelCsharp/SVSModel.Excel/SVSModel.Excel.csproj b/modelCsharp/SVSModel.Excel/SVSModel.Excel.csproj index d4eaa62d..fd91b18f 100644 --- a/modelCsharp/SVSModel.Excel/SVSModel.Excel.csproj +++ b/modelCsharp/SVSModel.Excel/SVSModel.Excel.csproj @@ -9,6 +9,7 @@ + diff --git a/modelCsharp/SVSModel/SVSModel.csproj b/modelCsharp/SVSModel/SVSModel.csproj index b5a84077..4a25f252 100644 --- a/modelCsharp/SVSModel/SVSModel.csproj +++ b/modelCsharp/SVSModel/SVSModel.csproj @@ -114,6 +114,7 @@ + diff --git a/modelCsharp/TestModel/Observed/SoilMineralN.xlsx b/modelCsharp/TestModel/Observed/SoilMineralN.xlsx new file mode 100644 index 00000000..dc394d75 Binary files /dev/null and b/modelCsharp/TestModel/Observed/SoilMineralN.xlsx differ diff --git a/modelCsharp/TestModel/testGraph/OutputFiles/observed.csv b/modelCsharp/TestModel/Observed/observed.csv similarity index 100% rename from modelCsharp/TestModel/testGraph/OutputFiles/observed.csv rename to modelCsharp/TestModel/Observed/observed.csv diff --git a/modelCsharp/TestModel/TestModel/FertiliserData.csv b/modelCsharp/TestModel/TestModel/FertiliserData.csv new file mode 100644 index 00000000..25295794 --- /dev/null +++ b/modelCsharp/TestModel/TestModel/FertiliserData.csv @@ -0,0 +1,23 @@ +Site,Date,Nitrogen +8,2020-09-24,46 +8,2020-09-24,22 +8,2020-11-15,22 +8,2020-11-15,16 +8,2020-11-21,24 +8,2020-11-20,0.75 +8,2020-11-24,33.28 +8,2020-11-26,54 +8,2020-11-26,0.75 +8,2020-12-01,24 +8,2020-12-04,32 +8,2020-12-12,38.4 +8,2020-12-12,0.75 +8,2021-04-21,8.4 +8,2021-07-03,4.2 +8,2021-09-10,76 +8,2021-09-26,76 +8,2021-10-11,76 +8,2022-09-29,0.125 +8,2022-09-29,0.63 +8,2022-11-30,0.39 +8,2022-11-30,0.1 diff --git a/modelCsharp/TestModel/TestModel/Test.cs b/modelCsharp/TestModel/TestModel/Test.cs index a7fff0f9..bb69b2ef 100644 --- a/modelCsharp/TestModel/TestModel/Test.cs +++ b/modelCsharp/TestModel/TestModel/Test.cs @@ -12,48 +12,62 @@ using System; using static System.Net.Mime.MediaTypeNames; using System.Text.Json.Serialization; -//using ServiceStack; -//using ServiceStack.Text; using System.Collections.Generic; -//using Nancy.Routing.Constraints; using IronPython.Hosting; using Microsoft.Scripting.Hosting; using Microsoft.Scripting; using static IronPython.Modules._ast; using System.IO; +using CommandLine; +using static IronPython.Modules.PythonDateTime; +using System.Text.RegularExpressions; +using System.Net.Http.Json; +using Microsoft.VisualBasic; +using static IronPython.SQLite.PythonSQLite; + namespace TestModel { public class Test { - private static void runPythonScript() +/* private static void runPythonScript() { + //that is new with james + //string progToRun = dir + @"/../TestModel/testGraph/testGraph/testGraph.py"; string dir = Directory.GetCurrentDirectory(); string newPath = Path.GetFullPath(Path.Combine(dir, @"..\..\..\..\")); - string progToRun = newPath+ @"TestModel\testGraph\testGraph\testGraph.py"; - + string progToRun = newPath + @"TestModel\testGraph\testGraph\testGraph.py"; + Process proc = new Process(); proc.StartInfo.FileName = "python.exe"; proc.StartInfo.RedirectStandardOutput = true; - proc.StartInfo.UseShellExecute = false; - proc.StartInfo.Arguments =progToRun; + proc.StartInfo.UseShellExecute = false; + proc.StartInfo.Arguments = progToRun; proc.Start(); StreamReader sReader = proc.StandardOutput; proc.WaitForExit(); Console.ReadLine(); - - } + }*/ public static void RunTests(Dictionary _configDict) { string dir = Directory.GetCurrentDirectory(); - //DataFrame testConfigs = Crop.LoadCoefficients("SVSModel.Data.TestConfig.csv"); + string resourceName = "TestModel.actualDataConfig.csv"; + + // new line + string resourceFertiliser = "TestModel.FertiliserData.csv"; - string resourceName = "TestModel.TestConfig.csv"; var assembly = Assembly.GetExecutingAssembly(); Stream csv = assembly.GetManifestResourceStream(resourceName); + + //new line + Stream csvFertiliser = assembly.GetManifestResourceStream(resourceFertiliser); + DataFrame allTests = DataFrame.LoadCsv(csv); + //new line + DataFrame fertiliser = DataFrame.LoadCsv(csvFertiliser); + List Tests = new List(); foreach (DataFrameRow row in allTests.Rows) @@ -69,6 +83,40 @@ public static void RunTests(Dictionary _configDict) Dictionary testResults = new Dictionary(); Dictionary nApplied = new Dictionary(); + + int siteNumber = Int32.Parse(Regex.Match(test, @"\d+").Value); + + foreach (DataFrameRow row in fertiliser.Rows) + { + + int firstElement = Int32.Parse(row[0].ToString()); + + DateTime fertDate = Convert.ToDateTime(row[1].ToString()); + + if (firstElement == siteNumber) + + if ((fertDate > _config.Current.EstablishDate) && (fertDate <= _config.Current.HarvestDate)) + + try + { + + if (!nApplied.ContainsKey((DateTime)row[1])) + { + nApplied.Add(fertDate, (Single)row[2]); + } + else + { + nApplied[fertDate]+= (Single)row[2]; + } + + } + + catch (Exception e) + { + Trace.WriteLine(e+"something is not working properly in fertiliser department"); + + } + } string weatherStation = allTests["WeatherStation"][testRow].ToString(); @@ -102,14 +150,24 @@ public static void RunTests(Dictionary _configDict) } newDataframe.Append(nextRow, true); } + string folderName = "OutputFiles"; + + string fertiliserFolder = "NitrogenApplied"; + + if (!Directory.Exists(folderName) && !Directory.Exists(fertiliserFolder)) + { + System.IO.Directory.CreateDirectory("OutputFiles"); + + } - DataFrame.SaveCsv(newDataframe, dir + "\\OutputFiles\\" + test + ".csv"); + //DataFrame.SaveCsv(newDataframe, dir + "\\OutputFiles\\" + test + ".csv"); + DataFrame.SaveCsv(newDataframe, test + ".csv"); } - runPythonScript(); + // uncomment it if run is on local machine + //runPythonScript(); } - public static SVSModel.Configuration.Config SetConfigFromDataFrame(string test, DataFrame allTests) { int testRow = getTestRow(test, allTests); @@ -184,7 +242,6 @@ public static SVSModel.Configuration.Config SetConfigFromDataFrame(string test, return ret; } - private static int getTestRow(string test, DataFrame allTests) { int testRow = 0; diff --git a/modelCsharp/TestModel/TestModel/TestConfig.csv b/modelCsharp/TestModel/TestModel/TestConfig.csv deleted file mode 100644 index 82f887e8..00000000 --- a/modelCsharp/TestModel/TestModel/TestConfig.csv +++ /dev/null @@ -1,4 +0,0 @@ -Property,InitialN,SoilOrder,SampleDepth,BulkDensity,PMNtype,PMN,Trigger,Efficiency,Splits,AWC,PrePlantRain,InCropRain,Irrigation,PriorCropNameFull,PriorSaleableYield,PriorFieldLoss,PriorDressingLoss,PriorMoistureContent,PriorEstablishDate,PriorEstablishYear,PriorEstablishMonth,PriorEstablishDay,PriorEstablishStage,PriorHarvestDate,PriorHarvestYear,PriorHarvestMonth,PriorHarvestDay,PriorHarvestStage,PriorResidueRemoval,PriorResidueIncorporation,CurrentCropNameFull,CurrentSaleableYield,CurrentFieldLoss,CurrentDressingLoss,CurrentMoistureContent,CurrentEstablishDate,CurrentEstablishYear,CurrentEstablishMonth,CurrentEstablishDay,CurrentEstablishStage,CurrentHarvestDate,CurrentHarvestYear,CurrentHarvestMonth,CurrentHarvestDay,CurrentHarvestStage,CurrentResidueRemoval,CurrentResidueIncorporation,FollowingCropNameFull,FollowingSaleableYield,FollowingFieldLoss,FollowingDressingLoss,FollowingMoistureContent,FollowingEstablishDate,FollowingEstablishYear,FollowingEstablishMonth,FollowingEstablishDay,FollowingEstablishStage,FollowingHarvestDate,FollowingHarvestYear,FollowingHarvestMonth,FollowingHarvestDay,FollowingHarvestStage,FollowingResidueRemoval,FollowingResidueIncorporation,WeatherStation -test 1,50,Brown,0-30cm,1.22,PMN,60,30,80,3,120,Typical,Very Dry,Full,Barley Fodder General,8,0,0,0,,2011,6,10,Seed,,2011,7,10,EarlyReproductive,None removed,Full (Plough),Potato Vegetable General,64,0,0,77.69999695,,2011,8,10,Seed,,2011,9,10,LateReproductive,None removed,Full (Plough),Oat Fodder General,10,0,0,0,,2011,10,10,Seed,,2011,11,10,EarlyReproductive,None removed,Full (Plough),ashburton -test 2,50,Brown,0-30cm,1.22,PMN,60,30,80,3,120,Typical,Very Dry,Full,Barley Fodder General,8,0,0,0,,2015,6,10,Seed,,2015,7,10,EarlyReproductive,None removed,Full (Plough),Potato Vegetable General,64,0,0,77.69999695,,2015,8,10,Seed,,2015,9,10,LateReproductive,None removed,Full (Plough),Oat Fodder General,10,0,0,0,,2015,10,10,Seed,,2015,11,10,EarlyReproductive,None removed,Full (Plough),ashburton -test 3,50,Brown,0-30cm,1.22,PMN,60,30,80,3,120,Typical,Very Dry,Full,Barley Fodder General,8,0,0,0,,2020,6,10,Seed,,2020,7,10,EarlyReproductive,None removed,Full (Plough),Potato Vegetable General,64,0,0,77.69999695,,2020,8,10,Seed,,2020,9,10,LateReproductive,None removed,Full (Plough),Oat Fodder General,10,0,0,0,,2020,10,10,Seed,,2020,11,10,EarlyReproductive,None removed,Full (Plough),ashburton diff --git a/modelCsharp/TestModel/TestModel/TestModel.csproj b/modelCsharp/TestModel/TestModel/TestModel.csproj index e8603e35..adb8970c 100644 --- a/modelCsharp/TestModel/TestModel/TestModel.csproj +++ b/modelCsharp/TestModel/TestModel/TestModel.csproj @@ -8,11 +8,16 @@ + + + + - + + @@ -21,7 +26,9 @@ + + diff --git a/modelCsharp/TestModel/TestModel/actualDataConfig.csv b/modelCsharp/TestModel/TestModel/actualDataConfig.csv new file mode 100644 index 00000000..3d6c36b6 --- /dev/null +++ b/modelCsharp/TestModel/TestModel/actualDataConfig.csv @@ -0,0 +1,4 @@ +Property,InitialN,SoilOrder,SampleDepth,BulkDensity,PMNtype,PMN,Trigger,Efficiency,Splits,AWC,PrePlantRain,InCropRain,Irrigation,PriorCropNameFull,PriorSaleableYield,PriorFieldLoss,PriorDressingLoss,PriorMoistureContent,PriorEstablishDate,PriorEstablishYear,PriorEstablishMonth,PriorEstablishDay,PriorEstablishStage,PriorHarvestDate,PriorHarvestYear,PriorHarvestMonth,PriorHarvestDay,PriorHarvestStage,PriorResidueRemoval,PriorResidueIncorporation,CurrentCropNameFull,CurrentSaleableYield,CurrentFieldLoss,CurrentDressingLoss,CurrentMoistureContent,CurrentEstablishDate,CurrentEstablishYear,CurrentEstablishMonth,CurrentEstablishDay,CurrentEstablishStage,CurrentHarvestDate,CurrentHarvestYear,CurrentHarvestMonth,CurrentHarvestDay,CurrentHarvestStage,CurrentResidueRemoval,CurrentResidueIncorporation,FollowingCropNameFull,FollowingSaleableYield,FollowingFieldLoss,FollowingDressingLoss,FollowingMoistureContent,FollowingEstablishDate,FollowingEstablishYear,FollowingEstablishMonth,FollowingEstablishDay,FollowingEstablishStage,FollowingHarvestDate,FollowingHarvestYear,FollowingHarvestMonth,FollowingHarvestDay,FollowingHarvestStage,FollowingResidueRemoval,FollowingResidueIncorporation,WeatherStation +8Wheat,50,Immature Pallic,0-30cm,1.07,PMN,160,30,80,3,148,Typical,Very Dry,Full,Potato Vegetable General,88.4,0,0,30,24/09/2020,2020,9,24,Seed,17/03/2021,2021,3,21,LateReproductive,None removed,Full (Plough),Wheat Grain General,12.7,0,0,30,21/04/2021,2021,4,21,Seed,26/01/2022,2022,1,26,Maturity,Baled,Full (Plough),Pea Grain General,4.7,0,0,30,27/09/2022,2022,9,27,Seed,25/01/2023,2023,1,25,Maturity,None removed,Full (Plough),ashburton +8Peas,50,Immature Pallic,0-30cm,1.22,PMN,120,30,80,3,148,Typical,Very Dry,Full,Wheat Grain General,12.7,0,0,30,21/04/2021,2021,4,21,Seed,26/01/2022,2022,1,26,Maturity,Baled,Full (Plough),Pea Grain General,4.7,0,0,30,27/09/2022,2022,9,27,Seed,25/01/2023,2023,1,25,Maturity,None removed,Full (Plough),Oat Fodder General,10,0,0,40,10/04/2023,2023,4,10,Seed,4/08/2023,2023,8,4,Maturity,None removed,Full (Plough),ashburton +8Oat,50,Immature Pallic,0-30cm,1.31,PMN,80,30,80,3,148,Typical,Very Dry,Full,Pea Grain General,4.7,0,0,30,27/09/2022,2022,9,27,Seed,25/01/2023,2023,1,25,Maturity,None removed,Full (Plough),Oat Fodder General,10,0,0,40,10/04/2023,2023,4,10,Seed,4/08/2023,2023,8,4,Maturity,None removed,Full (Plough),Oat Fodder General,10,0,0,0,1/09/2023,2023,9,1,Seed,1/10/2023,2023,10,1,EarlyReproductive,None removed,Full (Plough),ashburton diff --git a/modelCsharp/TestModel/testGraph/OutputFiles/test 1.csv b/modelCsharp/TestModel/testGraph/OutputFiles/test 1.csv deleted file mode 100644 index 4ccf9b32..00000000 --- a/modelCsharp/TestModel/testGraph/OutputFiles/test 1.csv +++ /dev/null @@ -1,126 +0,0 @@ -Date,SoilMineralN,UptakeN,ResidueN,SoilOMN,FertiliserN,CropN,ProductN,LostN,RSWC,Drainage,Irrigation,Green cover -9/07/2011 12:00:00 am,46.657905896785714,3.8103885281118295,0.069292800000000002,0.39900162489754193,0,118.61032099212663,108.50647883353807,0,1,0,0,0.99998987909376191 -10/07/2011 12:00:00 am,43.607216617876041,3.5147988296462671,0.065250851097600024,0.3988586996389894,0,122.1251198217729,111.72186887399222,0,1,1.480000000000004,0,0.99999350482483917 -11/07/2011 12:00:00 am,44.614857712840575,0,0.61437692047517856,0.39326417448935636,0,0,0,0,0.998,0,0,0 -12/07/2011 12:00:00 am,45.719029040149842,0,0.67428962863636022,0.42988169867290627,0,0,0,0,1,1.3816000000000059,0,0 -13/07/2011 12:00:00 am,46.84781178235896,0,0.67793594913831101,0.45084679307081232,0,0,0,0,1,2.8399999999999892,0,0 -14/07/2011 12:00:00 am,47.93692582874457,0,0.63567766009485305,0.45343638629075295,0,0,0,0,1,2.3199999999999932,0,0 -15/07/2011 12:00:00 am,48.980076830734433,0,0.59002588664321076,0.45312511534664812,0,0,0,0,1,0.07000000000000739,0,0 -16/07/2011 12:00:00 am,49.925098157413771,0,0.51187607989546025,0.43314524678388083,0,0,0,0,0.99991666666666668,0,0,0 -17/07/2011 12:00:00 am,50.823041047084224,0,0.4696618241958001,0.42828106547464712,0,0,0,0,1,0.70004166666664958,0,0 -18/07/2011 12:00:00 am,51.75958317640341,0,0.48159926703193423,0.45494286228725389,0,0,0,0,1,0.79000000000000625,0,0 -19/07/2011 12:00:00 am,52.694947458154054,0,0.46681967283014325,0.46854460892050326,0,0,0,0,1,1.0800000000000125,0,0 -20/07/2011 12:00:00 am,53.555793498383011,0,0.40937864228339155,0.4514673979455634,0,0,0,0,1,4.519999999999996,0,0 -21/07/2011 12:00:00 am,54.408042261070456,0,0.39177124064729513,0.46047752204014902,0,0,0,0,1,4.2199999999999989,0,0 -22/07/2011 12:00:00 am,55.294407434923649,0,0.39645389778266699,0.48991127607052698,0,0,0,0,1,5.6400000000000006,0,0 -23/07/2011 12:00:00 am,56.145238893776487,0,0.36299261882086492,0.4878388400319788,0,0,0,0,1,1.75,0,0 -24/07/2011 12:00:00 am,56.955735286643993,0,0.32873213819069885,0.4817642546768075,0,0,0,0,1,3.0900000000000034,0,0 -25/07/2011 12:00:00 am,57.720681907590034,0,0.2939052432963058,0.47104137764973081,0,0,0,0,1,0.60999999999999943,0,0 -26/07/2011 12:00:00 am,58.425792789572185,0,0.25472917078102919,0.45038171120112142,0,0,0,0,1,0.85999999999999943,0,0 -27/07/2011 12:00:00 am,59.181557956607016,0,0.26650897006694269,0.48925619696788525,0,0,0,0,1,0.95999999999999375,0,0 -28/07/2011 12:00:00 am,59.966107491552208,0,0.26546727930916036,0.51908225563602584,0,0,0,0,1,0.54999999999999716,0,0 -29/07/2011 12:00:00 am,60.715273311503815,0,0.23725555565688072,0.5119102642947273,0,0,0,0,0.99491666666666667,0,0,0 -30/07/2011 12:00:00 am,61.447857041230549,0,0.21932314311486087,0.51326058661186991,0,0,0,0,1,0.83457500000000095,0,0 -31/07/2011 12:00:00 am,62.167431693539626,0,0.20270178488060958,0.51687286742846772,0,0,0,0,1,4.9699999999999989,0,0 -1/08/2011 12:00:00 am,62.930801821496615,0,0.20446887693584684,0.5589012510211423,0,0,0,0,1,1.0799999999999983,0,0 -2/08/2011 12:00:00 am,63.714975674437092,0,0.19609432936137308,0.58807952357910298,0,0,0,0,0.99650000000000005,0,0,0 -3/08/2011 12:00:00 am,64.484003262876001,0,0.17823634808215788,0.59079124035674391,0,0,0,0,1,0.98350000000002069,0,0 -4/08/2011 12:00:00 am,65.186043547404751,0,0.14853981752840115,0.55350046700034172,0,0,0,0,1,1.4500000000000028,0,0 -5/08/2011 12:00:00 am,65.804247372677338,0,0.11839693490921309,0.49980689036337916,0,0,0,0,1,0.69999999999998863,0,0 -6/08/2011 12:00:00 am,66.41554743311741,0,0.10938742182415888,0.50191263861591917,0,0,0,0,1,0.090000000000003411,0,0 -7/08/2011 12:00:00 am,67.030973861142698,0,0.10317880202174814,0.51224762600354523,0,0,0,0,1,1.5400000000000063,0,0 -8/08/2011 12:00:00 am,67.666395710266229,0,0.10000602878037387,0.53541582034316237,0,0,0,0,1,4.8100000000000023,0,0 -9/08/2011 12:00:00 am,68.24418314935248,0,0.08239468601412317,0.49539275307212155,0,0,0,0,1,3.0600000000000023,0,0 -10/08/2011 12:00:00 am,68.738695605029534,0,0.061820065795279232,0.43269238988178332,0,6.6938425099278485,5.6774999298864479,0,0.99244999999999994,0,0,0.012028437302309292 -11/08/2011 12:00:00 am,68.061263460597331,1.1874577282355654,0.060727824825958267,0.44929775897740815,0,7.8813002381634139,6.6846630292276084,0,0.98487381812272667,0,0,0.022276520175213144 -12/08/2011 12:00:00 am,67.058870518755199,1.544393388308734,0.061800898650022383,0.48019954781658886,0,9.4256936264721478,7.9945673690496761,0,0.97801850918982536,0,0,0.043439591876674601 -13/08/2011 12:00:00 am,65.692251513384534,1.921451581208089,0.059769844659339343,0.49506273117807631,0,11.347145207680237,9.6242802285036593,0,0.981077736402163,0,0,0.085263795155307798 -14/08/2011 12:00:00 am,63.894266671255913,2.3589439223450537,0.056600928604606381,0.50435815161182007,0,13.706089130025291,11.625059890387943,0,0.98370624260876005,0,0,0.16304724126682574 -15/08/2011 12:00:00 am,61.72521246720985,2.7096128601801652,0.050155691604937401,0.49040296452917354,0,16.415701990205456,13.923265562373219,0,0.984768766868933,0,0,0.28378083236600177 -16/08/2011 12:00:00 am,59.200549015396959,3.0413979097129094,0.043721361432565851,0.47301309646745782,0,19.457099899918365,16.502880543386262,0,0.97880560747273293,0,0,0.43770609826808865 -17/08/2011 12:00:00 am,55.660555303210153,4.1075843626610862,0.046008329311399143,0.52158232116288405,0,23.564684262579451,19.986800264596187,0,0.97515790487164888,0,0,0.62705346358114145 -18/08/2011 12:00:00 am,51.137483368019197,5.1048941169831892,0.043855124357408161,0.53796705743482798,0,28.66957837956264,24.316605746016482,0,0.97566820334040261,0,0,0.78923612427233225 -19/08/2011 12:00:00 am,45.932146809771211,5.7604204685795004,0.037871539196069781,0.51721237113545082,0,34.429998848142141,29.202407399994904,0,0.97017017441405307,0,0,0.88915297120128733 -20/08/2011 12:00:00 am,39.679045938933967,6.8081054290323664,0.034786885164958835,0.52021767303015742,0,41.238104277174507,34.976821428807703,0,0.96401149176605083,0,0,0.94529853367518657 -21/08/2011 12:00:00 am,32.242767829512381,7.9884483834617086,0.031890316984141624,0.52027995705598029,0,49.226552660636216,41.75236403676999,0,0.95574585049737881,0,0,0.97399522295501739 -22/08/2011 12:00:00 am,105.14306529192876,9.2471328050483734,0.029200464666357222,0.51822980279838304,102,58.473685465684589,49.595481913303175,20.399999999999995,0.95022622023910019,0,0,0.98786612830271192 -23/08/2011 12:00:00 am,94.794232548478703,10.900066139945331,0.027326949106159144,0.52390644738911307,0,69.37375160562992,58.840564189068317,0,0.93883773651352276,0,0,0.994518730077525 -24/08/2011 12:00:00 am,82.234640831114518,13.132048452384154,0.026419903121917415,0.5460368318980563,0,82.505800058014074,69.97874141046222,0,0.93098095587106688,0,0,0.99765663820148709 -25/08/2011 12:00:00 am,67.074037755801939,15.75960686275873,0.025572468006740654,0.5734313194394095,0,98.265406920772804,83.345528383063851,0,0.9222817672875524,0,0,0.9990594868465047 -26/08/2011 12:00:00 am,49.366817142125122,18.331103982572316,0.024375998609208256,0.59950737028629086,0,116.59651090334512,98.893375740010001,0,0.91773211495893436,0,0,0.99964212116517914 -27/08/2011 12:00:00 am,30.764904239810988,19.204494160415663,0.021285419085003029,0.58129583901652959,0,135.80100506376078,115.18200429491753,0,0.90903225789843456,0,0,0.99986100092403185 -28/08/2011 12:00:00 am,93.842578794001241,19.090939235381711,0.018174412910065007,0.55043937666189435,102,154.89194429914249,131.37431924848738,20.399999999999995,0.89602399268065547,0,0,0.99994384089951649 -29/08/2011 12:00:00 am,75.003282476753711,19.402928955993303,0.01647558156018188,0.54715705718558705,0,174.2948732551358,147.83125375566496,0,0.88479069053202553,0,0,0.99997750584179035 -30/08/2011 12:00:00 am,56.41339664593653,19.153593174588337,0.015055853485901055,0.54865149028525395,0,193.44846642972414,164.07670974667701,0,0.88002403586516242,0,0,0.9999910722962323 -31/08/2011 12:00:00 am,39.14792857610216,17.810814084414062,0.013260750399914844,0.53208526417978774,0,211.2592805141382,179.18326410099684,0,0.87057404128233429,0,0,0.99999638782858802 -1/09/2011 12:00:00 am,104.68450324467138,16.602667509501089,0.012016272321509614,0.52722590574877182,102,227.86194802363929,193.26510774779879,20.399999999999995,0.85774071092148285,0,0,0.99999854947422062 -2/09/2011 12:00:00 am,89.463986750336588,15.779143258691448,0.011461499257979582,0.54716526509868357,0,243.64109128233073,206.64846485726483,0,0.8470657121001095,0,0,0.99999944766269877 -3/09/2011 12:00:00 am,76.252714269703958,13.759667569547304,0.01025485104544561,0.53814023786922693,0,257.40075885187804,218.31896824085993,0,0.83528237927682802,0,0,0.99999978936182865 -4/09/2011 12:00:00 am,65.543976256025545,11.225724300300215,0.0087775930517579748,0.50820869357005805,0,268.62648315217825,227.84026319713553,0,0.82588237948487553,0,0,0.99999991579629 -5/09/2011 12:00:00 am,56.615809003727563,9.4384041463290487,0.007938907327078382,0.50229798670399017,0,278.0648872985073,235.84561121653499,0,0.82158237955860391,0,0,0.99999996612482245 -6/09/2011 12:00:00 am,49.228444148811562,7.8885937632141463,0.0071648809793036965,0.49406402731882804,0,285.95348106172145,242.53646037695751,0,0.80813647461541249,0,0,0.98912848154180188 -7/09/2011 12:00:00 am,43.252382721370125,6.4635658851550488,0.0064031556307790234,0.48110130208283619,0,292.4170469468765,248.01864714865965,0,0.79268458900337158,0,0,0.90156094943171206 -8/09/2011 12:00:00 am,38.420820238024376,5.311372661438611,0.0058104985977523779,0.47399967949511146,0,297.72841960831511,252.52358102904219,0,0.77781108630005458,0,0,0.81353538458115127 -9/09/2011 12:00:00 am,34.666598455460161,4.217077591783152,0.0051537800361182717,0.45770202918283465,0,301.94549720009826,256.10036935296296,0,0.76632716740517881,0,0,0.72749809821763567 -10/09/2011 12:00:00 am,31.8244062192326,3.2810213906796548,0.0044899367134338571,0.43433921773865952,0,305.22651859077791,258.88322519217814,0,0.75477100035615219,0,0,0.64513548361290074 -11/09/2011 12:00:00 am,35.763909308301677,0,3.4868152247238,0.45268786434526254,0,0,0,0,0.75372917451658616,0,0,0 -12/09/2011 12:00:00 am,39.589830202294578,0,3.3573865055048357,0.46853438848806028,0,0,0,0,0.74358368827464316,0,0,0 -13/09/2011 12:00:00 am,43.361120734229289,0,3.2773689960624846,0.49392153587223819,0,0,0,0,0.74223764039650353,0,0,0 -14/09/2011 12:00:00 am,46.941410291630504,0,3.0754684820075195,0.50482107539370691,0,0,0,0,0.74348554442355885,0,0,0 -15/09/2011 12:00:00 am,50.233787338666858,0,2.7915916988393872,0.50078534819695186,0,0,0,0,0.73361583353508775,0,0,0 -16/09/2011 12:00:00 am,53.444507327075556,0,2.685309749784405,0.52541023862429315,0,0,0,0,0.72552685019771934,0,0,0 -17/09/2011 12:00:00 am,56.434267211766766,0,2.4610106147327926,0.52874926995842275,0,0,0,0,0.71193122369310602,0,0,0 -18/09/2011 12:00:00 am,59.037473686505663,0,2.1062661750221068,0.49694029971679266,0,0,0,0,0.72385926588591043,0,0,0 -19/09/2011 12:00:00 am,61.286489668534514,0,1.7865351884397047,0.46248079358915145,0,0,0,0,0.73023149417605027,0,0,0 -20/09/2011 12:00:00 am,63.408669896684287,0,1.6574428735714855,0.46473735457830184,0,0,0,0,0.72895244302796935,0,0,0 -21/09/2011 12:00:00 am,65.401610469579239,0,1.5284675097891796,0.46447306310577102,0,0,0,0,0.72102910860831315,0,0,0 -22/09/2011 12:00:00 am,67.336135656859298,0,1.4559776809787861,0.47854750630127463,0,0,0,0,0.71207776587433425,0,0,0 -23/09/2011 12:00:00 am,69.191533807372124,0,1.367202693732996,0.4881954567798365,0,0,0,0,0.7054195438901808,0,0,0 -24/09/2011 12:00:00 am,71.069343051817853,0,1.3522853649327908,0.52552387951294333,0,0,0,0,0.70439448634571056,0,0,0 -25/09/2011 12:00:00 am,72.801260720467056,0,1.2145149278293825,0.51740274081981452,0,0,0,0,0.71023791157328198,0,0,0 -26/09/2011 12:00:00 am,74.378021842437121,0,1.0749103532350883,0.50185076873499057,0,0,0,0,0.7077831533418163,0,0,0 -27/09/2011 12:00:00 am,75.897197588987424,0,1.0062823344985572,0.51289341205175198,0,0,0,0,0.7087941569416466,0,0,0 -28/09/2011 12:00:00 am,77.270029216081454,0,0.88090907296737142,0.49192255412666402,0,0,0,0,0.70411827380281378,0,0,0 -29/09/2011 12:00:00 am,78.919928552381222,0,1.0221321905930756,0.62776714570668191,0,0,0,0,0.89562267355492653,0,24.000000000000007,0 -30/09/2011 12:00:00 am,80.569048506746512,0,0.97923036774824346,0.66988958661703812,0,0,0,0,0.88314877338272002,0,0,0 -1/10/2011 12:00:00 am,82.118314361012736,0,0.8755189037504586,0.67374695051577249,0,0,0,0,0.8740972166260943,0,0,0 -2/10/2011 12:00:00 am,83.442625453185784,0,0.71001800457554276,0.61429308759748846,0,0,0,0,0.85913685794638406,0,0,0 -3/10/2011 12:00:00 am,84.730939430121467,0,0.65620659817906091,0.63210737875662371,0,0,0,0,0.85142366459430185,0,0,0 -4/10/2011 12:00:00 am,86.007411903594218,0,0.6139241570170354,0.66254831645571499,0,0,0,0,0.86026663214093013,0,0,0 -5/10/2011 12:00:00 am,87.209770885401085,0,0.54334316310125708,0.65901581870560066,0,0,0,0,0.85312641081062268,0,0,0 -6/10/2011 12:00:00 am,88.265930411919598,0,0.44746820383463609,0.60869132268387716,0,0,0,0,0.83876439990071694,0,0,0 -7/10/2011 12:00:00 am,89.226014292354492,0,0.38183652862237316,0.57824735181251952,0,0,0,0,0.82641092690311635,0,0,0 -8/10/2011 12:00:00 am,90.203384295934697,0,0.36519254579784916,0.6121774577823782,0,0,0,0,0.82810599616962421,0,0,0 -9/10/2011 12:00:00 am,91.113300937880254,0,0.31642549409116871,0.59349114785439605,0,0,0,0,0.85496054291289836,0,0,0 -10/10/2011 12:00:00 am,91.909234585660627,0,0.2571277278249462,0.53880591995542904,0,3.8634430067246357,3.534334898744389,0,0.85109314460780738,0,0,0.0099490237355691017 -11/10/2011 12:00:00 am,92.20287435200153,0.60281034432429648,0.27286552912429934,0.62358458154089902,0,4.4662533510489322,4.0857947322558745,0,0.85601302114903433,0,0,0.015719342839355051 -12/10/2011 12:00:00 am,92.395104302309633,0.79619744949993176,0.27741137151748418,0.71101602829056609,0,5.2624508005488639,4.8141679545761829,0,0.85568463185679167,0,0,0.026316388034386878 -13/10/2011 12:00:00 am,92.412208954225449,0.89679503607783229,0.23435884341841351,0.67954084457523789,0,6.1592458366266962,5.63456933943257,0,0.85110580512109213,0,0,0.042946595626694312 -14/10/2011 12:00:00 am,92.257449798194259,1.0476869012296346,0.20897740815991298,0.68395033703854025,0,7.2069327378563308,6.5930088379648648,0,0.85319813180311155,0,0,0.069455283082758598 -15/10/2011 12:00:00 am,91.912283749542965,1.1743979774969571,0.17694865407721364,0.65228327476843717,0,8.3813307153532879,7.6673655062676369,0,0.84366751725158706,0,0,0.10879332435201047 -16/10/2011 12:00:00 am,91.402093575613648,1.2358831924051188,0.14145753189048357,0.58423548658530799,0,9.6172139077584067,8.797969760060468,0,0.82558784102173999,0,0,0.16085378500728312 -17/10/2011 12:00:00 am,90.594640324787278,1.582985469184516,0.13900599146164239,0.63652622689649363,0,11.200199376942923,10.246108318907044,0,0.80570202514054456,0,0,0.24083902618467787 -18/10/2011 12:00:00 am,89.390211638378943,2.0564106263997708,0.13800047617946709,0.71398146381198035,0,13.256610003342693,12.127343225280166,0,0.80144555458448685,0,0,0.35776832008498444 -19/10/2011 12:00:00 am,88.011722345814619,2.1513974805142198,0.11315732325897455,0.65975086469092392,0,15.408007483856913,14.095473513009843,0,0.82602005670383927,0,0,0.48083334975297154 -20/10/2011 12:00:00 am,86.416037214418978,2.2889496714428006,0.092024584921591476,0.60123995512554707,0,17.696957155299714,16.189438582811217,0,0.8097262081986436,0,0,0.59808474021313174 -21/10/2011 12:00:00 am,84.285437858915273,2.8709495158190634,0.089304480122620128,0.65104568019272846,0,20.567906671118777,18.815825732467921,0,0.79342913996859832,0,0,0.71503631278276736 -22/10/2011 12:00:00 am,81.723221243375278,3.2781365596716014,0.077984740949525413,0.63793520318208419,0,23.846043230790379,21.81471362224157,0,0.77644627993547888,0,0,0.80897489068766937 -23/10/2011 12:00:00 am,78.937165474479585,3.438434432358136,0.064413847576198821,0.58796481588622418,0,27.284477663148515,24.960244380732156,0,0.77269085876993548,0,0,0.8732336330743794 -24/10/2011 12:00:00 am,75.597834835005258,3.9854139184696038,0.057971398325565693,0.58811188066969344,0,31.269891581618118,28.606160076517316,0,0.74532410923991399,0,0,0.91935840713526384 -25/10/2011 12:00:00 am,71.372310854174131,4.9106392272056425,0.05544557039592822,0.62966967597858758,0,36.180530808823761,33.098485591775813,0,0.71895079130048933,0,0,0.95203034161712174 -26/10/2011 12:00:00 am,66.641738320734746,5.3982598988928316,0.048838444613138701,0.61884892084031318,0,41.578790707716593,38.036893721503695,0,0.71759314878833058,0,0,0.97165778038921313 -27/10/2011 12:00:00 am,61.457237724142502,5.8294873521474386,0.042689287198155276,0.60229746835705844,0,47.408278059864031,43.369795114023766,0,0.71380288750635779,0,0,0.98321498963045895 -28/10/2011 12:00:00 am,55.965648759149801,6.2936071172708736,0.047669701001816119,0.75434845127636407,0,53.701885177134905,49.127280143527123,0,0.89396680128226269,0,24.000000000000007,0.99006273824572777 -29/10/2011 12:00:00 am,49.871085524346185,6.8935405591015879,0.041869624357222281,0.75710769994074867,0,60.595425736236493,55.433593173520059,0,0.88231862769549529,0,0,0.99418638686660799 -30/10/2011 12:00:00 am,43.227972065945025,7.4373609510159895,0.03664373738833672,0.75760375522649714,0,68.032786687252482,62.237401154634682,0,0.8713288749888104,0,0,0.99662929305734882 -31/10/2011 12:00:00 am,36.234474549517458,7.7533272225084886,0.030935042805807198,0.72889466327513586,0,75.786113909760971,69.330259761892449,0,0.84767019577128033,0,0,0.99803969044435226 -1/11/2011 12:00:00 am,28.525760010496839,8.4906454200846468,0.027996129744409296,0.75393475131957366,0,84.276759329845618,77.097627979525427,0,0.82600913826101952,0,0,0.99889532653819824 -2/11/2011 12:00:00 am,20.037328081454092,9.2993119120972381,0.025300420978710551,0.7855795620757724,0,93.576071241942856,85.604776284295895,0,0.79509627865114541,0,0,0.99940325129390495 -3/11/2011 12:00:00 am,11.117177190275441,9.7396369201360073,0.022192752141410102,0.79729327681596174,0,103.31570816207886,94.514740429753616,0,0.76626530039443785,0,0,0.99968653881880276 -4/11/2011 12:00:00 am,2.6996360454379271,9.1673966043587143,0.017865855297916775,0.73198960422325277,0,112.48310476643758,102.90121065670401,0,0.73993335056005505,0,0,0.99983088287058353 -5/11/2011 12:00:00 am,-4.9707222515370688,8.3448629550853894,0.014287380355450954,0.66021727775492589,0,120.82796772152297,110.53521491561544,0,0.71318425161256382,0,0,0.99990550822497259 -6/11/2011 12:00:00 am,-11.674039145862281,7.3135156209701933,0.01164209270056016,0.59855663394441028,0,128.14148334249316,117.22572735405856,0,0.70910136771153798,0,0,0.99994469509841799 -7/11/2011 12:00:00 am,-17.204611494868715,6.221313642134902,0.01184961827810058,0.67889167485033719,0,134.36279698462806,122.91707724149308,0,0.89060162427427636,0,24.000000000000007,0.99996585937596505 -8/11/2011 12:00:00 am,-22.674012089384661,6.1881920391590199,0.010956935306279159,0.70783450933674441,0,140.55098902378708,128.57812699583485,0,0.87335168390925633,0,0,0.99997955808997885 -9/11/2011 12:00:00 am,-28.214080008183174,6.3455582493515124,0.010743667504370015,0.79474666304861818,0,146.89654727313859,134.38313769061199,0,0.87043505742016236,0,0,0.99998846409733877 -10/11/2011 12:00:00 am,-33.173952330722074,5.7598525040775428,0.0092905961614563881,0.79068958537717038,0,152.65639977721614,139.65233609249032,0,0.86293508196528312,0,0,0.99999350482483917 diff --git a/modelCsharp/TestModel/testGraph/OutputFiles/test 2.csv b/modelCsharp/TestModel/testGraph/OutputFiles/test 2.csv deleted file mode 100644 index 37cb93d6..00000000 --- a/modelCsharp/TestModel/testGraph/OutputFiles/test 2.csv +++ /dev/null @@ -1,126 +0,0 @@ -Date,SoilMineralN,UptakeN,ResidueN,SoilOMN,FertiliserN,CropN,ProductN,LostN,RSWC,Drainage,Irrigation,Green cover -9/07/2015 12:00:00 am,46.657905896785714,3.8103885281118295,0.069292800000000002,0.39900162489754193,0,118.61032099212663,108.50647883353807,0,1,0,0,0.99998987909376191 -10/07/2015 12:00:00 am,43.607216617876041,3.5147988296462671,0.065250851097600024,0.3988586996389894,0,122.1251198217729,111.72186887399222,0,1,1.480000000000004,0,0.99999350482483917 -11/07/2015 12:00:00 am,44.614857712840575,0,0.61437692047517856,0.39326417448935636,0,0,0,0,0.998,0,0,0 -12/07/2015 12:00:00 am,45.719029040149842,0,0.67428962863636022,0.42988169867290627,0,0,0,0,1,1.3816000000000059,0,0 -13/07/2015 12:00:00 am,46.84781178235896,0,0.67793594913831101,0.45084679307081232,0,0,0,0,1,2.8399999999999892,0,0 -14/07/2015 12:00:00 am,47.93692582874457,0,0.63567766009485305,0.45343638629075295,0,0,0,0,1,2.3199999999999932,0,0 -15/07/2015 12:00:00 am,48.980076830734433,0,0.59002588664321076,0.45312511534664812,0,0,0,0,1,0.07000000000000739,0,0 -16/07/2015 12:00:00 am,49.925098157413771,0,0.51187607989546025,0.43314524678388083,0,0,0,0,0.99991666666666668,0,0,0 -17/07/2015 12:00:00 am,50.823041047084224,0,0.4696618241958001,0.42828106547464712,0,0,0,0,1,0.70004166666664958,0,0 -18/07/2015 12:00:00 am,51.75958317640341,0,0.48159926703193423,0.45494286228725389,0,0,0,0,1,0.79000000000000625,0,0 -19/07/2015 12:00:00 am,52.694947458154054,0,0.46681967283014325,0.46854460892050326,0,0,0,0,1,1.0800000000000125,0,0 -20/07/2015 12:00:00 am,53.555793498383011,0,0.40937864228339155,0.4514673979455634,0,0,0,0,1,4.519999999999996,0,0 -21/07/2015 12:00:00 am,54.408042261070456,0,0.39177124064729513,0.46047752204014902,0,0,0,0,1,4.2199999999999989,0,0 -22/07/2015 12:00:00 am,55.294407434923649,0,0.39645389778266699,0.48991127607052698,0,0,0,0,1,5.6400000000000006,0,0 -23/07/2015 12:00:00 am,56.145238893776487,0,0.36299261882086492,0.4878388400319788,0,0,0,0,1,1.75,0,0 -24/07/2015 12:00:00 am,56.955735286643993,0,0.32873213819069885,0.4817642546768075,0,0,0,0,1,3.0900000000000034,0,0 -25/07/2015 12:00:00 am,57.720681907590034,0,0.2939052432963058,0.47104137764973081,0,0,0,0,1,0.60999999999999943,0,0 -26/07/2015 12:00:00 am,58.425792789572185,0,0.25472917078102919,0.45038171120112142,0,0,0,0,1,0.85999999999999943,0,0 -27/07/2015 12:00:00 am,59.181557956607016,0,0.26650897006694269,0.48925619696788525,0,0,0,0,1,0.95999999999999375,0,0 -28/07/2015 12:00:00 am,59.966107491552208,0,0.26546727930916036,0.51908225563602584,0,0,0,0,1,0.54999999999999716,0,0 -29/07/2015 12:00:00 am,60.715273311503815,0,0.23725555565688072,0.5119102642947273,0,0,0,0,0.99491666666666667,0,0,0 -30/07/2015 12:00:00 am,61.447857041230549,0,0.21932314311486087,0.51326058661186991,0,0,0,0,1,0.83457500000000095,0,0 -31/07/2015 12:00:00 am,62.167431693539626,0,0.20270178488060958,0.51687286742846772,0,0,0,0,1,4.9699999999999989,0,0 -1/08/2015 12:00:00 am,62.930801821496615,0,0.20446887693584684,0.5589012510211423,0,0,0,0,1,1.0799999999999983,0,0 -2/08/2015 12:00:00 am,63.714975674437092,0,0.19609432936137308,0.58807952357910298,0,0,0,0,0.99650000000000005,0,0,0 -3/08/2015 12:00:00 am,64.484003262876001,0,0.17823634808215788,0.59079124035674391,0,0,0,0,1,0.98350000000002069,0,0 -4/08/2015 12:00:00 am,65.186043547404751,0,0.14853981752840115,0.55350046700034172,0,0,0,0,1,1.4500000000000028,0,0 -5/08/2015 12:00:00 am,65.804247372677338,0,0.11839693490921309,0.49980689036337916,0,0,0,0,1,0.69999999999998863,0,0 -6/08/2015 12:00:00 am,66.41554743311741,0,0.10938742182415888,0.50191263861591917,0,0,0,0,1,0.090000000000003411,0,0 -7/08/2015 12:00:00 am,67.030973861142698,0,0.10317880202174814,0.51224762600354523,0,0,0,0,1,1.5400000000000063,0,0 -8/08/2015 12:00:00 am,67.666395710266229,0,0.10000602878037387,0.53541582034316237,0,0,0,0,1,4.8100000000000023,0,0 -9/08/2015 12:00:00 am,68.24418314935248,0,0.08239468601412317,0.49539275307212155,0,0,0,0,1,3.0600000000000023,0,0 -10/08/2015 12:00:00 am,68.738695605029534,0,0.061820065795279232,0.43269238988178332,0,6.6938425099278485,5.6774999298864479,0,0.99244999999999994,0,0,0.012028437302309292 -11/08/2015 12:00:00 am,68.061263460597331,1.1874577282355654,0.060727824825958267,0.44929775897740815,0,7.8813002381634139,6.6846630292276084,0,0.98487381812272667,0,0,0.022276520175213144 -12/08/2015 12:00:00 am,67.058870518755199,1.544393388308734,0.061800898650022383,0.48019954781658886,0,9.4256936264721478,7.9945673690496761,0,0.97801850918982536,0,0,0.043439591876674601 -13/08/2015 12:00:00 am,65.692251513384534,1.921451581208089,0.059769844659339343,0.49506273117807631,0,11.347145207680237,9.6242802285036593,0,0.981077736402163,0,0,0.085263795155307798 -14/08/2015 12:00:00 am,63.894266671255913,2.3589439223450537,0.056600928604606381,0.50435815161182007,0,13.706089130025291,11.625059890387943,0,0.98370624260876005,0,0,0.16304724126682574 -15/08/2015 12:00:00 am,61.72521246720985,2.7096128601801652,0.050155691604937401,0.49040296452917354,0,16.415701990205456,13.923265562373219,0,0.984768766868933,0,0,0.28378083236600177 -16/08/2015 12:00:00 am,59.200549015396959,3.0413979097129094,0.043721361432565851,0.47301309646745782,0,19.457099899918365,16.502880543386262,0,0.97880560747273293,0,0,0.43770609826808865 -17/08/2015 12:00:00 am,55.660555303210153,4.1075843626610862,0.046008329311399143,0.52158232116288405,0,23.564684262579451,19.986800264596187,0,0.97515790487164888,0,0,0.62705346358114145 -18/08/2015 12:00:00 am,51.137483368019197,5.1048941169831892,0.043855124357408161,0.53796705743482798,0,28.66957837956264,24.316605746016482,0,0.97566820334040261,0,0,0.78923612427233225 -19/08/2015 12:00:00 am,45.932146809771211,5.7604204685795004,0.037871539196069781,0.51721237113545082,0,34.429998848142141,29.202407399994904,0,0.97017017441405307,0,0,0.88915297120128733 -20/08/2015 12:00:00 am,39.679045938933967,6.8081054290323664,0.034786885164958835,0.52021767303015742,0,41.238104277174507,34.976821428807703,0,0.96401149176605083,0,0,0.94529853367518657 -21/08/2015 12:00:00 am,32.242767829512381,7.9884483834617086,0.031890316984141624,0.52027995705598029,0,49.226552660636216,41.75236403676999,0,0.95574585049737881,0,0,0.97399522295501739 -22/08/2015 12:00:00 am,105.14306529192876,9.2471328050483734,0.029200464666357222,0.51822980279838304,102,58.473685465684589,49.595481913303175,20.399999999999995,0.95022622023910019,0,0,0.98786612830271192 -23/08/2015 12:00:00 am,94.794232548478703,10.900066139945331,0.027326949106159144,0.52390644738911307,0,69.37375160562992,58.840564189068317,0,0.93883773651352276,0,0,0.994518730077525 -24/08/2015 12:00:00 am,82.234640831114518,13.132048452384154,0.026419903121917415,0.5460368318980563,0,82.505800058014074,69.97874141046222,0,0.93098095587106688,0,0,0.99765663820148709 -25/08/2015 12:00:00 am,67.074037755801939,15.75960686275873,0.025572468006740654,0.5734313194394095,0,98.265406920772804,83.345528383063851,0,0.9222817672875524,0,0,0.9990594868465047 -26/08/2015 12:00:00 am,49.366817142125122,18.331103982572316,0.024375998609208256,0.59950737028629086,0,116.59651090334512,98.893375740010001,0,0.91773211495893436,0,0,0.99964212116517914 -27/08/2015 12:00:00 am,30.764904239810988,19.204494160415663,0.021285419085003029,0.58129583901652959,0,135.80100506376078,115.18200429491753,0,0.90903225789843456,0,0,0.99986100092403185 -28/08/2015 12:00:00 am,93.842578794001241,19.090939235381711,0.018174412910065007,0.55043937666189435,102,154.89194429914249,131.37431924848738,20.399999999999995,0.89602399268065547,0,0,0.99994384089951649 -29/08/2015 12:00:00 am,75.003282476753711,19.402928955993303,0.01647558156018188,0.54715705718558705,0,174.2948732551358,147.83125375566496,0,0.88479069053202553,0,0,0.99997750584179035 -30/08/2015 12:00:00 am,56.41339664593653,19.153593174588337,0.015055853485901055,0.54865149028525395,0,193.44846642972414,164.07670974667701,0,0.88002403586516242,0,0,0.9999910722962323 -31/08/2015 12:00:00 am,39.14792857610216,17.810814084414062,0.013260750399914844,0.53208526417978774,0,211.2592805141382,179.18326410099684,0,0.87057404128233429,0,0,0.99999638782858802 -1/09/2015 12:00:00 am,104.68450324467138,16.602667509501089,0.012016272321509614,0.52722590574877182,102,227.86194802363929,193.26510774779879,20.399999999999995,0.85774071092148285,0,0,0.99999854947422062 -2/09/2015 12:00:00 am,89.463986750336588,15.779143258691448,0.011461499257979582,0.54716526509868357,0,243.64109128233073,206.64846485726483,0,0.8470657121001095,0,0,0.99999944766269877 -3/09/2015 12:00:00 am,76.252714269703958,13.759667569547304,0.01025485104544561,0.53814023786922693,0,257.40075885187804,218.31896824085993,0,0.83528237927682802,0,0,0.99999978936182865 -4/09/2015 12:00:00 am,65.543976256025545,11.225724300300215,0.0087775930517579748,0.50820869357005805,0,268.62648315217825,227.84026319713553,0,0.82588237948487553,0,0,0.99999991579629 -5/09/2015 12:00:00 am,56.615809003727563,9.4384041463290487,0.007938907327078382,0.50229798670399017,0,278.0648872985073,235.84561121653499,0,0.82158237955860391,0,0,0.99999996612482245 -6/09/2015 12:00:00 am,49.228444148811562,7.8885937632141463,0.0071648809793036965,0.49406402731882804,0,285.95348106172145,242.53646037695751,0,0.80813647461541249,0,0,0.98912848154180188 -7/09/2015 12:00:00 am,43.252382721370125,6.4635658851550488,0.0064031556307790234,0.48110130208283619,0,292.4170469468765,248.01864714865965,0,0.79268458900337158,0,0,0.90156094943171206 -8/09/2015 12:00:00 am,38.420820238024376,5.311372661438611,0.0058104985977523779,0.47399967949511146,0,297.72841960831511,252.52358102904219,0,0.77781108630005458,0,0,0.81353538458115127 -9/09/2015 12:00:00 am,34.666598455460161,4.217077591783152,0.0051537800361182717,0.45770202918283465,0,301.94549720009826,256.10036935296296,0,0.76632716740517881,0,0,0.72749809821763567 -10/09/2015 12:00:00 am,31.8244062192326,3.2810213906796548,0.0044899367134338571,0.43433921773865952,0,305.22651859077791,258.88322519217814,0,0.75477100035615219,0,0,0.64513548361290074 -11/09/2015 12:00:00 am,35.763909308301677,0,3.4868152247238,0.45268786434526254,0,0,0,0,0.75372917451658616,0,0,0 -12/09/2015 12:00:00 am,39.589830202294578,0,3.3573865055048357,0.46853438848806028,0,0,0,0,0.74358368827464316,0,0,0 -13/09/2015 12:00:00 am,43.361120734229289,0,3.2773689960624846,0.49392153587223819,0,0,0,0,0.74223764039650353,0,0,0 -14/09/2015 12:00:00 am,46.941410291630504,0,3.0754684820075195,0.50482107539370691,0,0,0,0,0.74348554442355885,0,0,0 -15/09/2015 12:00:00 am,50.233787338666858,0,2.7915916988393872,0.50078534819695186,0,0,0,0,0.73361583353508775,0,0,0 -16/09/2015 12:00:00 am,53.444507327075556,0,2.685309749784405,0.52541023862429315,0,0,0,0,0.72552685019771934,0,0,0 -17/09/2015 12:00:00 am,56.434267211766766,0,2.4610106147327926,0.52874926995842275,0,0,0,0,0.71193122369310602,0,0,0 -18/09/2015 12:00:00 am,59.037473686505663,0,2.1062661750221068,0.49694029971679266,0,0,0,0,0.72385926588591043,0,0,0 -19/09/2015 12:00:00 am,61.286489668534514,0,1.7865351884397047,0.46248079358915145,0,0,0,0,0.73023149417605027,0,0,0 -20/09/2015 12:00:00 am,63.408669896684287,0,1.6574428735714855,0.46473735457830184,0,0,0,0,0.72895244302796935,0,0,0 -21/09/2015 12:00:00 am,65.401610469579239,0,1.5284675097891796,0.46447306310577102,0,0,0,0,0.72102910860831315,0,0,0 -22/09/2015 12:00:00 am,67.336135656859298,0,1.4559776809787861,0.47854750630127463,0,0,0,0,0.71207776587433425,0,0,0 -23/09/2015 12:00:00 am,69.191533807372124,0,1.367202693732996,0.4881954567798365,0,0,0,0,0.7054195438901808,0,0,0 -24/09/2015 12:00:00 am,71.069343051817853,0,1.3522853649327908,0.52552387951294333,0,0,0,0,0.70439448634571056,0,0,0 -25/09/2015 12:00:00 am,72.801260720467056,0,1.2145149278293825,0.51740274081981452,0,0,0,0,0.71023791157328198,0,0,0 -26/09/2015 12:00:00 am,74.378021842437121,0,1.0749103532350883,0.50185076873499057,0,0,0,0,0.7077831533418163,0,0,0 -27/09/2015 12:00:00 am,75.897197588987424,0,1.0062823344985572,0.51289341205175198,0,0,0,0,0.7087941569416466,0,0,0 -28/09/2015 12:00:00 am,77.270029216081454,0,0.88090907296737142,0.49192255412666402,0,0,0,0,0.70411827380281378,0,0,0 -29/09/2015 12:00:00 am,78.919928552381222,0,1.0221321905930756,0.62776714570668191,0,0,0,0,0.89562267355492653,0,24.000000000000007,0 -30/09/2015 12:00:00 am,80.569048506746512,0,0.97923036774824346,0.66988958661703812,0,0,0,0,0.88314877338272002,0,0,0 -1/10/2015 12:00:00 am,82.118314361012736,0,0.8755189037504586,0.67374695051577249,0,0,0,0,0.8740972166260943,0,0,0 -2/10/2015 12:00:00 am,83.442625453185784,0,0.71001800457554276,0.61429308759748846,0,0,0,0,0.85913685794638406,0,0,0 -3/10/2015 12:00:00 am,84.730939430121467,0,0.65620659817906091,0.63210737875662371,0,0,0,0,0.85142366459430185,0,0,0 -4/10/2015 12:00:00 am,86.007411903594218,0,0.6139241570170354,0.66254831645571499,0,0,0,0,0.86026663214093013,0,0,0 -5/10/2015 12:00:00 am,87.209770885401085,0,0.54334316310125708,0.65901581870560066,0,0,0,0,0.85312641081062268,0,0,0 -6/10/2015 12:00:00 am,88.265930411919598,0,0.44746820383463609,0.60869132268387716,0,0,0,0,0.83876439990071694,0,0,0 -7/10/2015 12:00:00 am,89.226014292354492,0,0.38183652862237316,0.57824735181251952,0,0,0,0,0.82641092690311635,0,0,0 -8/10/2015 12:00:00 am,90.203384295934697,0,0.36519254579784916,0.6121774577823782,0,0,0,0,0.82810599616962421,0,0,0 -9/10/2015 12:00:00 am,91.113300937880254,0,0.31642549409116871,0.59349114785439605,0,0,0,0,0.85496054291289836,0,0,0 -10/10/2015 12:00:00 am,91.909234585660627,0,0.2571277278249462,0.53880591995542904,0,3.8634430067246357,3.534334898744389,0,0.85109314460780738,0,0,0.0099490237355691017 -11/10/2015 12:00:00 am,92.20287435200153,0.60281034432429648,0.27286552912429934,0.62358458154089902,0,4.4662533510489322,4.0857947322558745,0,0.85601302114903433,0,0,0.015719342839355051 -12/10/2015 12:00:00 am,92.395104302309633,0.79619744949993176,0.27741137151748418,0.71101602829056609,0,5.2624508005488639,4.8141679545761829,0,0.85568463185679167,0,0,0.026316388034386878 -13/10/2015 12:00:00 am,92.412208954225449,0.89679503607783229,0.23435884341841351,0.67954084457523789,0,6.1592458366266962,5.63456933943257,0,0.85110580512109213,0,0,0.042946595626694312 -14/10/2015 12:00:00 am,92.257449798194259,1.0476869012296346,0.20897740815991298,0.68395033703854025,0,7.2069327378563308,6.5930088379648648,0,0.85319813180311155,0,0,0.069455283082758598 -15/10/2015 12:00:00 am,91.912283749542965,1.1743979774969571,0.17694865407721364,0.65228327476843717,0,8.3813307153532879,7.6673655062676369,0,0.84366751725158706,0,0,0.10879332435201047 -16/10/2015 12:00:00 am,91.402093575613648,1.2358831924051188,0.14145753189048357,0.58423548658530799,0,9.6172139077584067,8.797969760060468,0,0.82558784102173999,0,0,0.16085378500728312 -17/10/2015 12:00:00 am,90.594640324787278,1.582985469184516,0.13900599146164239,0.63652622689649363,0,11.200199376942923,10.246108318907044,0,0.80570202514054456,0,0,0.24083902618467787 -18/10/2015 12:00:00 am,89.390211638378943,2.0564106263997708,0.13800047617946709,0.71398146381198035,0,13.256610003342693,12.127343225280166,0,0.80144555458448685,0,0,0.35776832008498444 -19/10/2015 12:00:00 am,88.011722345814619,2.1513974805142198,0.11315732325897455,0.65975086469092392,0,15.408007483856913,14.095473513009843,0,0.82602005670383927,0,0,0.48083334975297154 -20/10/2015 12:00:00 am,86.416037214418978,2.2889496714428006,0.092024584921591476,0.60123995512554707,0,17.696957155299714,16.189438582811217,0,0.8097262081986436,0,0,0.59808474021313174 -21/10/2015 12:00:00 am,84.285437858915273,2.8709495158190634,0.089304480122620128,0.65104568019272846,0,20.567906671118777,18.815825732467921,0,0.79342913996859832,0,0,0.71503631278276736 -22/10/2015 12:00:00 am,81.723221243375278,3.2781365596716014,0.077984740949525413,0.63793520318208419,0,23.846043230790379,21.81471362224157,0,0.77644627993547888,0,0,0.80897489068766937 -23/10/2015 12:00:00 am,78.937165474479585,3.438434432358136,0.064413847576198821,0.58796481588622418,0,27.284477663148515,24.960244380732156,0,0.77269085876993548,0,0,0.8732336330743794 -24/10/2015 12:00:00 am,75.597834835005258,3.9854139184696038,0.057971398325565693,0.58811188066969344,0,31.269891581618118,28.606160076517316,0,0.74532410923991399,0,0,0.91935840713526384 -25/10/2015 12:00:00 am,71.372310854174131,4.9106392272056425,0.05544557039592822,0.62966967597858758,0,36.180530808823761,33.098485591775813,0,0.71895079130048933,0,0,0.95203034161712174 -26/10/2015 12:00:00 am,66.641738320734746,5.3982598988928316,0.048838444613138701,0.61884892084031318,0,41.578790707716593,38.036893721503695,0,0.71759314878833058,0,0,0.97165778038921313 -27/10/2015 12:00:00 am,61.457237724142502,5.8294873521474386,0.042689287198155276,0.60229746835705844,0,47.408278059864031,43.369795114023766,0,0.71380288750635779,0,0,0.98321498963045895 -28/10/2015 12:00:00 am,55.965648759149801,6.2936071172708736,0.047669701001816119,0.75434845127636407,0,53.701885177134905,49.127280143527123,0,0.89396680128226269,0,24.000000000000007,0.99006273824572777 -29/10/2015 12:00:00 am,49.871085524346185,6.8935405591015879,0.041869624357222281,0.75710769994074867,0,60.595425736236493,55.433593173520059,0,0.88231862769549529,0,0,0.99418638686660799 -30/10/2015 12:00:00 am,43.227972065945025,7.4373609510159895,0.03664373738833672,0.75760375522649714,0,68.032786687252482,62.237401154634682,0,0.8713288749888104,0,0,0.99662929305734882 -31/10/2015 12:00:00 am,36.234474549517458,7.7533272225084886,0.030935042805807198,0.72889466327513586,0,75.786113909760971,69.330259761892449,0,0.84767019577128033,0,0,0.99803969044435226 -1/11/2015 12:00:00 am,28.525760010496839,8.4906454200846468,0.027996129744409296,0.75393475131957366,0,84.276759329845618,77.097627979525427,0,0.82600913826101952,0,0,0.99889532653819824 -2/11/2015 12:00:00 am,20.037328081454092,9.2993119120972381,0.025300420978710551,0.7855795620757724,0,93.576071241942856,85.604776284295895,0,0.79509627865114541,0,0,0.99940325129390495 -3/11/2015 12:00:00 am,11.117177190275441,9.7396369201360073,0.022192752141410102,0.79729327681596174,0,103.31570816207886,94.514740429753616,0,0.76626530039443785,0,0,0.99968653881880276 -4/11/2015 12:00:00 am,2.6996360454379271,9.1673966043587143,0.017865855297916775,0.73198960422325277,0,112.48310476643758,102.90121065670401,0,0.73993335056005505,0,0,0.99983088287058353 -5/11/2015 12:00:00 am,-4.9707222515370688,8.3448629550853894,0.014287380355450954,0.66021727775492589,0,120.82796772152297,110.53521491561544,0,0.71318425161256382,0,0,0.99990550822497259 -6/11/2015 12:00:00 am,-11.674039145862281,7.3135156209701933,0.01164209270056016,0.59855663394441028,0,128.14148334249316,117.22572735405856,0,0.70910136771153798,0,0,0.99994469509841799 -7/11/2015 12:00:00 am,-17.204611494868715,6.221313642134902,0.01184961827810058,0.67889167485033719,0,134.36279698462806,122.91707724149308,0,0.89060162427427636,0,24.000000000000007,0.99996585937596505 -8/11/2015 12:00:00 am,-22.674012089384661,6.1881920391590199,0.010956935306279159,0.70783450933674441,0,140.55098902378708,128.57812699583485,0,0.87335168390925633,0,0,0.99997955808997885 -9/11/2015 12:00:00 am,-28.214080008183174,6.3455582493515124,0.010743667504370015,0.79474666304861818,0,146.89654727313859,134.38313769061199,0,0.87043505742016236,0,0,0.99998846409733877 -10/11/2015 12:00:00 am,-33.173952330722074,5.7598525040775428,0.0092905961614563881,0.79068958537717038,0,152.65639977721614,139.65233609249032,0,0.86293508196528312,0,0,0.99999350482483917 diff --git a/modelCsharp/TestModel/testGraph/OutputFiles/test 3.csv b/modelCsharp/TestModel/testGraph/OutputFiles/test 3.csv deleted file mode 100644 index afe4af62..00000000 --- a/modelCsharp/TestModel/testGraph/OutputFiles/test 3.csv +++ /dev/null @@ -1,126 +0,0 @@ -Date,SoilMineralN,UptakeN,ResidueN,SoilOMN,FertiliserN,CropN,ProductN,LostN,RSWC,Drainage,Irrigation,Green cover -9/07/2020 12:00:00 am,46.604427852650382,3.8636804469886101,0.069249600000000008,0.3988586996389894,0,118.64711642282538,108.54013983865875,0,1,0,0,0.9999899241216621 -10/07/2020 12:00:00 am,43.583213525305965,3.4780033989475356,0.063524897113766382,0.39326417448935636,0,122.12511982177291,111.72186887399226,0,0.99799999999999989,0,0,0.99999350482483917 -11/07/2020 12:00:00 am,44.727578655721764,0,0.7144834317428912,0.42988169867290627,0,0,0,0,1,1.3815999999999917,0,0 -12/07/2020 12:00:00 am,45.896772554948988,0,0.71834710615641684,0.45084679307081232,0,0,0,0,1,2.8399999999999892,0,0 -13/07/2020 12:00:00 am,47.023778779449131,0,0.67356983820938787,0.45343638629075295,0,0,0,0,1,2.3199999999999932,0,0 -14/07/2020 12:00:00 am,48.102100698072327,0,0.62519680327654792,0.45312511534664812,0,0,0,0,1,0.07000000000000739,0,0 -15/07/2020 12:00:00 am,49.077634501136437,0,0.54238855628022797,0.43314524678388083,0,0,0,0,0.99991666666666668,0,0,0 -16/07/2020 12:00:00 am,50.003573513076418,0,0.49765794646533068,0.42828106547464712,0,0,0,0,1,0.70004166666664958,0,0 -17/07/2020 12:00:00 am,50.968823344981033,0,0.51030696961736177,0.45494286228725389,0,0,0,0,1,0.79000000000000625,0,0 -18/07/2020 12:00:00 am,51.932014330894305,0,0.49464637699276748,0.46854460892050326,0,0,0,0,1,1.0800000000000125,0,0 -19/07/2020 12:00:00 am,52.817263066708591,0,0.43378133786872008,0.4514673979455634,0,0,0,0,1,4.519999999999996,0,0 -20/07/2020 12:00:00 am,53.692864963480602,0,0.41512437473186337,0.46047752204014902,0,0,0,0,1,4.2199999999999989,0,0 -21/07/2020 12:00:00 am,54.602862400431952,0,0.42008616088082401,0.48991127607052698,0,0,0,0,1,5.6400000000000006,0,0 -22/07/2020 12:00:00 am,55.475331525400932,0,0.38463028493700513,0.4878388400319788,0,0,0,0,1,1.75,0,0 -23/07/2020 12:00:00 am,56.30542334770422,0,0.34832756762648426,0.4817642546768075,0,0,0,0,1,3.0900000000000034,0,0 -24/07/2020 12:00:00 am,57.087889397956801,0,0.31142467260284695,0.47104137764973081,0,0,0,0,1,0.60999999999999943,0,0 -25/07/2020 12:00:00 am,57.808184458518966,0,0.26991334936103822,0.45038171120112142,0,0,0,0,1,0.85999999999999943,0,0 -26/07/2020 12:00:00 am,58.579835987458331,0,0.28239533197148237,0.48925619696788525,0,0,0,0,1,0.95999999999999375,0,0 -27/07/2020 12:00:00 am,59.380209790051474,0,0.28129154695711056,0.51908225563602584,0,0,0,0,1,0.54999999999999716,0,0 -28/07/2020 12:00:00 am,60.143518201976931,0,0.25139814763073109,0.5119102642947273,0,0,0,0,0.99491666666666667,0,0,0 -29/07/2020 12:00:00 am,60.889175588566651,0,0.23239679997784995,0.51326058661186991,0,0,0,0,1,0.83457500000000095,0,0 -30/07/2020 12:00:00 am,61.620833113405311,0,0.21478465741019326,0.51687286742846772,0,0,0,0,1,4.9699999999999989,0,0 -31/07/2020 12:00:00 am,62.396391448672553,0,0.21665708424609889,0.5589012510211423,0,0,0,0,1,1.0799999999999983,0,0 -1/08/2020 12:00:00 am,63.192254309614825,0,0.20778333736316862,0.58807952357910298,0,0,0,0,0.99650000000000005,0,0,0 -2/08/2020 12:00:00 am,63.971906407725825,0,0.18886085775425432,0.59079124035674391,0,0,0,0,1,0.98350000000002069,0,0 -3/08/2020 12:00:00 am,64.682801018238038,0,0.15739414351186704,0.55350046700034172,0,0,0,0,1,1.4500000000000028,0,0 -4/08/2020 12:00:00 am,65.308062379157107,0,0.12545447055570014,0.49980689036337916,0,0,0,0,1,0.69999999999998863,0,0 -5/08/2020 12:00:00 am,65.925882926207706,0,0.115907908434672,0.50191263861591917,0,0,0,0,1,0.090000000000003411,0,0 -6/08/2020 12:00:00 am,66.547459750556925,0,0.10932919834567907,0.51224762600354523,0,0,0,0,1,1.5400000000000063,0,0 -7/08/2020 12:00:00 am,67.18884286982248,0,0.10596729892239487,0.53541582034316237,0,0,0,0,1,4.8100000000000023,0,0 -8/08/2020 12:00:00 am,67.771541782622734,0,0.087306159728131702,0.49539275307212155,0,0,0,0,1,3.0600000000000023,0,0 -9/08/2020 12:00:00 am,68.270116596872853,0,0.065882424368332804,0.43269238988178332,0,0,0,0,0.99816666666666665,0,0,0 -10/08/2020 12:00:00 am,68.784105847043364,0,0.064691491193107672,0.44929775897740815,0,6.7429903034406475,5.7191854929706025,0,0.99053477328900408,0,0,0.012366054321872785 -11/08/2020 12:00:00 am,68.019232427824051,1.3108787244111397,0.065805757375242205,0.48019954781658886,0,8.0538690278517873,6.8310302749318828,0,0.98362713828362991,0,0,0.024165004747747632 -12/08/2020 12:00:00 am,66.947590148898087,1.6303148360993234,0.063609825995276231,0.49506273117807631,0,9.6841838639511106,8.2138103976967543,0,0.98664869643981534,0,0,0.047999121212187572 -13/08/2020 12:00:00 am,65.510651146773412,2.0015022533314681,0.060205099594969842,0.50435815161182007,0,11.685686117282579,9.9114196387422915,0,0.98924283672560132,0,0,0.094617905872355856 -14/08/2020 12:00:00 am,63.754320380870709,2.3000553049506358,0.053321574518766492,0.49040296452917354,0,13.985741422233215,11.862251886920321,0,0.99028446582874652,0,0,0.17414282996849909 -15/08/2020 12:00:00 am,61.689711185228276,2.5840822216140289,0.046459929504132427,0.47301309646745782,0,16.569823643847243,14.053986546090336,0,0.98430591073125417,0,0,0.2913515269440855 -16/08/2020 12:00:00 am,58.764609054898074,3.4955539859248503,0.048869534431767697,0.52158232116288405,0,20.065377629772094,17.018801968707223,0,0.98066299529532508,0,0,0.4681903925886946 -17/08/2020 12:00:00 am,54.99364260999139,4.3554922728116452,0.046558770470138192,0.53796705743482798,0,24.420869902583739,20.71298913203438,0,0.9811844130505778,0,0,0.66023017883652668 -18/08/2020 12:00:00 am,50.618656920360216,4.9323843387828177,0.040186278016196439,0.51721237113545082,0,29.353254241366557,24.896477419378968,0,0.97569611211794005,0,0,0.80495390624395957 -19/08/2020 12:00:00 am,45.319102573820892,5.8566678706726734,0.036895851103191858,0.52021767303015742,0,35.20992211203923,29.863912995551608,0,0.96954587498661959,0,0,0.89811149228575726 -20/08/2020 12:00:00 am,38.96288415473596,6.9134320022453295,0.03380808510063394,0.52340549805976577,0,42.12335411428456,35.727661604785858,0,0.96128614843367532,0,0,0.94984769042271666 -21/08/2020 12:00:00 am,31.452452259285259,8.0632016820010719,0.030941506487574467,0.52182828006279991,0,50.186555796285631,42.566607534022374,0,0.95577040787276879,0,0,0.97608236143225091 -22/08/2020 12:00:00 am,103.21503821933032,9.5939167391855946,0.028943244937420603,0.52755945429323436,101,59.780472535471226,50.703856286630057,20.199999999999996,0.94438440331716877,0,0,0.98902716976637428 -23/08/2020 12:00:00 am,92.097253313872045,11.695608373144147,0.02796882854738415,0.54985463913847721,0,71.476080908615373,60.623691660710435,0,0.93652893254028835,0,0,0.99524888707419357 -24/08/2020 12:00:00 am,78.455066463608063,14.246696644015543,0.027057563949798715,0.57745222980176436,0,85.722777552630916,72.707277295948728,0,0.92783046323661567,0,0,0.9980706846272086 -25/08/2020 12:00:00 am,62.204385670554814,16.880174423263242,0.02577627094375242,0.60371735926623948,0,102.60295197589416,87.024493298925933,0,0.92328113315268323,0,0,0.99925739740311093 -26/08/2020 12:00:00 am,44.747630253470724,18.064638961353879,0.022494500214402399,0.58538904405538617,0,120.66759093724804,102.34633367452453,0,0.91458141276919691,0,0,0.99970842477211208 -27/08/2020 12:00:00 am,107.75206868341803,18.369088290992266,0.019196030193591472,0.55433069074597052,101,139.0366792282403,117.92639808887398,20.199999999999996,0.90157321499009868,0,0,0.9998809794453003 -28/08/2020 12:00:00 am,89.20350862723825,19.116990490434432,0.017392327325461764,0.55103810692918687,0,158.15366971867473,134.14080887133673,0,0.89033994486969337,0,0,0.99995183252599706 -29/08/2020 12:00:00 am,70.42896840369265,19.342973036846303,0.01588424194655955,0.55254857135413937,0,177.49664275552104,150.54689071410687,0,0.88557330291665803,0,0,0.99998068292738485 -30/08/2020 12:00:00 am,52.543869368209997,18.434956525717439,0.013982519320989775,0.53587497091379421,0,195.93159928123848,166.18282242701903,0,0.87612331421011003,0,0,0.999992104323702 -31/08/2020 12:00:00 am,35.488792331791558,17.598735318031515,0.012663724333273717,0.5309945572797965,0,213.53033459926999,181.10949845592538,0,0.86328998715971805,0,0,0.99999679667443342 -1/09/2020 12:00:00 am,99.731209901779437,17.120742850085037,0.01207256210965833,0.55108785796324178,101,230.65107744935503,195.63075678950534,20.199999999999996,0.85261498968834637,0,0,0.99999876691392975 -2/09/2020 12:00:00 am,85.019183220423457,15.264832352277068,0.010795468717730581,0.54201020220334839,0,245.9159098016321,208.57789208305974,0,0.84083165746433486,0,0,0.99999952462991526 -3/09/2020 12:00:00 am,72.839585911200373,12.700704539509218,0.0092349671249776118,0.51187226316115897,0,258.61661434114131,219.35021739929266,0,0.8314316579227401,0,0,0.99999980799980737 -4/09/2020 12:00:00 am,62.492032198426614,10.861824282654766,0.0083476929876131825,0.50592287689336968,0,269.47843862379608,228.56286417306265,0,0.82713165808717071,0,0,0.99999992196370091 -5/09/2020 12:00:00 am,53.781788811159544,9.2153956005983559,0.007529748654558484,0.49762246467672833,0,278.69383422439444,236.37906358299423,0,0.81365665816933508,0,0,0.99999996831337989 -6/09/2020 12:00:00 am,46.622653497816174,7.6502699240057837,0.0067237652095320259,0.48441084545289081,0,286.34410414840022,242.86777419916669,0,0.79793876787176798,0,0,0.98429467821482752 -7/09/2020 12:00:00 am,40.747151017424187,6.3586742531363711,0.0060962445572705108,0.47707552818710591,0,292.70277840153659,248.26099529344992,0,0.78275206927991425,0,0,0.8972584684016538 -8/09/2020 12:00:00 am,36.114407918690887,5.0986561663624457,0.0054028378675539199,0.46051022976156769,0,297.80143456789904,252.58550994764212,0,0.77098842708029613,0,0,0.81218819000691833 -9/09/2020 12:00:00 am,32.555750249219187,4.0001876318652307,0.004703018783060506,0.43682694361045776,0,301.80162219976427,255.97833924796765,0,0.75911334316569434,0,0,0.73075128224416619 -10/09/2020 12:00:00 am,29.583919023260052,3.4248963910136467,0.0045133295462420437,0.4485518355082822,0,305.22651859077791,258.88322519217814,0,0.74675928038787254,0,0,0.64513548361290063 -11/09/2020 12:00:00 am,33.645291627200123,0,3.597055514104269,0.46431708983581044,0,0,0,0,0.73672995904807481,0,0,0 -12/09/2020 12:00:00 am,37.649434356771621,0,3.5145905057158782,0.48955222385560287,0,0,0,0,0.73550385143140018,0,0,0 -13/09/2020 12:00:00 am,41.451172635817386,0,3.3013115604048116,0.50042671864096155,0,0,0,0,0.73685837378373642,0,0,0 -14/09/2020 12:00:00 am,44.946929217321127,0,2.9992506073540035,0.49650597414971887,0,0,0,0,0.72712120630806176,0,0,0 -15/09/2020 12:00:00 am,48.3555789082194,0,2.8876453465167837,0.52100434438147569,0,0,0,0,0.7191621155152339,0,0,0 -16/09/2020 12:00:00 am,51.528797042908394,0,2.6488081290903849,0.52441000559862361,0,0,0,0,0.70571499948654515,0,0,0 -17/09/2020 12:00:00 am,54.291395327755083,0,2.2696481479551762,0.49295013689152345,0,0,0,0,0.7177673661634808,0,0,0 -18/09/2020 12:00:00 am,56.677216879135273,0,1.9269920693489286,0.45882948203125984,0,0,0,0,0.72423604953255905,0,0,0 -19/09/2020 12:00:00 am,58.927562624934978,0,1.7892142500947743,0.46113149570494399,0,0,0,0,0.72306191866573921,0,0,0 -20/09/2020 12:00:00 am,61.039689647632997,0,1.6511991563191868,0.46092786637882527,0,0,0,0,0.71524166842242209,0,0,0 -21/09/2020 12:00:00 am,63.088662096664081,0,1.5740183967890284,0.47495405224206261,0,0,0,0,0.70639160589169636,0,0,0 -22/09/2020 12:00:00 am,65.619291583399672,0,1.9019268001303533,0.62870268660523709,0,0,0,0,0.89984710710719584,0,24.000000000000007,0 -23/09/2020 12:00:00 am,68.120278601511558,0,1.8275075582108826,0.67347945990101832,0,0,0,0,0.89493349829838531,0,0,0 -24/09/2020 12:00:00 am,70.370346906050969,0,1.5898802189045829,0.66018808563482312,0,0,0,0,0.89760127332674555,0,0,0 -25/09/2020 12:00:00 am,72.374728359113874,0,1.3669946631426926,0.63738678992021791,0,0,0,0,0.89139924786021052,0,0,0 -26/09/2020 12:00:00 am,74.266694867815687,0,1.2436270871143329,0.64833942158747171,0,0,0,0,0.88873792956967301,0,0,0 -27/09/2020 12:00:00 am,75.945520405790404,0,1.0596929251297589,0.61913261284496257,0,0,0,0,0.88046317097827953,0,0,0 -28/09/2020 12:00:00 am,77.484122229798061,0,0.93211646442395346,0.60648535958368988,0,0,0,0,0.86858762686786251,0,0,0 -29/09/2020 12:00:00 am,79.028236633716716,0,0.896451922169342,0.64766248174931007,0,0,0,0,0.85678960286283257,0,0,0 -30/09/2020 12:00:00 am,80.484856755811421,0,0.80480452396873969,0.65181559812597167,0,0,0,0,0.84830916146747115,0,0,0 -1/10/2020 12:00:00 am,81.734675030752101,0,0.65518824637009743,0.59463002857056935,0,0,0,0,0.83388605393689885,0,0,0 -2/10/2020 12:00:00 am,82.954814803124322,0,0.60783907971929663,0.61230069265292686,0,0,0,0,0.82676204601170455,0,0,0 -3/10/2020 12:00:00 am,84.168289705912969,0,0.57117920644086884,0.64229569634777306,0,0,0,0,0.83615989997644113,0,0,0 -4/10/2020 12:00:00 am,85.315175905667303,0,0.50753744858950844,0.63934875116481193,0,0,0,0,0.82964243589371656,0,0,0 -5/10/2020 12:00:00 am,86.325517379669122,0,0.41947624845865156,0.59086522554316512,0,0,0,0,0.8158088144194412,0,0,0 -6/10/2020 12:00:00 am,87.24634658215885,0,0.35916174095031694,0.56166746153939562,0,0,0,0,0.80401010140430473,0,0,0 -7/10/2020 12:00:00 am,88.186156117783526,0,0.3447585741404014,0.59505096148426306,0,0,0,0,0.80624652395370056,0,0,0 -8/10/2020 12:00:00 am,89.063517930443908,0,0.30003675083416936,0.57732506182620047,0,0,0,0,0.83353826014129317,0,0,0 -9/10/2020 12:00:00 am,89.832495909662015,0,0.24457892812556406,0.52439905109252094,0,0,0,0,0.83009005870536956,0,0,0 -10/10/2020 12:00:00 am,90.700196375344092,0,0.26037375450280908,0.60732671117926351,0,3.9347671890486495,3.5995833173889498,0,0.83551283474014981,0,0,0.010540692097418898 -11/10/2020 12:00:00 am,90.963453669852754,0.695317008219277,0.26561849798600717,0.69295580474193752,0,4.6300841972679265,4.2356696175006592,0,0.83571927576591976,0,0,0.017607397459535157 -12/10/2020 12:00:00 am,91.068709966499114,0.78265930138922712,0.22521204356306934,0.66270355447253826,0,5.4127434986571537,4.951657941364136,0,0.83165863007910501,0,0,0.028738827605193182 -13/10/2020 12:00:00 am,91.02387294273754,0.9139574929904164,0.20157141607550055,0.66754905315335122,0,6.32670099164757,5.7877597960627769,0,0.83437244456464255,0,0,0.04665400933111391 -14/10/2020 12:00:00 am,90.80782883534107,1.0243115726814276,0.17122973820522555,0.63703772707973527,0,7.3510125643289976,6.7248151977380086,0,0.82536881447303756,0,0,0.073729894680426469 -15/10/2020 12:00:00 am,90.438034532733411,1.0780290929907066,0.13728261159121105,0.57095217879182947,0,8.4290416573197042,7.711012182807286,0,0.80787228202582217,0,0,0.110606171130108 -16/10/2020 12:00:00 am,89.814555878160888,1.3813218477183007,0.1352690962794898,0.62257409686629717,0,9.8103635050380049,8.9746658731273588,0,0.78870859463654763,0,0,0.16989217077131349 -17/10/2020 12:00:00 am,88.852580111736273,1.7959131827917645,0.13477345283458436,0.69916396353255461,0,11.606276687829769,10.617593858866492,0,0.78537930095909969,0,0,0.2631493435148356 -18/10/2020 12:00:00 am,87.72904319601264,1.8813039199601853,0.11098296585850859,0.64678403837802856,0,13.487580607789955,12.338638556015255,0,0.81072390681673057,0,0,0.37121997782586391 -19/10/2020 12:00:00 am,86.404614026128229,2.0049440745277956,0.090521008677630882,0.58999389596575469,0,15.49252468231775,14.172791098268458,0,0.79523100205617547,0,0,0.48548112517853514 -20/10/2020 12:00:00 am,84.611696715635759,2.5204056314952865,0.088069666419365117,0.63941865458347524,0,18.012930313813037,16.478495509303034,0,0.77964487692972817,0,0,0.61266973209963871 -21/10/2020 12:00:00 am,82.429261570352708,2.8865555634522799,0.077103608569985729,0.62701680959923278,0,20.899485877265317,19.119159302535309,0,0.76328733761569345,0,0,0.7263315495120084 -22/10/2020 12:00:00 am,80.032643958377804,3.0386443384107444,0.063842208722994509,0.5781845177128172,0,23.938130215676061,21.898956160266621,0,0.75991404512933269,0,0,0.81109571474368469 -23/10/2020 12:00:00 am,77.131550847070713,3.5371877957597562,0.05755275915977863,0.57854192529288617,0,27.475318011435817,25.134827958609804,0,0.73289031540814686,0,0,0.87602538072084912 -24/10/2020 12:00:00 am,73.423917442061622,4.3823479765595046,0.055130854140687781,0.6195837174097254,0,31.857665987995322,29.143864811240164,0,0.70676306341690498,0,0,0.92438599615980543 -25/10/2020 12:00:00 am,69.231577581187025,4.8500638824903568,0.048666712319968428,0.6090573092957795,0,36.707729870485679,33.580775103740599,0,0.70555757173482847,0,0,0.95452282428398316 -26/10/2020 12:00:00 am,64.588972603753177,5.2780597806057159,0.042622873226750423,0.5928319299451128,0,41.985789651091395,38.409222384516937,0,0.70185515191068937,0,0,0.97271365868661641 -27/10/2020 12:00:00 am,59.631740078528026,5.7480955570118439,0.047851477373975708,0.74301155441272981,0,47.733885208103239,43.667665357042587,0,0.88207634844783178,0,24.000000000000007,0.98367987853684902 -28/10/2020 12:00:00 am,54.061182616689081,6.3583660209268444,0.0421024648209187,0.74570609426698908,0,54.092251229030083,49.484392791001596,0,0.87044375285560149,0,0,0.99036917135568159 -29/10/2020 12:00:00 am,47.907669237730886,6.9365938571409771,0.036912748785859803,0.74616772939690401,0,61.02884508617106,55.830091615867602,0,0.85946258595047109,0,0,0.99437292262413768 -30/10/2020 12:00:00 am,41.336740067623339,7.3199685534364676,0.031211366764171754,0.71782801656474937,0,68.348813639607528,62.526507292529857,0,0.83581058562963972,0,0,0.99670445221755177 -31/10/2020 12:00:00 am,33.982600299255097,8.1248597532360236,0.028290412754587324,0.74242957211318328,0,76.473673392843551,69.959249363082805,0,0.81415415419634851,0,0,0.99812986115799152 -1/11/2020 12:00:00 am,25.746139419376647,9.0355736599970271,0.02560438145722408,0.77350839866136589,0,85.509247052840578,78.22512600759859,0,0.78324442175027686,0,0,0.99898240874678912 -2/11/2020 12:00:00 am,16.928831106277357,9.6247758657150086,0.022496243012795767,0.78497130960293171,0,95.134022918555587,87.030013558826766,0,0.75441536817611177,0,0,0.99946151003110506 -3/11/2020 12:00:00 am,8.4495144480773661,9.2180833584754822,0.018141912664361114,0.72062478761113191,0,104.35210627703107,95.462852779358059,0,0.72808454957173696,0,0,0.99970743528094008 -4/11/2020 12:00:00 am,0.58213962423099019,8.5318324727955854,0.014531059245842422,0.64992658970336192,0,112.88393874982665,103.26789952298958,0,0.70133619009714088,0,0,0.99983545766945714 -5/11/2020 12:00:00 am,-6.2311644956686223,7.593122255867172,0.015266632997745666,0.76455150296982288,0,120.47706100569383,110.21420025335694,0,0.89725367662518474,0,24.000000000000007,0.99990311419415312 -6/11/2020 12:00:00 am,-12.098790293057078,6.5481005277706856,0.01175944744650647,0.66871528293573035,0,127.02516153346451,116.20449962505826,0,0.87875383623636094,0,0,0.99993986648922917 -7/11/2020 12:00:00 am,-17.988565256213462,6.5978364249689321,0.010889118389952877,0.69717234342261014,0,133.62299795843344,122.24029813234468,0,0.86150395332040575,0,0,0.99996378729401358 -8/11/2020 12:00:00 am,-24.052199288012844,6.8570957850542982,0.010696057808641754,0.78276569544631314,0,140.48009374348774,128.51327094311657,0,0.85858736498615507,0,0,0.99997943297617198 -9/11/2020 12:00:00 am,-29.572323373288953,6.3081367276954552,0.0092673249087014097,0.77874531751064202,0,146.7882304711832,134.28404787548982,0,0.85108741305635427,0,0,0.99998834530509761 -10/11/2020 12:00:00 am,-34.639776040197091,5.8681693060328826,0.0081935408252666233,0.79252309829943546,0,152.65639977721608,139.65233609249026,0,0.83908744207275432,0,0,0.99999350482483917 diff --git a/modelCsharp/TestModel/testGraph/testGraph/example.csv b/modelCsharp/TestModel/testGraph/testGraph/example.csv deleted file mode 100644 index 831becb7..00000000 --- a/modelCsharp/TestModel/testGraph/testGraph/example.csv +++ /dev/null @@ -1,13 +0,0 @@ -1,135 -2,6 -3,5 -4,11 -5,54 -6,25 -7,65 -8,76 -9,132 -10,34 -11,68 -12,98 -13,39 diff --git a/modelCsharp/TestModel/testGraph/testGraph/testGraph.py b/modelCsharp/TestModel/testGraph/testGraph/testGraph.py index 10f9a71e..e1ee22a6 100644 --- a/modelCsharp/TestModel/testGraph/testGraph/testGraph.py +++ b/modelCsharp/TestModel/testGraph/testGraph/testGraph.py @@ -2,34 +2,46 @@ import pandas as pd import matplotlib.pyplot as plt import datetime as dt -import numpy as np +import aspose.words as aw +import shutil -import glob +path = os.getcwd() +#run it on machine +#observed_path = os.path.join(path, "../../../../TestModel/Observed/observed.csv") -path = os.getcwd() +#run this code for an action +observed_path = "TestModel/Observed/observed.csv" -data = pd.read_csv(path + r"\OutputFiles\test 1.csv",index_col=0) -observed_data = pd.read_csv(path +r"\OutputFiles\observed.csv",index_col=0) +observed_data = pd.read_csv(observed_path,index_col=0) observed_data.sort_index(axis=0,inplace=True) -tests = ['test 1','test 2','test 3'] +tests = [] +test_name = [] -#tests = [] +# run it on machine +#for file in os.listdir(path+"\\OutputFiles"): + + #if file.endswith('.csv'): + #tests.append(file) + #test_name.append(os.path.splitext(file)[0]) -#fullpath =path + r"\\OutputFiles\\" +for file in os.listdir(path): + + if file.endswith('.csv'): + tests.append(file) + test_name.append(os.path.splitext(file)[0]) -#for file in os.listdir(fullpath): - # if file.endswith(".csv") and file.startswith("test"): - # tests.append(file) Alltests =[] -for t in tests[:]: - Alltests.append(pd.read_csv( path + "\\OutputFiles\\"+t+".csv",index_col=0)) +for t in tests[:]: + + testframe = pd.read_csv(t,index_col=0,dayfirst=True,date_format='%d/%m/%Y %H:%M:%S %p') -AllData = pd.concat(Alltests,axis=1,keys=tests) -AllData.index = pd.to_datetime(AllData.index,format = "%d/%m/%Y %H:%M:%S %p") + Alltests.append(testframe) + +AllData = pd.concat(Alltests,axis=1,keys=test_name) observed_data.index=pd.to_datetime(observed_data.index,format="%d/%m/%Y %H:%M") @@ -41,8 +53,8 @@ tests = AllData.columns.get_level_values(0).drop_duplicates() colors = pd.Series(['r','b','g']) -start = dt.datetime.date(AllData['test 1'].dropna().index.min()) -end = dt.datetime.date(AllData['test 1'].dropna().index.max()) +start = dt.datetime.date(AllData['8Wheat'].dropna().index.min()) +end = dt.datetime.date(AllData['8Wheat'].dropna().index.max()) def makeplot(Data,color): plt.plot(Data,color=color) @@ -52,6 +64,8 @@ def make_observed(observed): Graph = plt.figure(figsize=(10,10)) pos = 1 +row_num=len(tests) + for t in tests: start = dt.datetime.date(AllData[t].dropna().index.min()) end = dt.datetime.date(AllData[t].dropna().index.max()) @@ -60,10 +74,11 @@ def make_observed(observed): ret = False if ((d >= pd.Timestamp(start)) and (d<=pd.Timestamp(end))): ret = True + # if site id matching the observed id make it true only then datefilter.append(ret) color = 'b' - Graph.add_subplot(3,2,pos) + Graph.add_subplot(row_num,2,pos) Data = AllData.loc[:,(t,'SoilMineralN')].sort_index() plt.xticks(rotation = 45) plt.title("SoilMineralN") @@ -72,7 +87,7 @@ def make_observed(observed): Graph.tight_layout(pad=1.5) pos+=1 - Graph.add_subplot(3,2,pos) + Graph.add_subplot(row_num,2,pos) plt.xticks(rotation = 45) plt.title("CropN") Data = AllData.loc[:,(t,'CropN')].sort_index() @@ -80,4 +95,16 @@ def make_observed(observed): make_observed(observed_data[datefilter]) pos+=1 -plt.show() \ No newline at end of file +plt.savefig('testplot.png') + +doc = aw.Document() +builder = aw.DocumentBuilder(doc) +builder.insert_image("testplot.png") +doc.save("index.html") + +plt.show() + +#shutil.rmtree(path+"\\OutputFiles") +#shutil.rmtree(path+"\\NitrogenApplied") + + diff --git a/modelCsharp/TestModel/testGraph/testGraph/testGraph.pyproj b/modelCsharp/TestModel/testGraph/testGraph/testGraph.pyproj index 8e3b2a9e..54d67788 100644 --- a/modelCsharp/TestModel/testGraph/testGraph/testGraph.pyproj +++ b/modelCsharp/TestModel/testGraph/testGraph/testGraph.pyproj @@ -22,9 +22,6 @@ true false - - - diff --git a/testplot.png b/testplot.png new file mode 100644 index 00000000..24a75091 Binary files /dev/null and b/testplot.png differ