orcaflex-monolithic-to-modular-step-1-convert-dat-yml
Sub-skill of orcaflex-monolithic-to-modular: Step 1: Convert .dat to .yml (if needed) (+4).
Best use case
orcaflex-monolithic-to-modular-step-1-convert-dat-yml is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of orcaflex-monolithic-to-modular: Step 1: Convert .dat to .yml (if needed) (+4).
Teams using orcaflex-monolithic-to-modular-step-1-convert-dat-yml 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/step-1-convert-dat-to-yml-if-needed/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How orcaflex-monolithic-to-modular-step-1-convert-dat-yml Compares
| Feature / Agent | orcaflex-monolithic-to-modular-step-1-convert-dat-yml | 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 orcaflex-monolithic-to-modular: Step 1: Convert .dat to .yml (if needed) (+4).
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
# Step 1: Convert .dat to .yml (if needed) (+4)
## Step 1: Convert .dat to .yml (if needed)
```python
import OrcFxAPI
model = OrcFxAPI.Model("model.dat")
model.SaveData("model.yml") # OrcaFlex YAML export
```
## Step 2: Extract spec from monolithic YAML
```python
from digitalmodel.solvers.orcaflex.modular_generator.extractor import MonolithicExtractor
ext = MonolithicExtractor(Path("model.yml"))
spec_dict = ext.extract()
# Returns: {"metadata": {...}, "environment": {...}, "simulation": {...}, "generic": {...}}
```
The extractor:
- Reads multi-document YAML (handles `---` separators)
- Maps OrcaFlex keys to spec schema (typed fields + properties bag)
- Handles section name aliases (Groups/BrowserGroups, FrictionCoefficients/SolidFrictionCoefficients)
- Extracts current profiles from multi-column keys
- Captures `raw_properties` for diagnostic use
## Step 3: Validate and create spec
```python
from digitalmodel.solvers.orcaflex.modular_generator.schema.root import ProjectInputSpec
spec = ProjectInputSpec(**spec_dict)
# Pydantic validates all fields, applies defaults
```
## Step 4: Generate modular output
```python
from digitalmodel.solvers.orcaflex.modular_generator import ModularModelGenerator
gen = ModularModelGenerator.from_spec(spec)
gen.generate(Path("output/modular"))
```
## Step 5: Semantic validation
```python
from scripts.semantic_validate import load_monolithic, load_modular, validate, summarize
mono = load_monolithic(Path("model.yml"))
mod = load_modular(Path("output/modular"))
results = validate(mono, mod)
summary = summarize(results)
print(f"Match: {summary['total_sections'] - summary['sections_with_diffs']}/{summary['total_sections']}")
print(f"Significant diffs: {summary['significant_diffs']}")
```Related Skills
OrcaFlex Specialist Skill
```yaml
orcaflex-reporting-fixture-proof-pattern
Build and extend fixture-backed OrcaFlex reporting proof paths in digitalmodel using stable metadata baselines, normalized HTML snapshots, and reusable reporting test helpers.
digitalmodel-orcawave-orcaflex-proof-workflows
Class-level digitalmodel OrcaWave/OrcaFlex readiness, semantic-proof, fixture-proof, and closeout workflows.
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.
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.
orcawave-orcaflex-semantic-proof-wave-closeout
Close out an OrcaWave/OrcaFlex semantic-proof wave after a PR merges, split unrelated CI blockers, and seed the next semantic-proof issue wave without duplicating existing issues.
orcawave-to-orcaflex
Integration specialist for converting OrcaWave diffraction results to OrcaFlex vessel types. Handles hydrodynamic database generation, RAO import, viscous damping addition, and coordinate system transformations.
orcaflex-yaml-gotchas
Production-proven OrcaFlex YAML traps and solutions covering dormant properties, boolean mismatches, section ordering, Pydantic integration, and section name aliases.
orcaflex-visualization
Generate visualizations from OrcaFlex and OrcaWave simulations using the shared OrcFxAPI — model views (SaveModelView), time series plots, range graphs, and interactive HTML reports. Covers both .dat/.sim (OrcaFlex) and .owd (OrcaWave) files via the same API surface.
orcaflex-vessel-setup
Configure 6-DOF vessels in OrcaFlex with hydrodynamic properties, RAO import from AQWA, and vessel type creation. Covers initial position, orientation, calculation settings, and motion options.
orcaflex-static-debug
Troubleshoot and resolve OrcaFlex static analysis convergence issues. Diagnose common problems including line connectivity, tensions, environmental conditions, and numerical instabilities.
orcaflex-specialist
Automate OrcaFlex marine simulations via Python API for mooring, riser, and installation analysis