{"data":{"kind":"file","path":"README.md","version_id":"sggcpl3q1rk1vczm5eo88b4n","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":1457,"modified_at":"2025-10-29T10:00:33.803000","content_hash":"893493ba04aa171995c325beb9d01e4cc6fb0173bf4394a2a268bed0716c3fe5"},"entries":[],"content":"# Dynamic Ocean Fields\n\nA Gymnasium-compatible reinforcement learning environment for ship navigation in dynamic ocean conditions.\n\n## Description\n\nNavigate a ship from start to destination while minimizing cost based on environmental parameters: wave height, current velocity, temperature, and water depth.\n\n## Observation Space\n\n- **Type**: Box(38,)\n- **Components**:\n  - 3×3 local grid (36 values): 4 features × 9 cells around ship\n  - Ship coordinates (2 values): normalized position\n\n## Action Space\n\n- **Type**: Discrete(9)\n- **Actions**: 8 directions (N, NE, E, SE, S, SW, W, NW) + stay\n\n## Reward\n\nNegative cost of current cell. Lower environmental costs = higher rewards.\n\n## Episode Termination\n\n- Ship reaches destination (success)\n- Maximum steps exceeded (truncated)\n\n## Usage\n\n```python\nfrom load_environment import load_environment\n\n# Load with random grid\nenv = load_environment(grid_size=(20, 20))\n\n# Or load from file\nenv = load_environment(grid_path=\"data/sample_grid.npz\")\n\n# Run episode\nobs, info = env.reset()\nfor _ in range(100):\n    action = env.action_space.sample()\n    obs, reward, terminated, truncated, info = env.step(action)\n    if terminated or truncated:\n        break\n```\n\n## Installation\n\n```bash\npip install -e .\n```\n\n## Features\n\n- 4-channel environmental data (waves, currents, temperature, depth)\n- Configurable cost function weights\n- A* optimal path baseline\n- Sample agents (random, greedy)\n- Visualization tools\n","encoding":"utf-8","truncated":false,"total_bytes":1457},"status":null}