"""Constants and schema for trajectory ETL (NC → Arrow).""" BLOCK_SIZE = 24 # steps per block (same as frontend) # Default variable names to look for in NetCDF (first match wins) LON_NAMES = ("lon", "longitude", "x", "Lon") LAT_NAMES = ("lat", "latitude", "y", "Lat") U_NAMES = ("u", "u_vel", "velocity_x", "U") V_NAMES = ("v", "v_vel", "velocity_y", "V") BEACHED_NAMES = ("beached", "status", "mask", "beach") TIME_NAMES = ("time", "obs", "step", "t") # Arrow table schema for one block (frontend expects this) ARROW_SCHEMA = { "step": "int32", "particle_id": "int32", "lon": "float32", "lat": "float32", "u": "float32", "v": "float32", "beached": "int8", }