aqwa-output
AQWA output formats (RAO CSV, coefficient JSON), LIS parsing conventions, result validation, benchmark comparison vs OrcaWave, and validation criteria.
Best use case
aqwa-output is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
AQWA output formats (RAO CSV, coefficient JSON), LIS parsing conventions, result validation, benchmark comparison vs OrcaWave, and validation criteria.
Teams using aqwa-output 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/output/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How aqwa-output Compares
| Feature / Agent | aqwa-output | 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?
AQWA output formats (RAO CSV, coefficient JSON), LIS parsing conventions, result validation, benchmark comparison vs OrcaWave, and validation criteria.
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
# AQWA Output Skill
Output formats, LIS parsing conventions, result validation, and benchmark comparison for ANSYS AQWA. See [aqwa](../SKILL.md) for Python API.
## Output Formats
### RAO CSV Format
```csv
frequency_rad_s,direction_deg,surge_amp,surge_phase,sway_amp,sway_phase,heave_amp,heave_phase,roll_amp,roll_phase,pitch_amp,pitch_phase,yaw_amp,yaw_phase
0.100,0.0,0.985,178.2,0.000,0.0,1.023,-2.5,0.000,0.0,0.156,175.8,0.000,0.0
0.100,90.0,0.000,0.0,0.978,175.4,1.015,-3.2,2.345,-8.5,0.000,0.0,0.012,92.1
```
### Coefficient Matrices JSON
```json
{
"frequencies_rad_s": [0.1, 0.2, 0.3, 0.5, 0.8],
"added_mass": { "0.1": [[1.2e6, 0, 0, 0, 1.5e7, 0], ...] },
"damping": { "0.1": [[2.5e5, 0, 0, 0, 3.2e6, 0], ...] }
}
```
## LIS Parsing Conventions
- `ADDED MASS` header has **double space** — use whitespace normalization for matching
- WAVE FREQUENCY line appears ~23 lines before DAMPING section — search backward 30 lines
- Matrix rows in added mass/damping sections are separated by blank lines
- First RAO section = displacement RAOs; subsequent sections = velocity/acceleration (skip these)
## Post-Processing & Validation
```python
from digitalmodel.aqwa.aqwa_postprocess import AqwaPostProcess
from digitalmodel.aqwa.aqwa_validator import AqwaValidator
postprocess = AqwaPostProcess()
postprocess.load("aqwa_results/vessel.LIS")
postprocess.generate_report(
output_file="results/aqwa_report.html",
include=["summary", "rao_plots", "coefficient_tables", "drift_force_plots"]
)
validator = AqwaValidator()
validator.load("aqwa_results/vessel.LIS")
results = validator.validate()
# Check: symmetry_check, low_frequency_check, radiation_check
if not validator.check_positive_definite_damping():
print("Warning: Damping matrix not positive definite")
if not validator.check_symmetric_added_mass():
print("Warning: Added mass matrix not symmetric")
kk_result = validator.kramers_kronig_check()
```
## Benchmark Comparison vs OrcaWave
```yaml
aqwa_analysis:
benchmark_comparison:
flag: true
aqwa_results: "aqwa_results/vessel.LIS"
orcawave_results: "orcawave_results/vessel.sim"
tolerance: 0.05
peak_threshold: 0.10
output:
comparison_report: "results/aqwa_orcawave_comparison.html"
peak_analysis: "results/peak_values_comparison.html"
```
### Standalone Comparison Scripts
```bash
# Peak-focused comparison
cd docs/modules/orcawave/L01_aqwa_benchmark
python run_comparison_peaks.py
# Heading-by-heading comparison
python run_proper_comparison.py
```
### Module-Level Integration
```python
from digitalmodel.diffraction.aqwa_converter import AQWAConverter
converter = AQWAConverter(
analysis_folder="docs/modules/orcawave/L01_aqwa_benchmark",
vessel_name="SHIP_RAOS"
)
aqwa_results = converter.convert_to_unified_schema(water_depth=30.0)
# Use with DiffractionComparator for full benchmark analysis
```
## Benchmark Validation Criteria
**Engineering Standard Practice:**
- 5% tolerance applies to **peak and significant values only**
- "Significant" = RAO magnitude >= 10% of peak value
- Pass requires 90% of significant points within 5% tolerance
- Low-amplitude responses (<10% of peak) excluded from validation
**Typical Peak Values by DOF:**
- **Heave**: 0.9-1.1 m/m (near natural period)
- **Pitch**: 0.4-0.6 deg/m (near natural period)
- **Roll**: 2-5 deg/m (beam seas, low frequency)
- **Surge**: 0.8-1.0 m/m (following seas)
- **Sway**: 0.8-1.0 m/m (beam seas)
- **Yaw**: Small (<0.1 deg/m for symmetric vessels)
## Related Skills
- [aqwa](../SKILL.md) — Hub skill with Python API
- [aqwa/input](../input/SKILL.md) — Input formats and configurations
- [aqwa/reference](../reference/SKILL.md) — Solver stages and OPTIONS keywords
- [orcawave/analysis](../../orcawave/analysis/SKILL.md) — OrcaWave benchmark validationRelated Skills
orcawave-aqwa-benchmark
Cross-validation specialist for comparing OrcaWave and AQWA diffraction analysis results. Provides statistical comparison, peak value validation, and automated benchmark reporting for hydrodynamic coefficient verification.
aqwa-reference
AQWA solver stages (RESTART), OPTIONS keywords, FIDP/FISK external damping/stiffness cards, backend bugs, and MCP tool integration patterns.
aqwa-batch-execution
Run ANSYS AQWA analyses in batch/headless mode on Linux. Covers CLI execution, DAT input file structure, multi-stage analysis chaining, output file parsing, failure diagnosis, and HPC job scheduling.
aqwa-analysis
Integrate with AQWA hydrodynamic software for RAO computation, damping analysis, and coefficient extraction. Hub skill — delegates to aqwa-input, aqwa-output, aqwa-reference for details.
repo-structure-gitignore-enforcement-root-level-output-artifacts
Sub-skill of repo-structure: Gitignore Enforcement: Root-Level Output Artifacts.
instrument-data-allotrope-output-format-selection
Sub-skill of instrument-data-allotrope: Output Format Selection.
hardware-assessment-output-schema-v10
Sub-skill of hardware-assessment: Output Schema (v1.0).
orcawave-to-orcaflex-supported-output-formats
Sub-skill of orcawave-to-orcaflex: Supported Output Formats (+1).
orcawave-aqwa-benchmark-standard-tolerances
Sub-skill of orcawave-aqwa-benchmark: Standard Tolerances (+1).
orcawave-aqwa-benchmark-standard-test-suite
Sub-skill of orcawave-aqwa-benchmark: Standard Test Suite.
orcawave-aqwa-benchmark-single-page-html-report-structure
Sub-skill of orcawave-aqwa-benchmark: Single-Page HTML Report Structure (+3).
orcawave-aqwa-benchmark-html-report-structure
Sub-skill of orcawave-aqwa-benchmark: HTML Report Structure (+1).