Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -976,22 +976,24 @@ def generate_genesis_prediction_monthly(month, oni_value, year=2025):
|
|
976 |
genesis_gpi = gpi_field[max_i, max_j]
|
977 |
|
978 |
# Determine probability of actual genesis
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
|
|
|
|
995 |
|
996 |
# Generate storm tracks for genesis events
|
997 |
storm_predictions = []
|
|
|
976 |
genesis_gpi = gpi_field[max_i, max_j]
|
977 |
|
978 |
# Determine probability of actual genesis
|
979 |
+
# Probability influenced by ONI to mimic El Niño/La Niña effects
|
980 |
+
genesis_prob = np.clip(
|
981 |
+
0.3 + genesis_gpi / 4.0 + 0.2 * np.tanh(oni_value), 0, 0.9
|
982 |
+
)
|
983 |
+
|
984 |
+
if np.random.random() < genesis_prob:
|
985 |
+
event = {
|
986 |
+
'day': day,
|
987 |
+
'lat': genesis_lat,
|
988 |
+
'lon': genesis_lon,
|
989 |
+
'gpi': genesis_gpi,
|
990 |
+
'probability': genesis_prob,
|
991 |
+
'date': f"{year}-{month:02d}-{day:02d}"
|
992 |
+
}
|
993 |
+
logging.info(
|
994 |
+
f"Genesis on day {day}: lat={genesis_lat:.1f} lon={genesis_lon:.1f} GPI={genesis_gpi:.2f} prob={genesis_prob:.2f}"
|
995 |
+
)
|
996 |
+
genesis_events.append(event)
|
997 |
|
998 |
# Generate storm tracks for genesis events
|
999 |
storm_predictions = []
|