# zhn66776/tidal_try architecture

> Architecture diagram of the GitHub repository zhn66776/tidal_try, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/zhn66776/tidal_try
- Repository: https://github.com/zhn66776/tidal_try

## Overview

This repository is a notebook-based tide-level forecasting research project. Its central workflow is to prepare gauge observations, optionally derive UTide features, train BiLSTM or UTide-augmented UBiLSTM models, and compare predictions with observed levels. The README identifies the paper notebooks and data collections; sampled Python source confirms a separate CNN-BiLSTM training/evaluation path. Notebook internals were not sampled, so connections beyond the documented workflow are kept at the subsystem level.

Main entry points: [`Final_data`](https://github.com/zhn66776/tidal_try/tree/main/Final_data) (Paper Data), [`run1.py`](https://github.com/zhn66776/tidal_try/blob/main/run1.py) (CNN-BiLSTM Run), [`dataProcessed`](https://github.com/zhn66776/tidal_try/tree/main/dataProcessed) (Processed Data), [`multi_utide25-2.ipynb`](https://github.com/zhn66776/tidal_try/blob/main/multi_utide25-2.ipynb) (UTide BiLSTM)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Tide Data"]
  node_observations[("Gauge Observations")]
  node_processed[("Processed Data")]
  node_finaldata[("Paper Data")]
  node_alldata[("Experiment Data")]
end

subgraph group_features["Feature Preparation"]
  node_preprocess["Data Preparation"]
  node_utide["UTide Analysis<br/>[utide.ipynb]"]
  node_windows["Windowed Datasets<br/>[dataTools.py]"]
end

subgraph group_forecast["Forecast Experiments"]
  node_config["Forecast Config<br/>[config.py]"]
  node_bilstm["BiLSTM Forecast<br/>[multi25-2.ipynb]"]
  node_ubilistm["UTide BiLSTM"]
  node_cnnrun["CNN-BiLSTM Run<br/>[run1.py]"]
  node_models["Neural Models<br/>[models.py]"]
  node_trainer["Train And Evaluate<br/>[trainer.py]"]
  node_autoregressive["Autoregressive Forecast<br/>[trainer_autoreg.py]"]
end

subgraph group_analysis["Evaluation And Analysis"]
  node_comparison["Model Comparison"]
  node_utidecomparison["UTide Comparison"]
  node_visualization["Data Visualization<br/>[data_visual.ipynb]"]
  node_results[("Experiment Results")]
end

node_researcher(("Researcher"))

node_researcher -->|"runs analysis"| node_preprocess
node_observations -->|"reads observations"| node_preprocess
node_preprocess -->|"writes prepared data"| node_processed
node_processed -->|"provides water levels"| node_utide
node_utide -->|"produces paper data"| node_finaldata
node_processed -->|"loads series"| node_windows
node_windows -->|"provides data splits"| node_cnnrun
node_config -->|"supplies settings"| node_cnnrun
node_cnnrun -->|"instantiates model"| node_models
node_cnnrun -->|"calls training and evaluation"| node_trainer
node_finaldata -->|"provides experiment data"| node_ubilistm
node_ubilistm -->|"uses UTide features"| node_utide
node_finaldata -->|"provides experiment data"| node_bilstm
node_alldata -->|"supplies experiment data"| node_comparison
node_alldata -->|"supplies experiment data"| node_utidecomparison
node_bilstm -->|"records experiment outputs"| node_results
node_ubilistm -->|"records experiment outputs"| node_results
node_trainer -.->|"supports iterative prediction"| node_autoregressive
node_finaldata -->|"provides plotted data"| node_visualization
node_results -->|"provides experiment results"| node_visualization

click node_observations "https://github.com/zhn66776/tidal_try/tree/main/dataProcessed"
click node_processed "https://github.com/zhn66776/tidal_try/tree/main/dataProcessed"
click node_finaldata "https://github.com/zhn66776/tidal_try/tree/main/Final_data"
click node_alldata "https://github.com/zhn66776/tidal_try/tree/main/all_data"
click node_preprocess "https://github.com/zhn66776/tidal_try/blob/main/dataprocess_code.ipynb"
click node_utide "https://github.com/zhn66776/tidal_try/blob/main/utide.ipynb"
click node_windows "https://github.com/zhn66776/tidal_try/blob/main/utils/dataTools.py"
click node_config "https://github.com/zhn66776/tidal_try/blob/main/config.py"
click node_bilstm "https://github.com/zhn66776/tidal_try/blob/main/multi25-2.ipynb"
click node_ubilistm "https://github.com/zhn66776/tidal_try/blob/main/multi_utide25-2.ipynb"
click node_cnnrun "https://github.com/zhn66776/tidal_try/blob/main/run1.py"
click node_models "https://github.com/zhn66776/tidal_try/blob/main/utils/models.py"
click node_trainer "https://github.com/zhn66776/tidal_try/blob/main/utils/trainer.py"
click node_autoregressive "https://github.com/zhn66776/tidal_try/blob/main/utils/trainer_autoreg.py"
click node_comparison "https://github.com/zhn66776/tidal_try/blob/main/notebook/compare_models.ipynb"
click node_utidecomparison "https://github.com/zhn66776/tidal_try/blob/main/notebook/compare_with_utide.ipynb"
click node_visualization "https://github.com/zhn66776/tidal_try/blob/main/data_visual.ipynb"
click node_results "https://github.com/zhn66776/tidal_try/tree/main/all_data"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_observations,node_processed,node_finaldata,node_alldata toneBlue
class node_preprocess,node_utide,node_windows toneAmber
class node_config,node_bilstm,node_ubilistm,node_cnnrun,node_models,node_trainer,node_autoregressive toneMint
class node_comparison,node_utidecomparison,node_visualization,node_results toneRose
class node_researcher toneIndigo
```

## Components

### Tide Data

- [Gauge Observations](https://github.com/zhn66776/tidal_try/tree/main/dataProcessed): `dataProcessed`
- [Processed Data](https://github.com/zhn66776/tidal_try/tree/main/dataProcessed): `dataProcessed`
- [Paper Data](https://github.com/zhn66776/tidal_try/tree/main/Final_data): `Final_data`
- [Experiment Data](https://github.com/zhn66776/tidal_try/tree/main/all_data): `all_data`

### Feature Preparation

- [Data Preparation](https://github.com/zhn66776/tidal_try/blob/main/dataprocess_code.ipynb): `dataprocess_code.ipynb`
- [UTide Analysis](https://github.com/zhn66776/tidal_try/blob/main/utide.ipynb): `utide.ipynb`
- [Windowed Datasets](https://github.com/zhn66776/tidal_try/blob/main/utils/dataTools.py): `utils/dataTools.py`

### Forecast Experiments

- [Forecast Config](https://github.com/zhn66776/tidal_try/blob/main/config.py): `config.py`
- [BiLSTM Forecast](https://github.com/zhn66776/tidal_try/blob/main/multi25-2.ipynb): `multi25-2.ipynb`
- [UTide BiLSTM](https://github.com/zhn66776/tidal_try/blob/main/multi_utide25-2.ipynb): `multi_utide25-2.ipynb`
- [CNN-BiLSTM Run](https://github.com/zhn66776/tidal_try/blob/main/run1.py): `run1.py`
- [Neural Models](https://github.com/zhn66776/tidal_try/blob/main/utils/models.py): `utils/models.py`
- [Train And Evaluate](https://github.com/zhn66776/tidal_try/blob/main/utils/trainer.py): `utils/trainer.py`
- [Autoregressive Forecast](https://github.com/zhn66776/tidal_try/blob/main/utils/trainer_autoreg.py): `utils/trainer_autoreg.py`

### Evaluation And Analysis

- [Model Comparison](https://github.com/zhn66776/tidal_try/blob/main/notebook/compare_models.ipynb): `notebook/compare_models.ipynb`
- [UTide Comparison](https://github.com/zhn66776/tidal_try/blob/main/notebook/compare_with_utide.ipynb): `notebook/compare_with_utide.ipynb`
- [Data Visualization](https://github.com/zhn66776/tidal_try/blob/main/data_visual.ipynb): `data_visual.ipynb`
- [Experiment Results](https://github.com/zhn66776/tidal_try/tree/main/all_data): `all_data`

### Other components

- **Researcher**

## Connections

- Researcher → Data Preparation: runs analysis
- Gauge Observations → Data Preparation: reads observations
- Data Preparation → Processed Data: writes prepared data
- Processed Data → UTide Analysis: provides water levels
- UTide Analysis → Paper Data: produces paper data
- Processed Data → Windowed Datasets: loads series
- Windowed Datasets → CNN-BiLSTM Run: provides data splits
- Forecast Config → CNN-BiLSTM Run: supplies settings
- CNN-BiLSTM Run → Neural Models: instantiates model
- CNN-BiLSTM Run → Train And Evaluate: calls training and evaluation
- Paper Data → UTide BiLSTM: provides experiment data
- UTide BiLSTM → UTide Analysis: uses UTide features
- Paper Data → BiLSTM Forecast: provides experiment data
- Experiment Data → Model Comparison: supplies experiment data
- Experiment Data → UTide Comparison: supplies experiment data
- BiLSTM Forecast → Experiment Results: records experiment outputs
- UTide BiLSTM → Experiment Results: records experiment outputs
- Train And Evaluate → Autoregressive Forecast: supports iterative prediction
- Paper Data → Data Visualization: provides plotted data
- Experiment Results → Data Visualization: provides experiment results
