Skip to content
Back to skills

Orcaflex Operability Vamseeachanta Digitalmodel 2

ASecurity

Perform operability analysis combining multiple sea states to assess

  • 666 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 2, 2026
datapythongospringgitapi

Works with

  • api

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add majiayu000/claude-skill-registry --skill orcaflex-operability-vamseeachanta-digitalmodel-2 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Orcaflex Operability Vamseeachanta Digitalmodel 2?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Orcaflex Operability Vamseeachanta Digitalmodel 2
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-orcaflex-operability-vamseeachanta-digitalmodel-2/badge)](https://www.skillsdirectory.com/skills/majiayu000-orcaflex-operability-vamseeachanta-digitalmodel-2)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: orcaflex-operability
description: Perform operability analysis combining multiple sea states to assess
  system availability and weather downtime. Generate operability envelopes, critical
  heading analysis, and downtime calculations from wave scatter diagrams.
version: 1.0.0
updated: 2026-01-17
category: offshore-engineering
triggers:
- operability analysis
- weather downtime
- operability envelope
- sea state analysis
- weather window
- operational limits
- critical headings
- wave scatter
- annual downtime
---
# OrcaFlex Operability Analysis Skill

Assess system operability across multiple sea states with envelope generation, critical heading analysis, and weather downtime calculations.

## Version Metadata

```yaml
version: 1.0.0
python_min_version: '3.10'
dependencies:
  orcaflex-modeling: '>=2.0.0,<3.0.0'
  orcaflex-post-processing: '>=1.0.0,<2.0.0'
orcaflex_version: '>=11.0'
compatibility:
  tested_python:
  - '3.10'
  - '3.11'
  - '3.12'
  - '3.13'
  os:
  - Windows
  - Linux
  - macOS
```

## Changelog

### [1.0.0] - 2026-01-17

**Added:**
- Initial release with operability envelope generation
- Weather downtime calculations from wave scatter
- Critical heading analysis
- Interactive Plotly visualization

## When to Use

- Operability envelope generation for mooring systems
- Weather downtime calculations from scatter diagrams
- Critical heading identification for design loads
- Multi-sea-state analysis (1yr, 10yr, 100yr return periods)
- Tension limit assessment (intact vs damaged conditions)
- Annual operational availability studies
- Polar coordinate visualization of system limits

## Prerequisites

- OrcaFlex simulation results (.sim files) for multiple headings
- Wave scatter diagram (Hs-Tp probability matrix)
- Python environment with `digitalmodel` package installed
- Tension limits for intact and damaged conditions

## Operability Workflow

```
[Multiple .sim Files]    [Wave Scatter Diagram]
   (per heading)              (Hs-Tp matrix)
        ↓                          ↓
[Extract Max Tensions]    [Probability Distribution]
        ↓                          ↓
[Operability Envelope]  →  [Weather Downtime Calc]
        ↓                          ↓
[Critical Headings]      [Annual Availability %]
        ↓                          ↓
[Combined HTML Report with Interactive Plots]
```

## Configuration

### Basic Operability Configuration

```yaml
# configs/operability_config.yml

operability:
  # Input data
  simulation_directory: "results/.sim/"
  file_pattern: "mooring_heading_*.sim"

  # Tension extraction
  line_names:
    - "Mooring_Line_1"
    - "Mooring_Line_2"
    - "Mooring_Line_3"
    - "Mooring_Line_4"
  variable: "Effective Tension"
  statistic: "max"  # max, min, mean

  # Limits for envelope
  tension_limits:
    intact: 2500.0      # kN - intact condition limit
    damaged: 3000.0     # kN - damaged condition limit (typically higher)

  # Wave scatter for downtime
  wave_scatter:
    file: "data/wave_scatter_gom.csv"
    format: "hs_tp_matrix"  # or "hs_tp_list"

  # Output
  output:
    directory: "reports/operability/"
    report_name: "mooring_operability"
    format: "html"  # html, pdf
```

### Advanced Configuration

```yaml
# configs/operability_advanced.yml

operability:
  # Input data
  simulation_directory: "results/calm_operability/.sim/"
  file_pattern: "calm_hs*_tp*_dir*.sim"

  # Multi-line analysis
  line_groups:
    windward:
      lines: ["Leg_1", "Leg_2", "Leg_3"]
      critical_limit: 2000.0
    leeward:
      lines: ["Leg_4", "Leg_5", "Leg_6"]
      critical_limit: 2200.0

  # Heading analysis
  headings:
    start: 0
    end: 360
    step: 15
    critical_count: 5  # Top N critical headings to report

  # Envelope visualization
  envelope:
    polar_plot: true
    include_limits: true
    colorscale: "Viridis"
    show_critical_headings: true

  # Weather downtime
  downtime:
    operational_hours_per_year: 8760
    minimum_window_hours: 6  # Minimum weather window
    include_seasonal: true
    seasons:
      winter: [12, 1, 2]
      spring: [3, 4, 5]
      summer: [6, 7, 8]
      autumn: [9, 10, 11]

  # Output
  output:
    directory: "reports/operability/"
    report_name: "calm_operability_comprehensive"
    include_data_tables: true
    export_csv: true
```

## Python API

### Basic Operability Analysis

```python
from digitalmodel.orcaflex.operability_analysis import OperabilityAnalyzer

# Initialize analyzer
analyzer = OperabilityAnalyzer(
    simulation_directory="results/.sim/",
    output_directory="reports/operability/"
)

# Generate operability envelope
envelope = analyzer.generate_operability_envelope(
    line_names=["Mooring_Line_1", "Mooring_Line_2"],
    variable="Effective Tension",
    statistic="max",
    intact_limit=2500.0,
    damaged_limit=3000.0
)

# Save envelope plot
analyzer.save_envelope_plot(envelope, "operability_envelope.html")
```

### Weather Downtime Calculation

```python
from digitalmodel.orcaflex.operability_analysis import OperabilityAnalyzer
import pandas as pd

analyzer = OperabilityAnalyzer(
    simulation_directory="results/.sim/",
    output_directory="reports/"
)

# Load wave scatter diagram
wave_scatter = pd.read_csv("data/wave_scatter.csv", index_col=0)

# Calculate weather downtime
downtime_results = analyzer.calculate_weather_downtime(
    wave_scatter=wave_scatter,
    operational_limit_hs=4.0,  # Operational Hs limit
    operational_limit_tp=12.0  # Operational Tp limit
)

print(f"Annual downtime: {downtime_results['annual_downtime_percent']:.1f}%")
print(f"Operational hours: {downtime_results['operational_hours']:.0f} hrs/yr")
print(f"Downtime days: {downtime_results['downtime_days']:.1f} days/yr")
```

### Critical Headings Analysis

```python
from digitalmodel.orcaflex.operability_analysis import OperabilityAnalyzer

analyzer = OperabilityAnalyzer(
    simulation_directory="results/.sim/",
    output_directory="reports/"
)

# Identify critical headings
critical = analyzer.generate_critical_headings_report(
    line_names=["Leg_1", "Leg_2", "Leg_3", "Leg_4", "Leg_5", "Leg_6"],
    variable="Effective Tension",
    top_n=5,  # Top 5 most critical headings
    limit=2500.0
)

# Report format:
# critical = {
#     "headings": [45, 135, 225, 315, 0],
#     "max_tensions": [2450.2, 2380.5, 2350.1, 2290.8, 2250.3],
#     "utilization": [0.98, 0.95, 0.94, 0.92, 0.90],
#     "critical_lines": ["Leg_1", "Leg_3", "Leg_5", "Leg_2", "Leg_4"]
# }

for i, heading in enumerate(critical["headings"]):
    print(f"Heading {heading}°: {critical['max_tensions'][i]:.1f} kN "
          f"({critical['utilization'][i]*100:.1f}% utilization)")
```

### Comprehensive Report Generation

```python
from digitalmodel.orcaflex.operability_analysis import OperabilityAnalyzer

analyzer = OperabilityAnalyzer(
    simulation_directory="results/.sim/",
    output_directory="reports/"
)

# Generate comprehensive HTML report with all analyses
report_path = analyzer.generate_comprehensive_report(
    line_names=["Leg_1", "Leg_2", "Leg_3", "Leg_4", "Leg_5", "Leg_6"],
    variable="Effective Tension",
    intact_limit=2500.0,
    damaged_limit=3000.0,
    wave_scatter_file="data/wave_scatter.csv",
    report_title="CALM Buoy Mooring Operability Assessment",
    include_envelope=True,
    include_critical_headings=True,
    include_weather_downtime=True
)

print(f"Report saved to: {report_path}")
```

## Output Formats

### Operability Envelope Plot

Interactive Plotly polar plot showing:
- Maximum tension vs heading angle
- Intact and damaged limit circles
- Color-coded utilization zones
- Hover tooltips with exact values

### Critical Headings Table

| Rank | Heading (°) | Max Tension (kN) | Utilization (%) | Critical Line | Status |
|------|-------------|------------------|-----------------|---------------|--------|
| 1 | 45 | 2450.2 | 98.0 | Leg_1 | WARNING |
| 2 | 135 | 2380.5 | 95.2 | Leg_3 | OK |
| 3 | 225 | 2350.1 | 94.0 | Leg_5 | OK |

### Weather Downtime Summary

```json
{
  "annual_downtime_percent": 12.5,
  "operational_hours_per_year": 7665,
  "downtime_hours_per_year": 1095,
  "downtime_days_per_year": 45.6,
  "seasonal_breakdown": {
    "winter": {"downtime_percent": 25.3, "days": 23.1},
    "spring": {"downtime_percent": 10.2, "days": 9.3},
    "summer": {"downtime_percent": 5.1, "days": 4.7},
    "autumn": {"downtime_percent": 9.4, "days": 8.5}
  }
}
```

## Wave Scatter Diagram Format

### CSV Matrix Format

```csv
Tp\Hs,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0
4,0.001,0.002,0.001,0.000,0.000,0.000,0.000,0.000
6,0.005,0.015,0.020,0.010,0.003,0.001,0.000,0.000
8,0.010,0.050,0.080,0.060,0.030,0.010,0.003,0.001
10,0.008,0.040,0.070,0.080,0.050,0.025,0.010,0.003
12,0.005,0.025,0.040,0.050,0.040,0.020,0.010,0.005
14,0.002,0.010,0.020,0.025,0.020,0.015,0.008,0.003
```

Values represent probability of occurrence (sum = 1.0).

## Best Practices

### Simulation Setup

1. **Consistent headings** - Use regular intervals (15° or 30°)
2. **Sufficient sea states** - Cover full scatter diagram range
3. **Consistent naming** - Include heading in filename
4. **Complete simulations** - Ensure all finish successfully

### Limit Selection

1. **Intact limit** - Based on design code (e.g., 60% MBL)
2. **Damaged limit** - Account for redundancy (e.g., 80% MBL)
3. **Include safety factors** - Per API RP 2SK or DNV

### Weather Downtime

1. **Site-specific scatter** - Use project metocean data
2. **Operational limits** - Define based on system capabilities
3. **Weather windows** - Consider minimum window requirements

## Error Handling

```python
try:
    envelope = analyzer.generate_operability_envelope(...)
except FileNotFoundError as e:
    print(f"Simulation files not found: {e}")
    print("Check simulation_directory and file_pattern")

except ValueError as e:
    print(f"Configuration error: {e}")
    print("Check line names and variable specifications")
```

## Integration with Other Skills

### With OrcaFlex Modeling

```python
# 1. Run simulations for multiple headings
from digitalmodel.orcaflex.universal import UniversalOrcaFlexRunner

runner = UniversalOrcaFlexRunner()
for heading in range(0, 360, 15):
    runner.run_single(f"mooring_heading_{heading}.yml")

# 2. Run operability analysis
from digitalmodel.orcaflex.operability_analysis import OperabilityAnalyzer

analyzer = OperabilityAnalyzer(simulation_directory="results/.sim/")
analyzer.generate_comprehensive_report(...)
```

### With Post-Processing

```python
# Use OPP for detailed extraction, then operability for envelope
from digitalmodel.orcaflex.opp import OrcaFlexPostProcess
from digitalmodel.orcaflex.operability_analysis import OperabilityAnalyzer

# Extract detailed statistics
opp = OrcaFlexPostProcess()
stats = opp.extract_summary_statistics(...)

# Generate operability envelope
analyzer = OperabilityAnalyzer(...)
envelope = analyzer.generate_operability_envelope(...)
```

## Related Skills

- [orcaflex-modeling](../orcaflex-modeling/SKILL.md) - Run OrcaFlex simulations
- [orcaflex-post-processing](../orcaflex-post-processing/SKILL.md) - Extract results
- [orcaflex-extreme-analysis](../orcaflex-extreme-analysis/SKILL.md) - Extreme value extraction
- [mooring-design](../mooring-design/SKILL.md) - Mooring system design

## References

- API RP 2SK: Design and Analysis of Stationkeeping Systems
- DNV-OS-E301: Position Mooring
- ISO 19901-7: Stationkeeping Systems
- Source: `src/digitalmodel/modules/orcaflex/operability_analysis.py`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.