Bhuvanesh24 commited on
Commit
5ef46eb
·
1 Parent(s): a42ac38

Model Deployment

Browse files
Files changed (6) hide show
  1. app.py +115 -0
  2. model/res_1.pt +3 -0
  3. requirements.txt +5 -0
  4. src/__pycache__/model.cpython-311.pyc +0 -0
  5. src/model.py +51 -0
  6. usage.csv +182 -0
app.py ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import gradio as gr
3
+ import pickle
4
+ import numpy as np
5
+ from sklearn.preprocessing import StandardScaler
6
+ import pandas as pd
7
+ from scipy.stats import norm
8
+ from src.model import EnhancedLSTM
9
+
10
+ def simulate_risk_score(rainfall, evaporation, inflow, outflow, population, water_usage_model, district):
11
+ """
12
+ Simulate and calculate the risk score for flood and drought, along with storage change details.
13
+
14
+ Parameters:
15
+ rainfall (float): Monthly rainfall in mm.
16
+ evaporation (float): Monthly potential evapotranspiration (PET) in mm.
17
+ inflow (float): Monthly reservoir inflow in m³.
18
+ outflow (float): Monthly reservoir outflow in m³.
19
+ population (int): Population of the region.
20
+ water_usage_model (callable): Predictive model for water usage based on population.
21
+
22
+ Returns:
23
+ dict: Risk scores for flood and drought, including changes in inflow, outflow, and storage.
24
+ """
25
+ water_balance = rainfall - evaporation
26
+ #water_usage = 2e6
27
+
28
+ df = pd.read_csv('data/usage.csv')['District']
29
+ unique_districts = df.unique()
30
+ df = pd.DataFrame(unique_districts, columns=['District'])
31
+ one_hot = pd.get_dummies(df['District'], prefix='District')
32
+ df = pd.concat([df, one_hot], axis=1)
33
+ input = np.array(df[df["District"] == district].iloc[:, 1:].values.astype(int))
34
+ input = np.append(input, [[population]], axis=1)
35
+ input = torch.tensor(input, dtype=torch.float32).unsqueeze(0)
36
+ print(input.size())
37
+
38
+ with torch.no_grad():
39
+ water_usage = water_usage_model(input).sum().item() * 1e6
40
+
41
+ adjusted_inflow = inflow * (1 + water_balance / 100) # Modify inflow based on water balance (rainfall/evaporation)
42
+ adjusted_outflow = outflow * (1 - water_balance / 100) # Modify outflow based on water balance
43
+
44
+ # Calculate net water balance
45
+ net_water_balance = water_balance + (adjusted_inflow - adjusted_outflow) / 1e6
46
+
47
+ # Calculate storage change in the district
48
+ storage_change = adjusted_inflow - adjusted_outflow # Change in storage is the difference between inflow and outflow
49
+
50
+ # Aggregate water balance for SPEI calculation
51
+ aggregated_balance = [water_balance, net_water_balance]
52
+ mu, sigma = np.mean(aggregated_balance), np.std(aggregated_balance)
53
+ print(mu,sigma)
54
+ spei = (net_water_balance - mu) / sigma
55
+
56
+ # Define flood and drought risks based on SPEI value
57
+ if spei <= -2:
58
+ drought_risk = "High Risk"
59
+ flood_risk = "Low Risk"
60
+ elif spei >= 2:
61
+ drought_risk = "Low Risk"
62
+ flood_risk = "High Risk"
63
+ else:
64
+ drought_risk = "Moderate Risk"
65
+ flood_risk = "Moderate Risk"
66
+
67
+
68
+ drought_score = max(0, min(100, (1 - norm.cdf(spei)) * 100)) * (water_usage / 1e6)
69
+ flood_score = max(0, min(100, norm.cdf(spei) * 100)) * (water_usage / 1e6)
70
+
71
+ return {
72
+ "SPEI": spei,
73
+ "Drought Risk": drought_risk,
74
+ "Flood Risk": flood_risk,
75
+ "Drought Score": drought_score,
76
+ "Flood Score": flood_score,
77
+ "Adjusted Inflow": adjusted_inflow,
78
+ "Adjusted Outflow": adjusted_outflow,
79
+ "Storage Change": storage_change,
80
+ }
81
+
82
+ input_size = 14
83
+ output_size = 3
84
+ model = EnhancedLSTM(input_size=input_size, lstm_layer_sizes=[128]*3, linear_layer_size=[64]*6, output_size=output_size)
85
+ model.load_state_dict(torch.load('model/res_1.pt', map_location='cpu', weights_only=False))
86
+ model.eval()
87
+
88
+
89
+ def predict(rainfall, evaporation, inflow, outflow, population, district):
90
+ result = simulate_risk_score(rainfall, evaporation, inflow, outflow, population, district)
91
+ return result
92
+
93
+ # Gradio input-output setup
94
+ inputs = [
95
+ gr.Number(label="Rainfall (mm)"),
96
+ gr.Number(label="Evaporation (mm)"),
97
+ gr.Number(label="Inflow (m³)"),
98
+ gr.Number(label="Outflow (m³)"),
99
+ gr.Number(label="Population"),
100
+ gr.Textbox(label="District")
101
+ ]
102
+ outputs = gr.JSON(label="Risk Assessment Results")
103
+
104
+ # Create the Gradio interface
105
+ gr_interface = gr.Interface(
106
+ fn=predict,
107
+ inputs=inputs,
108
+ outputs=outputs,
109
+ title="Flood and Drought Risk Assessment",
110
+ description="Simulate and assess flood and drought risks based on environmental and demographic factors."
111
+ )
112
+
113
+ # Run the interface locally for testing
114
+ if __name__ == "__main__":
115
+ gr_interface.launch()
model/res_1.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0ab90d8cc484a1d53fbd3a934e3a3ad6ec78e5b7ca6bd9557137f840ba6c6af1
3
+ size 693794
requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ torch
2
+ gradio
3
+ pandas
4
+ numpy
5
+ scipy
src/__pycache__/model.cpython-311.pyc ADDED
Binary file (4.04 kB). View file
 
