Spaces:
Sleeping
Sleeping
| import joblib | |
| import os | |
| import pandas as pd | |
| MODEL_PATH = os.path.join("models", "xgboost_cyclone_model.pkl") | |
| model = joblib.load(MODEL_PATH) | |
| new_data = pd.DataFrame([{ | |
| 'LAT': 15.0, # Current latitude | |
| 'LON': 85.0, # Current longitude | |
| 'MAX_WIND': 80, # Current max wind speed (knots) | |
| 'MIN_PRESSURE': 980, # Current min pressure (hPa) | |
| 'RAD_NE': 50, # Radius NE (km) | |
| 'RAD_SE': 50, # Radius SE (km) | |
| 'RAD_SW': 50, # Radius SW (km) | |
| 'RAD_NW': 50, # Radius NW (km) | |
| 'RAD50_NE': 40, # Radius 50kt NE | |
| 'RAD50_SE': 40, | |
| 'RAD50_SW': 40, | |
| 'RAD50_NW': 40, | |
| 'RAD64_NE': 30, # Radius 64kt NE | |
| 'RAD64_SE': 30, | |
| 'RAD64_SW': 30, | |
| 'RAD64_NW': 30, | |
| 'MONTH': 12, | |
| 'HOUR': 12, | |
| 'DAY_OF_YEAR': 345, | |
| 'SIN_DOY': 0.5, | |
| 'COS_DOY': 0.87, | |
| 'SIN_HOUR': 0.5, | |
| 'COS_HOUR': 0.87, | |
| 'STORM_AGE_HOURS': 24, | |
| 'STORM_DURATION_HOURS': 36, | |
| 'DIST_TO_ODISHA_KM': 300, | |
| 'MOVEMENT_SPEED_KPH': 20, | |
| 'WIND_t-6': 78, | |
| 'WIND_t-12': 76, | |
| 'WIND_t-18': 74, | |
| 'WIND_t-24': 72, | |
| 'PRESSURE_t-6': 982, | |
| 'PRESSURE_t-12': 984, | |
| 'PRESSURE_t-18': 986, | |
| 'PRESSURE_t-24': 988, | |
| 'WIND_CHANGE_6H': 2, | |
| 'PRESSURE_CHANGE_6H': -2, | |
| 'INTENSIFICATION_RATE': 1, | |
| 'WIND_CHANGE_12H': 4, | |
| 'PRESSURE_CHANGE_12H': -4, | |
| 'STORM_DB': 0, | |
| 'STORM_EX': 0, | |
| 'STORM_MD': 0, | |
| 'STORM_TC': 1, | |
| 'STORM_TD': 0, | |
| 'STORM_TS': 0, | |
| 'STORM_TY': 0, | |
| 'STORM_WV': 0, | |
| 'AVG_RAD34': 45, | |
| 'AVG_RAD50': 40, | |
| 'AVG_RAD64': 30, | |
| 'STORM_SIZE': 3 | |
| }]) | |
| prediction = model.predict(new_data) | |
| print(f"Predicted wind speed in 24h: {prediction[0]:.1f} knots") |