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")