src/model.py ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import torch.nn as nn
3
+ import math
4
+
5
+ class EnhancedLSTM(nn.Module):
6
+ def _init_(self, input_size, lstm_layer_sizes, linear_layer_size, output_size):
7
+ super(EnhancedLSTM, self)._init_()
8
+ self.input_size = input_size
9
+
10
+ self.lstm_layers = nn.ModuleList()
11
+ for i in range(len(lstm_layer_sizes)):
12
+ if i == 0:
13
+ self.lstm_layers.append(nn.LSTM(input_size, lstm_layer_sizes[i], batch_first=True, bidirectional=True))
14
+ else:
15
+ self.lstm_layers.append(nn.LSTM(lstm_layer_sizes[i-1]*2, lstm_layer_sizes[i], batch_first=True, bidirectional=True))
16
+
17
+ self.dropout = nn.Dropout(0.3)
18
+ self.fc_layers = nn.ModuleList()
19
+ for i in range(len(linear_layer_size)):
20
+ if i == 0:
21
+ self.fc_layers.append(nn.Linear(lstm_layer_sizes[-1]*2, linear_layer_size[i]))
22
+ else:
23
+ self.fc_layers.append(nn.Linear(linear_layer_size[i-1], linear_layer_size[i]))
24
+
25
+ self.output_layer = nn.Linear(linear_layer_size[-1], output_size)
26
+ self.relu = nn.ReLU()
27
+
28
+ self.apply(self.initialize_weights)
29
+
30
+ def forward(self, x):
31
+ out = x
32
+ for lstm in self.lstm_layers:
33
+ out, (hn, cn) = lstm(out)
34
+ out = self.dropout(out[:, -1, :])
35
+
36
+ for fc in self.fc_layers:
37
+ out = self.relu(fc(out))
38
+
39
+ out = self.output_layer(out)
40
+ return out
41
+
42
+ def initialize_weights(self, layer):
43
+ if isinstance(layer, nn.Linear):
44
+ nn.init.xavier_uniform_(layer.weight)
45
+ nn.init.zeros_(layer.bias)
46
+ elif isinstance(layer, nn.LSTM):
47
+ for name, param in layer.named_parameters():
48
+ if 'weight' in name:
49
+ nn.init.xavier_uniform_(param.data)
50
+ elif 'bias' in name:
51
+ nn.init.zeros_(param.data)
usage.csv ADDED
@@ -0,0 +1,182 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ District,Year,Month,Rainfall,Inflow From Other States,Consumption,Irrigation,Industry,Domestic,Built-Up,Agricultural,Forest,WasteLands,Wetlands,Waterbodies
2
+ 3,2024,1,0.05,31.55,5.81,5.07,0.00,0.74,454.09,13415.04,1795.39,2387.63,0.14,1042.67
3
+ 3,2024,2,0.00,23.73,6.00,5.30,0.00,0.69,454.09,13415.04,1795.39,2387.63,0.14,1042.67
4
+ 3,2024,3,0.00,23.57,7.37,6.63,0.00,0.74,454.09,13415.04,1795.39,2387.63,0.14,1042.67
5
+ 3,2024,4,0.27,17.80,1.29,0.58,0.00,0.72,454.09,13415.04,1795.39,2387.63,0.14,1042.67
6
+ 3,2024,5,37.80,13.08,1.22,0.47,0.00,0.74,454.09,13415.04,1795.39,2387.63,0.14,1042.67
7
+ 3,2023,6,18.85,20.83,1.70,0.98,0.00,0.72,450.99,13416.96,1796.17,2391.48,0.14,1040.94
8
+ 3,2024,6,57.80,25.05,1.27,0.55,0.00,0.72,454.09,13415.04,1795.39,2387.63,0.14,1042.67
9
+ 3,2023,7,28.66,1294.56,1.56,0.82,0.00,0.74,450.99,13416.96,1796.17,2391.48,0.14,1040.94
10
+ 3,2024,7,11.25,1703.86,1.33,0.59,0.00,0.74,454.09,13415.04,1795.39,2387.63,0.14,1042.67
11
+ 3,2023,8,9.02,664.47,1.38,0.64,0.00,0.74,450.99,13416.96,1796.17,2391.48,0.14,1040.94
12
+ 3,2024,8,69.72,1836.10,30.21,29.47,0.00,0.74,454.09,13415.04,1795.39,2387.63,0.14,1042.67
13
+ 3,2023,9,52.39,1005.36,14.77,14.05,0.00,0.72,450.99,13416.96,1796.17,2391.48,0.14,1040.94
14
+ 3,2024,9,23.15,1784.60,17.22,16.50,0.00,0.72,454.09,13415.04,1795.39,2387.63,0.14,1042.67
15
+ 3,2023,10,2.99,219.07,4.90,4.16,0.00,0.74,450.99,13416.96,1796.17,2391.48,0.14,1040.94
16
+ 3,2024,10,63.32,543.97,21.25,20.50,0.00,0.74,454.09,13415.04,1795.39,2387.63,0.14,1042.67
17
+ 3,2023,11,8.42,25.45,6.07,5.35,0.00,0.72,450.99,13416.96,1796.17,2391.48,0.14,1040.94
18
+ 3,2023,12,2.20,53.20,5.94,5.20,0.00,0.74,450.99,13416.96,1796.17,2391.48,0.14,1040.94
19
+ 6,2024,1,3.41,31.55,36.70,35.38,0.62,0.71,461.52,7704.05,4257.10,1870.90,1887.44,729.88
20
+ 6,2024,2,0.00,23.73,7.85,6.61,0.58,0.66,461.52,7704.05,4257.10,1870.90,1887.44,729.88
21
+ 6,2024,4,0.00,17.80,1.56,0.27,0.60,0.68,461.52,7704.05,4257.10,1870.90,1887.44,729.88
22
+ 6,2023,6,22.21,20.83,1.56,0.28,0.60,0.68,456.47,7701.09,4257.41,1878.00,1893.71,729.35
23
+ 6,2024,6,43.55,25.05,1.53,0.24,0.60,0.68,461.52,7704.05,4257.10,1870.90,1887.44,729.88
24
+ 6,2023,7,18.00,1294.56,6.69,5.36,0.62,0.71,456.47,7701.09,4257.41,1878.00,1893.71,729.35
25
+ 6,2024,7,22.95,1703.86,6.71,5.38,0.62,0.71,461.52,7704.05,4257.10,1870.90,1887.44,729.88
26
+ 6,2023,9,59.96,1005.36,32.18,30.90,0.60,0.68,456.47,7701.09,4257.41,1878.00,1893.71,729.35
27
+ 6,2024,9,23.62,1784.60,11.18,9.89,0.60,0.68,461.52,7704.05,4257.10,1870.90,1887.44,729.88
28
+ 6,2023,10,12.22,219.07,30.08,28.76,0.62,0.71,456.47,7701.09,4257.41,1878.00,1893.71,729.35
29
+ 6,2024,10,52.60,543.97,6.62,5.30,0.62,0.71,461.52,7704.05,4257.10,1870.90,1887.44,729.88
30
+ 6,2023,12,30.68,53.20,33.18,31.85,0.62,0.71,456.47,7701.09,4257.41,1878.00,1893.71,729.35
31
+ 7,2024,2,0.00,23.73,32.27,30.97,0.51,0.80,524.71,6198.63,4974.02,279.15,146.58,861.26
32
+ 7,2024,3,1.16,23.57,33.05,31.65,0.54,0.85,524.71,6198.63,4974.02,279.15,146.58,861.26
33
+ 7,2024,4,0.00,17.80,21.42,20.07,0.53,0.82,524.71,6198.63,4974.02,279.15,146.58,861.26
34
+ 7,2024,5,432.43,13.08,40.39,27.09,4.96,8.34,524.71,6198.63,4974.02,279.15,146.58,861.26
35
+ 7,2023,6,379.46,20.83,82.45,69.58,4.80,8.07,523.18,6198.07,4975.17,279.72,146.84,861.29
36
+ 7,2024,6,905.03,25.05,66.46,53.60,4.80,8.07,524.71,6198.63,4974.02,279.15,146.58,861.26
37
+ 7,2023,7,981.17,1294.56,200.71,187.41,4.96,8.34,523.18,6198.07,4975.17,279.72,146.84,861.29
38
+ 7,2024,7,1003.14,1703.86,135.80,122.50,4.96,8.34,524.71,6198.63,4974.02,279.15,146.58,861.26
39
+ 7,2023,8,445.45,664.47,301.07,287.77,4.96,8.34,523.18,6198.07,4975.17,279.72,146.84,861.29
40
+ 7,2024,8,22.45,1836.10,37.50,36.11,0.54,0.85,524.71,6198.63,4974.02,279.15,146.58,861.26
41
+ 7,2023,9,14.33,1005.36,42.73,41.38,0.53,0.82,523.18,6198.07,4975.17,279.72,146.84,861.29
42
+ 7,2024,9,19.83,1784.60,30.69,29.34,0.53,0.82,524.71,6198.63,4974.02,279.15,146.58,861.26
43
+ 7,2023,10,0.98,219.07,47.39,45.99,0.54,0.85,523.18,6198.07,4975.17,279.72,146.84,861.29
44
+ 7,2024,10,10.64,543.97,36.21,34.82,0.54,0.85,524.71,6198.63,4974.02,279.15,146.58,861.26
45
+ 7,2023,11,0.98,219.07,47.39,45.99,0.54,0.85,523.18,6198.07,4975.17,279.72,146.84,861.29
46
+ 7,2024,11,10.64,543.97,36.21,34.81,0.54,0.85,524.71,6198.63,4974.02,279.15,146.58,861.26
47
+ 7,2023,12,21.15,53.20,24.50,23.10,0.54,0.85,523.18,6198.07,4975.17,279.72,146.84,861.29
48
+ 9,2024,1,0.01,31.55,36.25,35.41,0.04,0.80,561.89,8236.04,1566.24,483.46,25.24,524.56
49
+ 9,2024,2,0.00,23.73,11.33,10.54,0.04,0.75,561.89,8236.04,1566.24,483.46,25.24,524.56
50
+ 9,2024,4,0.16,17.80,9.04,8.23,0.04,0.78,561.89,8236.04,1566.24,483.46,25.24,524.56
51
+ 9,2023,6,9.74,20.83,22.13,21.31,0.04,0.78,558.97,8235.02,1565.92,486.21,26.17,524.49
52
+ 9,2024,6,15.39,25.05,0.82,0.00,0.04,0.78,561.89,8236.04,1566.24,483.46,25.24,524.56
53
+ 9,2023,7,26.61,1294.56,32.76,31.92,0.04,0.80,558.97,8235.02,1565.92,486.21,26.17,524.49
54
+ 9,2024,7,20.15,1703.86,9.93,9.09,0.04,0.80,561.89,8236.04,1566.24,483.46,25.24,524.56
55
+ 9,2023,9,17.22,1005.36,15.65,14.84,0.04,0.78,558.97,8235.02,1565.92,486.21,26.17,524.49
56
+ 9,2024,9,25.95,1784.60,59.74,58.93,0.04,0.78,561.89,8236.04,1566.24,483.46,25.24,524.56
57
+ 9,2023,10,2.21,219.07,17.48,16.64,0.04,0.80,558.97,8235.02,1565.92,486.21,26.17,524.49
58
+ 9,2024,10,13.83,543.97,74.47,73.63,0.04,0.80,561.89,8236.04,1566.24,483.46,25.24,524.56
59
+ 9,2023,12,14.36,53.20,16.76,15.92,0.04,0.80,558.97,8235.02,1565.92,486.21,26.17,524.49
60
+ 13,2024,1,12.61,31.55,222.34,209.03,4.96,8.34,587.19,6674.47,629.62,142.24,203.33,517.15
61
+ 13,2024,2,0.53,23.73,147.59,135.15,4.64,7.80,587.19,6674.47,629.62,142.24,203.33,517.15
62
+ 13,2024,4,13.86,17.80,77.10,64.23,4.80,8.07,587.19,6674.47,629.62,142.24,203.33,517.15
63
+ 13,2023,6,379.46,20.83,82.45,69.58,4.80,8.07,581.22,6673.35,629.02,142.95,208.68,516.70
64
+ 13,2024,6,905.03,25.05,69.15,56.28,4.80,8.07,587.19,6674.47,629.62,142.24,203.33,517.15
65
+ 13,2023,7,981.17,1294.56,186.62,173.31,4.96,8.34,581.22,6673.35,629.02,142.95,208.68,516.70
66
+ 13,2024,7,1003.14,1703.86,380.30,367.00,4.96,8.34,587.19,6674.47,629.62,142.24,203.33,517.15
67
+ 13,2023,9,29.87,1005.36,26.41,25.22,0.48,0.71,581.22,6673.35,629.02,142.95,208.68,516.70
68
+ 13,2024,9,35.20,1784.60,23.82,22.63,0.48,0.71,587.19,6674.47,629.62,142.24,203.33,517.15
69
+ 13,2023,10,6.26,219.07,27.88,26.66,0.49,0.74,581.22,6673.35,629.02,142.95,208.68,516.70
70
+ 13,2024,10,22.13,543.97,38.47,37.25,0.49,0.74,587.19,6674.47,629.62,142.24,203.33,517.15
71
+ 13,2023,12,810.60,53.20,156.74,143.44,4.96,8.34,581.22,6673.35,629.02,142.95,208.68,516.70
72
+ 10,2024,1,0.00,31.55,14.15,12.98,0.47,0.70,515.14,11464.07,2996.96,1927.41,2013.32,714.67
73
+ 10,2024,2,0.01,23.73,11.64,10.55,0.44,0.65,515.14,11464.07,2996.96,1927.41,2013.32,714.67
74
+ 10,2024,3,0.00,23.57,13.78,12.62,0.47,0.70,515.14,11464.07,2996.96,1927.41,2013.32,714.67
75
+ 10,2024,4,0.70,17.80,6.69,5.57,0.45,0.68,515.14,11464.07,2996.96,1927.41,2013.32,714.67
76
+ 10,2024,5,27.34,13.08,5.61,4.45,0.47,0.70,515.14,11464.07,2996.96,1927.41,2013.32,714.67
77
+ 10,2023,6,17.01,20.83,3.05,1.92,0.45,0.68,514.07,11461.12,2997.05,1928.68,2010.04,717.21
78
+ 10,2024,6,41.68,25.05,6.84,5.71,0.45,0.68,515.14,11464.07,2996.96,1927.41,2013.32,714.67
79
+ 10,2023,7,39.73,1294.56,55.76,54.59,0.47,0.70,514.07,11461.12,2997.05,1928.68,2010.04,717.21
80
+ 10,2024,7,18.22,1703.86,20.05,18.89,0.47,0.70,515.14,11464.07,2996.96,1927.41,2013.32,714.67
81
+ 10,2023,8,8.81,664.47,103.51,102.34,0.47,0.70,514.07,11461.12,2997.05,1928.68,2010.04,717.21
82
+ 10,2024,8,52.01,1836.10,170.12,168.95,0.47,0.70,515.14,11464.07,2996.96,1927.41,2013.32,714.67
83
+ 10,2023,9,28.98,1005.36,40.38,39.25,0.45,0.68,514.07,11461.12,2997.05,1928.68,2010.04,717.21
84
+ 10,2024,9,31.10,1784.60,138.22,137.09,0.45,0.68,515.14,11464.07,2996.96,1927.41,2013.32,714.67
85
+ 10,2023,10,0.38,219.07,22.39,21.23,0.47,0.70,514.07,11461.12,2997.05,1928.68,2010.04,717.21
86
+ 10,2024,10,25.13,543.97,282.63,281.47,0.47,0.70,515.14,11464.07,2996.96,1927.41,2013.32,714.67
87
+ 10,2023,11,8.77,25.45,21.83,20.70,0.45,0.68,514.07,11461.12,2997.05,1928.68,2010.04,717.21
88
+ 10,2023,12,1.08,53.20,15.23,14.06,0.47,0.70,514.07,11461.12,2997.05,1928.68,2010.04,717.21
89
+ 18,2024,1,12.61,31.55,209.03,209.03,0.00,0.00,397.14,10296.10,4200.84,1773.96,73.62,854.05
90
+ 18,2024,2,0.53,23.73,135.15,135.15,0.00,0.00,397.14,10296.10,4200.84,1773.96,73.62,854.05
91
+ 18,2024,4,13.86,17.80,64.23,64.23,0.00,0.00,397.14,10296.10,4200.84,1773.96,73.62,854.05
92
+ 18,2023,6,379.46,20.83,69.58,69.58,0.00,0.00,393.84,10291.49,4202.16,1781.04,73.61,852.98
93
+ 18,2024,6,905.03,25.05,56.28,56.28,0.00,0.00,397.14,10296.10,4200.84,1773.96,73.62,854.05
94
+ 18,2023,7,981.17,1294.56,173.31,173.31,0.00,0.00,393.84,10291.49,4202.16,1781.04,73.61,852.98
95
+ 18,2024,7,1003.14,1703.86,367.00,367.00,0.00,0.00,397.14,10296.10,4200.84,1773.96,73.62,854.05
96
+ 18,2023,9,78.82,1005.36,9.49,7.83,1.06,0.60,393.84,10291.49,4202.16,1781.04,73.61,852.98
97
+ 18,2024,9,76.47,1784.60,10.64,8.98,1.06,0.60,397.14,10296.10,4200.84,1773.96,73.62,854.05
98
+ 18,2023,10,5.72,219.07,5.91,4.20,1.10,0.62,393.84,10291.49,4202.16,1781.04,73.61,852.98
99
+ 18,2024,10,124.74,543.97,7.23,5.52,1.10,0.62,397.14,10296.10,4200.84,1773.96,73.62,854.05
100
+ 18,2023,12,810.60,53.20,143.44,143.44,0.00,0.00,393.84,10291.49,4202.16,1781.04,73.61,852.98
101
+ 20,2024,1,0.21,31.55,17.61,16.92,0.19,0.50,471.35,7163.89,2167.41,1371.48,595.47,1442.39
102
+ 20,2024,2,0.00,23.73,14.21,13.56,0.17,0.47,471.35,7163.89,2167.41,1371.48,595.47,1442.39
103
+ 20,2024,4,0.00,17.80,2.83,2.16,0.18,0.49,471.35,7163.89,2167.41,1371.48,595.47,1442.39
104
+ 20,2023,6,9.39,20.83,21.19,20.52,0.18,0.49,468.30,7162.23,2167.69,1375.00,596.18,1442.32
105
+ 20,2024,6,32.12,25.05,1.74,1.07,0.18,0.49,471.35,7163.89,2167.41,1371.48,595.47,1442.39
106
+ 20,2023,7,26.87,1294.56,20.53,19.84,0.19,0.50,468.30,7162.23,2167.69,1375.00,596.18,1442.32
107
+ 20,2024,7,45.01,1703.86,6.90,6.21,0.19,0.50,471.35,7163.89,2167.41,1371.48,595.47,1442.39
108
+ 20,2023,9,33.27,1005.36,18.64,17.97,0.18,0.49,468.30,7162.23,2167.69,1375.00,596.18,1442.32
109
+ 20,2024,9,32.18,1784.60,34.28,33.61,0.18,0.49,471.35,7163.89,2167.41,1371.48,595.47,1442.39
110
+ 20,2023,10,5.70,219.07,8.03,7.34,0.19,0.50,468.30,7162.23,2167.69,1375.00,596.18,1442.32
111
+ 20,2024,10,135.20,543.97,37.85,37.16,0.19,0.50,471.35,7163.89,2167.41,1371.48,595.47,1442.39
112
+ 20,2023,12,105.79,53.20,11.93,11.24,0.19,0.50,468.30,7162.23,2167.69,1375.00,596.18,1442.32
113
+ 21,2024,1,0.66,31.55,4.94,4.36,0.11,0.46,164.35,4157.19,630.65,481.68,72.09,339.11
114
+ 21,2024,2,0.18,23.73,2.95,2.41,0.10,0.43,164.35,4157.19,630.65,481.68,72.09,339.11
115
+ 21,2024,4,0.58,17.80,1.25,0.69,0.11,0.45,164.35,4157.19,630.65,481.68,72.09,339.11
116
+ 21,2023,6,10.46,20.83,1.81,1.25,0.11,0.45,163.10,4155.38,631.95,482.83,72.51,339.12
117
+ 21,2024,6,19.31,25.05,0.56,0.00,0.11,0.45,164.35,4157.19,630.65,481.68,72.09,339.11
118
+ 21,2023,7,47.91,1294.56,6.90,6.32,0.11,0.46,163.10,4155.38,631.95,482.83,72.51,339.12
119
+ 21,2024,7,39.32,1703.86,1.41,0.84,0.11,0.46,164.35,4157.19,630.65,481.68,72.09,339.11
120
+ 21,2023,9,29.27,1005.36,23.00,22.44,0.11,0.45,163.10,4155.38,631.95,482.83,72.51,339.12
121
+ 21,2024,9,47.49,1784.60,16.21,15.65,0.11,0.45,164.35,4157.19,630.65,481.68,72.09,339.11
122
+ 21,2023,10,1.22,219.07,10.62,10.04,0.11,0.46,163.10,4155.38,631.95,482.83,72.51,339.12
123
+ 21,2024,10,7.87,543.97,13.55,12.98,0.11,0.46,164.35,4157.19,630.65,481.68,72.09,339.11
124
+ 21,2023,12,6.35,53.20,4.61,4.03,0.11,0.46,163.10,4155.38,631.95,482.83,72.51,339.12
125
+ 23,2024,1,0.01,31.55,2.38,1.18,0.51,0.69,503.03,4740.40,4437.49,1463.91,38.53,340.46
126
+ 23,2024,2,0.00,23.73,3.25,2.13,0.48,0.65,503.03,4740.40,4437.49,1463.91,38.53,340.46
127
+ 23,2024,4,0.10,17.80,1.73,0.57,0.50,0.67,503.03,4740.40,4437.49,1463.91,38.53,340.46
128
+ 23,2023,6,1.15,20.83,1.64,0.48,0.50,0.67,501.36,4739.90,4437.59,1465.69,38.86,340.31
129
+ 23,2024,6,6.23,25.05,1.61,0.44,0.50,0.67,503.03,4740.40,4437.49,1463.91,38.53,340.46
130
+ 23,2023,7,10.86,1294.56,1.90,0.70,0.51,0.69,501.36,4739.90,4437.59,1465.69,38.86,340.31
131
+ 23,2024,7,8.11,1703.86,1.83,0.63,0.51,0.69,503.03,4740.40,4437.49,1463.91,38.53,340.46
132
+ 23,2023,9,4.95,1005.36,4.77,3.60,0.50,0.67,501.36,4739.90,4437.59,1465.69,38.86,340.31
133
+ 23,2024,9,10.56,1784.60,4.09,2.93,0.50,0.67,503.03,4740.40,4437.49,1463.91,38.53,340.46
134
+ 23,2023,10,0.50,219.07,4.47,3.26,0.51,0.69,501.36,4739.90,4437.59,1465.69,38.86,340.31
135
+ 23,2024,10,2.92,543.97,7.37,6.16,0.51,0.69,503.03,4740.40,4437.49,1463.91,38.53,340.46
136
+ 23,2023,12,5.77,53.20,3.05,1.85,0.51,0.69,501.36,4739.90,4437.59,1465.69,38.86,340.31
137
+ 24,2024,1,0.04,31.55,3.41,2.93,0.10,0.39,228.48,4117.09,1066.95,410.62,2.03,312.87
138
+ 24,2024,2,0.01,23.73,2.73,2.28,0.09,0.36,228.48,4117.09,1066.95,410.62,2.03,312.87
139
+ 24,2024,3,4.01,23.57,5.23,4.74,0.10,0.39,228.48,4117.09,1066.95,410.62,2.03,312.87
140
+ 24,2024,4,0.35,17.80,3.48,3.01,0.10,0.37,228.48,4117.09,1066.95,410.62,2.03,312.87
141
+ 24,2024,5,6.64,13.08,2.80,2.31,0.10,0.39,228.48,4117.09,1066.95,410.62,2.03,312.87
142
+ 24,2023,6,7.12,20.83,1.34,0.87,0.10,0.37,223.25,4115.91,1070.38,412.61,2.01,312.50
143
+ 24,2024,6,26.75,25.05,3.79,3.31,0.10,0.37,228.48,4117.09,1066.95,410.62,2.03,312.87
144
+ 24,2023,7,44.37,1294.56,3.88,3.39,0.10,0.39,223.25,4115.91,1070.38,412.61,2.01,312.50
145
+ 24,2024,7,33.69,1703.86,5.80,5.32,0.10,0.39,228.48,4117.09,1066.95,410.62,2.03,312.87
146
+ 24,2023,8,21.94,664.47,7.33,6.85,0.10,0.39,223.25,4115.91,1070.38,412.61,2.01,312.50
147
+ 24,2024,8,25.23,1836.10,10.85,10.36,0.10,0.39,228.48,4117.09,1066.95,410.62,2.03,312.87
148
+ 24,2023,9,26.04,1005.36,10.05,9.58,0.10,0.37,223.25,4115.91,1070.38,412.61,2.01,312.50
149
+ 24,2024,9,39.12,1784.60,9.80,9.33,0.10,0.37,228.48,4117.09,1066.95,410.62,2.03,312.87
150
+ 24,2023,10,1.35,219.07,7.08,6.59,0.10,0.39,223.25,4115.91,1070.38,412.61,2.01,312.50
151
+ 24,2024,10,6.00,543.97,12.92,12.44,0.10,0.39,228.48,4117.09,1066.95,410.62,2.03,312.87
152
+ 24,2023,11,1.51,25.45,4.85,4.38,0.10,0.37,223.25,4115.91,1070.38,412.61,2.01,312.50
153
+ 24,2023,12,14.91,53.20,3.53,3.04,0.10,0.39,223.25,4115.91,1070.38,412.61,2.01,312.50
154
+ 25,2024,1,0.00,31.55,1.91,1.17,0.08,0.66,444.64,6173.09,1330.13,83.18,150.36,315.58
155
+ 25,2024,2,0.00,23.73,7.80,7.11,0.07,0.61,444.64,6173.09,1330.13,83.18,150.36,315.58
156
+ 25,2024,3,0.48,23.57,19.33,18.59,0.08,0.66,444.64,6173.09,1330.13,83.18,150.36,315.58
157
+ 25,2024,4,0.00,17.80,12.54,11.83,0.08,0.64,444.64,6173.09,1330.13,83.18,150.36,315.58
158
+ 25,2024,5,5.48,13.08,9.72,8.99,0.08,0.66,444.64,6173.09,1330.13,83.18,150.36,315.58
159
+ 25,2023,6,8.65,20.83,0.71,0.00,0.08,0.64,442.79,6171.81,1332.09,83.54,151.50,315.05
160
+ 25,2024,6,14.33,25.05,11.68,10.97,0.08,0.64,444.64,6173.09,1330.13,83.18,150.36,315.58
161
+ 25,2023,7,14.96,1294.56,1.13,0.40,0.08,0.66,442.79,6171.81,1332.09,83.54,151.50,315.05
162
+ 25,2024,7,28.38,1703.86,12.87,12.13,0.08,0.66,444.64,6173.09,1330.13,83.18,150.36,315.58
163
+ 25,2023,8,6.16,664.47,2.24,1.51,0.08,0.66,442.79,6171.81,1332.09,83.54,151.50,315.05
164
+ 25,2024,8,21.09,1836.10,12.01,11.27,0.08,0.66,444.64,6173.09,1330.13,83.18,150.36,315.58
165
+ 25,2023,9,15.87,1005.36,2.24,1.52,0.08,0.64,442.79,6171.81,1332.09,83.54,151.50,315.05
166
+ 25,2024,9,17.47,1784.60,5.11,4.40,0.08,0.64,444.64,6173.09,1330.13,83.18,150.36,315.58
167
+ 25,2023,10,2.13,219.07,2.12,1.39,0.08,0.66,442.79,6171.81,1332.09,83.54,151.50,315.05
168
+ 25,2024,10,14.81,543.97,2.67,1.93,0.08,0.66,444.64,6173.09,1330.13,83.18,150.36,315.58
169
+ 25,2023,11,4.93,25.45,1.36,0.65,0.08,0.64,442.79,6171.81,1332.09,83.54,151.50,315.05
170
+ 25,2023,12,23.79,53.20,1.18,0.45,0.08,0.66,442.79,6171.81,1332.09,83.54,151.50,315.05
171
+ 26,2024,1,0.33,31.55,56.67,56.19,0.00,0.48,369.39,6560.00,4917.37,2605.02,3.83,900.29
172
+ 26,2024,2,0.00,23.73,34.10,33.65,0.00,0.45,369.39,6560.00,4917.37,2605.02,3.83,900.29
173
+ 26,2024,4,0.19,17.80,3.43,2.96,0.00,0.47,369.39,6560.00,4917.37,2605.02,3.83,900.29
174
+ 26,2023,6,12.66,20.83,2.78,2.31,0.00,0.47,367.57,6559.05,4917.94,2608.05,3.83,899.31
175
+ 26,2024,6,52.06,25.05,4.35,3.89,0.00,0.47,369.39,6560.00,4917.37,2605.02,3.83,900.29
176
+ 26,2023,7,27.87,1294.56,4.93,4.45,0.00,0.48,367.57,6559.05,4917.94,2608.05,3.83,899.31
177
+ 26,2024,7,25.34,1703.86,5.59,5.11,0.00,0.48,369.39,6560.00,4917.37,2605.02,3.83,900.29
178
+ 26,2023,9,57.31,1005.36,15.57,15.10,0.00,0.47,367.57,6559.05,4917.94,2608.05,3.83,899.31
179
+ 26,2024,9,36.86,1784.60,30.06,29.60,0.00,0.47,369.39,6560.00,4917.37,2605.02,3.83,900.29
180
+ 26,2023,10,2.09,219.07,8.24,7.75,0.00,0.48,367.57,6559.05,4917.94,2608.05,3.83,899.31
181
+ 26,2024,10,69.88,543.97,22.00,21.52,0.00,0.48,369.39,6560.00,4917.37,2605.02,3.83,900.29
182
+ 26,2023,12,29.68,53.20,32.16,31.68,0.00,0.48,367.57,6559.05,4917.94,2608.05,3.83,899.31