wave-theory-4-time-series-generation
Sub-skill of wave-theory: 4. Time Series Generation (+1).
Best use case
wave-theory-4-time-series-generation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of wave-theory: 4. Time Series Generation (+1).
Teams using wave-theory-4-time-series-generation should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/4-time-series-generation/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How wave-theory-4-time-series-generation Compares
| Feature / Agent | wave-theory-4-time-series-generation | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of wave-theory: 4. Time Series Generation (+1).
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 4. Time Series Generation (+1)
## 4. Time Series Generation
**Generate Irregular Wave Time Series:**
```python
def generate_irregular_wave_time_series(
S: np.ndarray,
frequencies: np.ndarray,
duration: float,
dt: float,
random_seed: int = None
) -> tuple[np.ndarray, np.ndarray]:
"""
Generate irregular wave elevation time series from spectrum.
Args:
S: Wave spectrum (m²/Hz)
frequencies: Frequency array (Hz)
duration: Duration (s)
dt: Time step (s)
random_seed: Random seed for reproducibility
Returns:
(time, elevation) arrays
"""
if random_seed is not None:
np.random.seed(random_seed)
# Time array
time = np.arange(0, duration, dt)
# Initialize elevation
eta = np.zeros_like(time)
# Frequency resolution
df = frequencies[1] - frequencies[0]
# Generate wave components
for i, f in enumerate(frequencies):
if S[i] > 0:
# Amplitude from spectrum
amplitude = np.sqrt(2 * S[i] * df)
# Random phase
phase = np.random.uniform(0, 2*np.pi)
# Wave component
omega = 2 * np.pi * f
eta += amplitude * np.cos(omega * time + phase)
return time, eta
# Example: Generate 1 hour of wave data
t, elevation = generate_irregular_wave_time_series(
S, freq,
duration=3600,
dt=0.1,
random_seed=42
)
# Verify statistics
Hs_timeseries = 4 * np.std(elevation)
print(f"Time Series Statistics:")
print(f" Target Hs: {params['Hs']:.2f} m")
print(f" Generated Hs: {Hs_timeseries:.2f} m")
print(f" Duration: {len(t) * 0.1 / 3600:.2f} hours")
```
## 5. Wave Scatter Diagrams
**Create Wave Scatter Diagram:**
```python
def create_wave_scatter_diagram(
Hs_bins: np.ndarray,
Tp_bins: np.ndarray,
location_data: dict
) -> np.ndarray:
"""
Create wave scatter diagram (probability table).
Args:
Hs_bins: Hs bin edges (m)
Tp_bins: Tp bin edges (s)
location_data: Historical wave data or hindcast
Returns:
Probability matrix (sum = 1.0)
"""
# This is typically based on hindcast data
# Simplified example using lognormal distribution
n_Hs = len(Hs_bins) - 1
n_Tp = len(Tp_bins) - 1
scatter = np.zeros((n_Hs, n_Tp))
# Simplified: Tp roughly proportional to sqrt(Hs)
for i in range(n_Hs):
Hs_mid = (Hs_bins[i] + Hs_bins[i+1]) / 2
# Expected Tp for this Hs (empirical: Tp ≈ 3.6*sqrt(Hs))
Tp_expected = 3.6 * np.sqrt(Hs_mid)
# Hs occurrence (Weibull distribution)
from scipy.stats import weibull_min
p_Hs = weibull_min.pdf(Hs_mid, c=2, scale=2.5)
# Tp distribution given Hs (normal around expected)
from scipy.stats import norm
for j in range(n_Tp):
Tp_mid = (Tp_bins[j] + Tp_bins[j+1]) / 2
p_Tp_given_Hs = norm.pdf(Tp_mid, loc=Tp_expected, scale=1.5)
scatter[i, j] = p_Hs * p_Tp_given_Hs
# Normalize to probabilities
scatter /= scatter.sum()
return scatter
# Example
Hs_bins = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Tp_bins = np.array([0, 4, 6, 8, 10, 12, 14, 16])
scatter = create_wave_scatter_diagram(Hs_bins, Tp_bins, {})
# Annual hours
annual_hours = scatter * 8760
print(f"Wave Scatter Diagram:")
print(f" Total probability: {scatter.sum():.4f}")
print(f" Most probable sea state: Hs={Hs_bins[np.unravel_index(scatter.argmax(), scatter.shape)[0]]}-{Hs_bins[np.unravel_index(scatter.argmax(), scatter.shape)[0]+1]}m")
```Related Skills
digitalmodel-orcawave-orcaflex-proof-workflows
Class-level digitalmodel OrcaWave/OrcaFlex readiness, semantic-proof, fixture-proof, and closeout workflows.
plan-gated-issue-execution-wave
Execute a multi-issue architecture/planning wave in a plan-gated repo, then safely transition approved issues into implementation with file-based Codex prompts, local approval markers, subprocess monitoring, and cleanup handling for sandbox/hook edge cases.
orcawave-orcaflex-readiness-audit
Audit the real readiness of digitalmodel OrcaWave/OrcaFlex spec-driven workflows by reconciling workspace-hub issues, source/tests, semantic-equivalence boundaries, and wiki synthesis gaps.
wave-based-parallel-plan-execution
Orchestrate phase execution by discovering dependencies, grouping into waves, spawning subagents, and collecting results with optional wave filtering
label-driven-prompt-generation-architecture
Pattern for building automation scripts that classify GitHub issues into prompt templates using label-based routing and extract contextual data for batch processing
handle-freetaxusa-session-timeouts
Recover from FreeTaxUSA session timeout dialogs blocking form submission and navigation
agent-team-prompt-generation
Create self-contained execution prompts that define multi-role workflows for Codex sessions without external dependencies
digitalmodel-orcawave-orcaflex-workflow
Current-state workflow for navigating and extending digitalmodel OrcaWave/OrcaFlex capabilities across code, tests, issues, queue tooling, and licensed-machine boundaries.
ten-agent-pre-plan-review-wave
Launch and verify a 10-agent planning-only wave that moves open GitHub issues into status:plan-review using one isolated worktree per issue, wave-specific continuation cron, and post-run artifact-reconciliation checks.
preserved-plan-refile-with-attested-review-wave
Reopen a previously closed GitHub issue with a preserved local plan, rewrite it into a conservative draft, and drive iterative attested adversarial review waves until it is truly approval-ready.
overnight-wave-pack-worktree-isolation
Safely launch overnight multi-terminal workspace-hub planning packs from isolated worktrees when the main checkout is dirty or prompts share planning/index files.
overnight-pre-plan-review-wave-artifact-drift
Run overnight planning-only waves for issues before status:plan-review, and reconcile cases where GitHub state advances but plan/review artifacts land in a sandbox or remote branch instead of the active local worktree.