@@ -111,14 +111,18 @@ def construct_performance_df(df, seconds_gran, location_slots, time_slots, dista
111
111
performance_df = performance_df .drop (performance_df [performance_df ["sun elevation" ] < 0 ].index )
112
112
performance_df = performance_df .reset_index (drop = True )
113
113
114
- def cloud_gen (lat , long , parameter ):
115
- lat1 = np .cos ((((lat + 90 )/ 180 ))* 40 )
116
- long1 = np .cos ((((long + 180 )/ 360 ))* 30 )
117
- lat2 = np .cos ((((lat + 90 )/ 180 ))* 20 )
118
- long2 = np .cos ((((long + 180 )/ 360 ))* 40 )
119
- cloud = ((lat1 * long1 + lat2 * long2 + 1 )/ 2 )* 100 # it now has a range from -50 to 150
120
- #cloud = (((lat1 * long1 + lat2*long2 + 2) / (3.4)) -(4-3.4)/3.4)*100 #to mimic scewedness!
121
- cloud_stoc1 = cloud + parameter * random .randint (- 10 ,10 )
114
+ def cloud_gen (lat , long , parameter , alpha = 3 , beta = 4.5 ):
115
+ lat1 = np .cos (((lat + 90 )/ 180 )* 20 ) #to mimic higher around equator and one upper and lower quantile
116
+ long1 = np .cos (((long + 180 )/ 360 )* 50 )
117
+ lat2 = np .cos (((lat + 90 )/ 180 )* 50 )
118
+ long2 = np .cos (((long + 180 )/ 360 )* 30 )
119
+ lat3 = np .cos (((lat + 90 )/ 180 )* 100 )
120
+ long3 = np .cos (((long + 180 )/ 360 )* 80 )
121
+
122
+ cloud = (((3 * lat1 * long1 + 1.5 * lat1 + 2 * lat2 * long2 + 1 * lat3 * long3 )* 100 / 8 + 70 )* 2 - 150 )/ 1.5 # it now has a range from -50 to 150
123
+ #cloud = 110-(((lat1 * long1 + lat2*long2 + 2) / (alpha)) -(beta-alpha)/beta)*110 #to mimic scewedness!
124
+ #cloud_stoc2=cloud
125
+ cloud_stoc1 = cloud + parameter * random .randint (- 10 ,10 ) #to generate bias in both ends
122
126
cloud_stoc2 = max (min (cloud_stoc1 + random .randint (- 5 ,5 ),100 ),0 )
123
127
return (cloud_stoc2 )
124
128
@@ -260,4 +264,4 @@ def cloud_gen(lat, long, parameter):
260
264
261
265
262
266
263
- return (performance_df )
267
+ return (performance_df )
0 commit comments