Download OpenAPI specification:
Using this API, customers can submit vessel performance models to ABB. These models can then be used to perform route calculations for the specific vessel via the ABB Vessel Routing API.
Performance model creation and updates are processed asynchronously. When a model is submitted, it is queued for processing. Use the Get performance model status endpoint to track progress.
POST or PUT202 Accepted). Processing typically completes within a minute but may take longer for large STW files.modelId to correct and resubmitGet token for use in HTTP requests.
| client_id required | string Client ID as provided by ABB |
| client_secret required | string Client secret as provided by ABB |
| scope required | string Default: "https://genb2crs03euwprod.onmicrosoft.com/rs.iam/region" The scope the credentials should belong to. |
| grant_type required | string Default: "client_credentials" The type of token request |
| access_token required | string The token used for authentication in API requests |
| expires_in required | integer The duration (in seconds) for which the token remains valid |
| token_type required | string Default: "Bearer" The type of token |
| scope required | string A space-delimited list of the scopes of the token |
| resource | string Resource associated to the token |
{- "access_token": "string",
- "expires_in": 0,
- "token_type": "Bearer",
- "scope": "string",
- "resource": "string"
}A performance model defines how a vessel behaves under varying speeds and environmental conditions. It consists of:
sicw — Speed in Calm Water: the vessel's reference speed range under ideal conditions, used as the primary axis. Ideally this should cover calm water speed range upto 100% MCR.domains — Ordered environmental condition dimensions (wind, waves, swell). See list of available domains below.calmWaterPerformanceCurves — ME consumption, MCR & RPM curves as function of SICW (indicating calm water performance of the vessel).otherFuelConsumption — Should capture all non ME related consumption that are dependent on time or speed. User can provide fixed consumption value per day or speed dependent consumption (for example to account for high aux engine consumption at low engine load in scenarios when the auxiliary blower kicks in to deliver fresh air to the main engine).stw (file) — Speed Through Water values across the full SICW × domain grid.metadata — Vessel identification and physical characteristics (IMO number, name, dimensions, draft).0° coming from bow, 180° coming from stern.A single IMO number can have multiple active performance models (e.g., for various drafts). In the future, SPOS captains will be able to fetch all active models for a vessel and select the one to use for their voyage. To avoid confusion, ensure that each vessel has only a small number of active models and that each model has a clear, human-readable description so captains can easily identify the right one.
You can provide a model for just 1 SICW which is sufficient for doing instructed speed routing (the SICW in route request should be the same as SICW for which the model is provided), or models with an SICW range which is needed for variable speed / optimal speed routing (SICW range in route request should be a subset of the SICW range for which the model is provided).
Recommended range: Vessel's set speed at 10% MCR to the vessel's set speed at 100% MCR. Atleast cover the full SICW range in which the crew is willing to operate in.
Examples:
{ min: 0, max: 14, step: 1 } → 15 steps (0, 1, 2, …, 14 kn){ min: 0, max: 20, step: 2 } → 11 steps (0, 2, 4, …, 20 kn){ min: 14, max: 14, step: 0 } → 1 step (14 kn only)Single-SICW models (sicw.min = sicw.max): provide exactly 1 entry where speedFrom = speedTo = sicw.min = sicw.max.
Multi-SICW models: provide one or more contiguous entries that together span the full SICW range:
speedFrom must equal sicw.minspeedTo must equal sicw.maxspeedTo must equal the next entry's speedFrom (when sorted by speedFrom)Validation rules:
speedFrom must be ≥ sicw.minspeedTo must be ≤ sicw.maxspeedFrom must be < speedTospeedFrom = sicw.min, last speedTo = sicw.maxspeedTo must equal the next entry's speedFrom (sorted by speedFrom)speedFrom must be = speedTo, and array must have exactly 1 entry✅Example 1 — Single-SICW (sicw.min = sicw.max = 14):
{ speedFrom: 14, speedTo: 14, otherFuel: 2.0 }
✅Example 2 — Multi-SICW, two contiguous entries (sicw.min = 1, sicw.max = 2):
{ speedFrom: 1, speedTo: 1.5, otherFuel: 2.5 }
{ speedFrom: 1.5, speedTo: 2, otherFuel: 3.0 }
❌ Example 3 — Invalid: gap between entries (sicw.min = 1, sicw.max = 2):
{ speedFrom: 1, speedTo: 1.5, otherFuel: 2.5 }
{ speedFrom: 1.6, speedTo: 2, otherFuel: 3.0 }
True wind speed domain - the speed of wind at 10 m above sea level, observed from a fixed reference frame (not relative to the vessel).
Recommended range: 0-60 kn in steps of 10 kn
Note for WASP vessels: Finer steps may be needed
Wind and wind-sea direction domain - ship-fixed directions, coming from and according to the nautical convention (0° = head wind/waves).
Recommended range: 0-180° in steps of 30°
Due to port/starboard symmetry assumed by the model, directions only span 0°-180°.
Note for WASP vessels: Finer direction steps may improve accuracy.
Significant wave height of wind sea domain, in meters.
Recommended range: 0-12 m in steps of 1 m
Mean absolute wave period of wind sea (Tmm10) domain, in seconds.
This model requires Tm-1,0 (also written as Tmm10, T_{m-1,0}, or the "wave energy period").
Recommended range: 4-16 s in steps of 3 s (giving 5 points: 4, 7, 10, 13, 16 s)
Significant wave height of swell domain, in meters.
Recommended range: 0-12 m in steps of 1 m
Swell direction domain - ship-fixed directions, coming from and according to the nautical convention (0° = head wind/waves).
Recommended range: 0-180° in steps of 30°
Mean absolute wave period of swell (Tmm10) domain, in seconds.
Use the mean wave energy period Tm-1,0 (also written as Tmm10).
Recommended range: 4-16 s in steps of 3 s
Total significant wave height domain - the combined significant height of all wave components (wind waves + swell), representing the overall sea state.
Recommended range: 0-12 m in steps of 1 m
Total wave direction domain - the dominant direction of the combined wave field (wind waves + swell), relative to vessel heading. 0° means waves from the bow; 180° means from the stern.
Recommended range: 0-180° in steps of 30°
| Note |
|---|
| Recommended ranges and steps are guidelines based on research done by ABB for typical vessels. Adjust them to minimize error between your original model results and the results from the testing endpoint. Changing ranges and steps for weather domains can significantly increase STW file size — ensure it stays under 150 MB. |
STW is a plain text file with one numeric value per line, mapping each sicw × domains grid point to the resulting Speed Through Water.
The total number of required STW values is the product of all step counts:
total = sicw_steps × domain[0]_steps × domain[1]_steps × ... × domain[N]_steps
Step count example:
sicw: min=8, max=16, step=4 → 3 stepsdomains[0] (WIND_SPEED): min=0, max=60, step=30 → 3 stepsdomains[1] (WIND_WAVE_DIRECTION): min=0, max=180, step=90 → 3 steps3 × 3 × 3 = 27STW content example (27 lines):
11
11.8
11.6
11.7
11.5
11.3
11.4
11.2
11
13
12.8
12.6
12.7
12.5
12.3
12.4
12.2
12
14
13.8
13.6
13.7
13.5
13.3
13.4
13.2
13
| Rule | Detail |
|---|---|
| Range | -5 to 50 knots (inclusive) |
| Decimal places | 2 decimal places or fewer recommended. Additional decimals are rounded when the model is used |
| Empty lines | Not allowed — every line must contain a value |
| Accepted MIME types | text/plain or application/octet-stream |
| Compression | Gzip supported — detected automatically |
| Max values | 25,000,000 |
| Max file size | 150 MB |
Values must follow the nested loop order: sicw (outer) → domains[0] → ... → domains[N] (inner)
Validation errors are grouped by type and reported with line numbers, e.g.:
Lines 1-10: Value exceeds maximum (50 knots), Line 15: Invalid speed value 'abc'
Every model is assigned a unique identifier with the format: {IMO}-{MeanDraft}-{WASPStatus}-{UniqueID}
| Segment | Description | Example |
|---|---|---|
| IMO | 7-digit IMO number | 1234567 |
| MeanDraft | Mean draft in meters — decimal point replaced by underscore | 12_50 (= 12.5 m), 09_00 (= 9.0 m) |
| WASPStatus | Wind-Assisted Ship Propulsion status: E = Enabled, D = Disabled, N = Not Available |
E |
| UniqueID | Unique identifier | 4fc2c963f66afa6b7e2d3c4a5f8e9b0 |
Example: 1234567-12_50-E-4fc2c963f66afa6b7e2d3c4a5f8e9b0
Submit a new performance model for asynchronous processing by uploading a performance model configuration and STW data file.
The model is uploaded and queued for processing. The response returns immediately with a 202 Accepted status
and includes the assigned modelId along with a Pending status.
Important: See the examples for recommended domain combinations. In the examples,
stwis shown as a placeholder and must be uploaded as an actual file in the multipart form request.
Use the Get performance model status endpoint to poll for results.
Once processing completes successfully, the model becomes Active and is available for usage (e.g., Vessel Routing API), search, download, and testing.
If processing fails, the model status becomes Rejected with a reason describing the failure.
Use the Update performance model endpoint with the modelId returned in this response to correct and resubmit.
required | object (CreatePerformanceModel) Performance model configuration for a vessel, including speed range, environmental domains, performance curves, and metadata. |
| stw required | string <binary> (SpeedThruWaterFile) Plain text file containing Speed Through Water (STW) values mapping each See the STW File Format section in the Performance Models overview for the full file format, value ordering rules, and error examples. |
{ "performanceModel": { "sicw": { "min": 10, "max": 27, "step": 1 }, "domains": [ { "axis": "WIND_SPEED", "min": 0, "max": 60, "step": 10 }, { "axis": "WIND_WAVE_DIRECTION", "min": 0, "max": 180, "step": 30 }, { "axis": "WAVE_HEIGHT", "min": 0, "max": 12, "step": 1 }, { "axis": "WAVE_PERIOD", "min": 4, "max": 16, "step": 3 }, { "axis": "SWELL_HEIGHT", "min": 0, "max": 12, "step": 1 }, { "axis": "SWELL_PERIOD", "min": 4, "max": 16, "step": 3 }, { "axis": "SWELL_DIRECTION", "min": 0, "max": 180, "step": 30 } ], "calmWaterPerformanceCurves": [ { "fuelConsumption": 14.25, "mcr": 0.05, "rpm": 36.1 }, { "fuelConsumption": 18.9, "mcr": 0.06, "rpm": 39.5 }, { "fuelConsumption": 24.1, "mcr": 0.08, "rpm": 42.9 }, { "fuelConsumption": 30.05, "mcr": 0.1, "rpm": 46.4 }, { "fuelConsumption": 36.9, "mcr": 0.12, "rpm": 49.9 }, { "fuelConsumption": 45, "mcr": 0.14, "rpm": 53.4 }, { "fuelConsumption": 54.2, "mcr": 0.17, "rpm": 57 }, { "fuelConsumption": 64.8, "mcr": 0.2, "rpm": 60.6 }, { "fuelConsumption": 77.1, "mcr": 0.24, "rpm": 64.3 }, { "fuelConsumption": 91.4, "mcr": 0.28, "rpm": 68.1 }, { "fuelConsumption": 108.2, "mcr": 0.33, "rpm": 72 }, { "fuelConsumption": 127.6, "mcr": 0.39, "rpm": 76 }, { "fuelConsumption": 150.1, "mcr": 0.46, "rpm": 80.1 }, { "fuelConsumption": 176.3, "mcr": 0.54, "rpm": 84.3 }, { "fuelConsumption": 206.7, "mcr": 0.63, "rpm": 88.6 }, { "fuelConsumption": 241.8, "mcr": 0.74, "rpm": 93.1 }, { "fuelConsumption": 283.4, "mcr": 0.86, "rpm": 97.8 }, { "fuelConsumption": 332.2, "mcr": 1, "rpm": 102.7 } ], "otherFuelConsumption": [ { "speedFrom": 8, "speedTo": 9, "otherFuel": 4.3 }, { "speedFrom": 9, "speedTo": 10, "otherFuel": 4.22 }, { "speedFrom": 10, "speedTo": 11, "otherFuel": 4.15 }, { "speedFrom": 11, "speedTo": 12, "otherFuel": 4.08 }, { "speedFrom": 12, "speedTo": 13, "otherFuel": 4 }, { "speedFrom": 13, "speedTo": 14, "otherFuel": 3.93 }, { "speedFrom": 14, "speedTo": 15, "otherFuel": 3.86 }, { "speedFrom": 15, "speedTo": 16, "otherFuel": 3.79 }, { "speedFrom": 16, "speedTo": 17, "otherFuel": 3.72 }, { "speedFrom": 17, "speedTo": 18, "otherFuel": 3.65 }, { "speedFrom": 18, "speedTo": 19, "otherFuel": 3.58 }, { "speedFrom": 19, "speedTo": 20, "otherFuel": 3.5 }, { "speedFrom": 20, "speedTo": 21, "otherFuel": 3.43 }, { "speedFrom": 21, "speedTo": 22, "otherFuel": 3.36 }, { "speedFrom": 22, "speedTo": 23, "otherFuel": 3.29 }, { "speedFrom": 23, "speedTo": 24, "otherFuel": 3.22 }, { "speedFrom": 24, "speedTo": 25, "otherFuel": 3.15 }, { "speedFrom": 25, "speedTo": 26, "otherFuel": 3.08 }, { "speedFrom": 26, "speedTo": 27, "otherFuel": 3 } ], "metadata": { "imo": "1234567", "vesselType": "ContainerVessel", "lengthOverall": 345, "beam": 45.6, "draft": { "fore": 9, "aft": 10 }, "waspStatus": "Disabled", "description": "Container - 3450x456x95dm" } }, "stw": "<upload stw.txt file>" }
{- "modelId": "1234567-12_50-E-4fc2c963f66afa6b7e2d3c4a5f8e9b0",
- "status": "Pending"
}Search and retrieve performance model metadata.
This endpoint only returns models that have been successfully processed. Models that are still
being processed (Pending) or that were rejected (Rejected) are excluded from search results.
Use the Get performance model status endpoint to track
models in those states.
Provide either imo to search by vessel, or modelId to check a specific model, but not both.
| imo | string <IMO> (Imo) Example: imo=8814275 The IMO of the vessel. |
| modelId | string (ModelId) Example: modelId=1234567-12_50-E-4fc2c963f66afa6b7e2d3c4a5f8e9b0 Unique model identifier in the format |
| status | string Default: "Active" Enum: "Active" "Inactive" "All" Filter models by their revision status:
|
| imo required | string <IMO> (Imo) The IMO of the vessel. |
| vesselType required | string (VesselType) Enum: "DryBulkCarrier" "CombinationCarrier" "RoRoVehiclesCarrier" "ChemicalTanker" "ContainerVessel" "CruiseVessel" "RoRoCargoShip" "RoRoPassengerShip" "ReeferShip" "GeneralCargoShip" "DredgingVessel" "LNGTanker" "LPGTanker" "OilProductsTanker" "CrudeOilTanker" "OtherTanker" "Tug" "Yacht" The specific type of the vessel |
| lengthOverall required | number <meters (m)> [ 0 .. 450 ] The overall length of the vessel. |
| beam required | number <meters (m)> [ 0 .. 75 ] The maximum width of the vessel. |
required | object The draft of the vessel for which the model is made. |
| waspStatus required | string Enum: "Enabled" "Disabled" "NotAvailable" WASP (Wind Assisted Ship Propulsion) status:
|
| description required | string (ModelDescription) <= 200 characters Human readable description about the model. |
| customerReferenceId | string (CustomerReferenceId) <= 20 characters Customer's internal reference ID for this performance model. This field can be used to organize and categorize models internally. For example, integrators might use this to separate models by their customers, or to group models by project or vessel fleet. |
| modelId | string (ModelId) Unique model identifier in the format |
| createdAt | string <RFC3339 (UTC)> Timestamp when the performance model was first created. |
| revision | number The revision of the performance model. |
| updatedAt | string <RFC3339 (UTC)> Timestamp when the performance model was last updated. |
| status | string Enum: "Active" "Inactive" The revision status of the performance model:
|
[- {
- "vesselType": "DryBulkCarrier",
- "lengthOverall": 100,
- "beam": 20,
- "draft": {
- "fore": 10,
- "aft": 10
}, - "waspStatus": "Enabled",
- "imo": "8814275",
- "customerReferenceId": "ABC-123",
- "description": "Loaded condition model with WASP enabled - draft range 10-14m. Based on MARIN tank tests 2025.",
- "modelId": "1234567-12_50-E-4fc2c963f66afa6b7e2d3c4a5f8e9b0",
- "createdAt": "2026-01-15T10:00:00Z",
- "revision": 1,
- "updatedAt": "2026-02-20T15:30:00Z",
- "status": "Active"
}
]Submit an updated performance model for asynchronous processing by uploading new configuration and STW data files.
The update is queued for processing. The response returns immediately with a 202 Accepted status.
While the new submission is being processed, the currently active revision remains available for
download, search, and testing.
Use the Get performance model status endpoint to poll for results.
Optional: The user can include a metadata object with a description field in the performance model configuration to update the model description. If not provided, the description from the previous revision is retained.
Note: The user cannot submit an update while a previous submission is still
Pending. Wait for the current submission to complete (becomeActiveorRejected) before submitting a new update.The user can use this endpoint to resubmit a rejected model after fixing the identified issues.
| modelId required | string (ModelId) Example: 1234567-12_50-E-4fc2c963f66afa6b7e2d3c4a5f8e9b0 Unique model identifier in the format |
required | object (UpdatePerformanceModel) Performance model configuration for a vessel, including speed range, environmental domains, performance curves, and metadata. |
| stw required | string <binary> (SpeedThruWaterFile) Plain text file containing Speed Through Water (STW) values mapping each See the STW File Format section in the Performance Models overview for the full file format, value ordering rules, and error examples. |
{- "modelId": "1234567-12_50-E-4fc2c963f66afa6b7e2d3c4a5f8e9b0",
- "status": "Pending"
}Retrieve details about a specific performance model, including its domains, fuel consumption curves and metadata.
Returns the active (latest) revision by default. Use the revision query parameter to retrieve a specific revision.
Note: This endpoint only returns successfully processed revisions. If the model has no completed revisions yet (status is
Pending), a404response is returned. Use the Get performance model status endpoint to check progress.
| modelId required | string (ModelId) Example: 1234567-12_50-E-4fc2c963f66afa6b7e2d3c4a5f8e9b0 Unique model identifier in the format |
| revision | number Example: revision=1 Specific revision to retrieve. If not provided, retrieves the active (latest) revision. |
required | object (Sicw) Speed in Calm Water (SICW) — the vessel's reference speed range under ideal sea conditions, in knots. This is the primary axis of the performance model.
For SICW configuration modes (single value vs. range), recommended ranges, and examples, see the SICW Configuration and Routing Modes section in the Performance Models overview. |
required | Array of objects unique Ordered list of environmental condition domains that, together with For available domain types, recommended ranges, step count formulas, STW size impact, ordering rules, and out-of-domain behavior — see the Domains Reference and STW File Format sections in the Performance Models overview. |
required | Array of objects (CalmWaterPerformanceCurves) non-empty Fuel consumption curve indexed by SICW step. Each data point represents a single operational state at a specific vessel speed (SICW), including fuel consumption (t/day), engine load (MCR %) and engine speed (RPM). Array length must equal the number of SICW steps: Monotonicity: |
Array of objects or null (OtherFuelConsumption) non-empty Optional non-ME fuel consumption that depends on time or vessel speed. If provided, must contain at least 1 entry. For validation rules, single-SICW vs. multi-SICW behaviour, and examples, see the Other Fuel Consumption section in the Performance Models overview. | |
| stwDownloadUrl | string <uri> Presigned URL to download the performance model STW file. The URL is valid for a limited time (1 hour). Use this URL directly in a browser or HTTP client to download the file. No additional authentication headers are required when using the presigned URL. |
object (GetMetadataResponse) Metadata for a vessel performance model |
{- "sicw": {
- "min": 50,
- "max": 50,
- "step": 50
}, - "domains": [
- {
- "axis": "WIND_SPEED",
- "min": 0,
- "max": 60,
- "step": 10
}
], - "calmWaterPerformanceCurves": [
- {
- "fuelConsumption": 0,
- "mcr": 1,
- "rpm": 0
}
], - "otherFuelConsumption": [
- {
- "speedFrom": 10,
- "speedTo": 12,
- "otherFuel": 2.5
}
], - "metadata": {
- "vesselType": "DryBulkCarrier",
- "lengthOverall": 100,
- "beam": 20,
- "draft": {
- "fore": 10,
- "aft": 10
}, - "waspStatus": "Enabled",
- "imo": "8814275",
- "customerReferenceId": "ABC-123",
- "description": "Loaded condition model with WASP enabled - draft range 10-14m. Based on MARIN tank tests 2025.",
- "modelId": "1234567-12_50-E-4fc2c963f66afa6b7e2d3c4a5f8e9b0",
- "createdAt": "2026-01-15T10:00:00Z",
- "revision": 1,
- "updatedAt": "2026-02-20T15:30:00Z"
}
}This endpoint can be used by users to keep the number of active models in check per vessel and to delete any irrelevant or wrong or outdated models.
Note: Only models with
Activestatus can be deleted. Models that arePendingorRejectedcannot be deleted. Wait for processing to complete or resubmit before deleting.
| modelId required | string (ModelId) Example: 1234567-12_50-E-4fc2c963f66afa6b7e2d3c4a5f8e9b0 Unique model identifier in the format |
nullRetrieve the current processing status of a performance model.
Use this endpoint to track the progress of submitted models.
The response shape varies depending on the status:
| Status | Description |
|---|---|
| Pending | Model is queued for processing. Poll this endpoint to check for completion. |
| Active | Processing succeeded. The model is available for usage (e.g., Vessel Routing API), search, download, and testing. |
| Rejected | Processing failed. Fix the issues and resubmit. |
| modelId required | string (ModelId) Example: 1234567-12_50-E-4fc2c963f66afa6b7e2d3c4a5f8e9b0 Unique model identifier in the format |
| modelId required | string (ModelId) Unique model identifier in the format |
| status required | string Value: "Pending" |
{- "modelId": "1234567-12_50-E-4fc2c963f66afa6b7e2d3c4a5f8e9b0",
- "status": "Pending"
}This endpoint can be used to test if ABB's interpretation of the models is aligned with user's interpretation of the models. It can also be used to assess the if there is any undesired behaviour introduced due to translation of model format from user's internal format to ABB required format and due to the used step sizes and min and max values of various domains.
This allows the user to:
Note: Only successfully processed revisions can be tested. If the model is still
Pending, this endpoint returns404. Use the Get performance model status endpoint to check progress.
| modelId required | string (ModelId) Example: 1234567-12_50-E-4fc2c963f66afa6b7e2d3c4a5f8e9b0 Unique model identifier in the format |
| revision | number Example: revision=1 Specific revision of the model to test. If not provided, tests the active revision. |
| inputType | string Enum: "MCR" "RPM" "SICW" Model test input type. Must match the provided input data. |
| inputValue | number Value corresponding to the specified |
| currentSpeed | number <knots (kn)> >= 0 Current speed in knots. Used to calculate current effect (cx).
Together with |
| currentDirection | number <degrees> [ 0 .. 180 ] Current direction in degrees relative to vessel heading. |
Array of objects (Conditions) unique Environmental domain conditions to apply during the model test.
The submitted conditions must exactly match the configured |
| sicw | number <knots (kn)> Speed in Calm Water (SICW) |
| rpm | number <revolutions per minute (rpm)> Propeller RPM. |
| mcr | number <% maximum continuous rating in decimal format> MCR as a decimal fraction.
Example: |
object Results calculated in calm-water conditions (no environmental domain effects). | |
object Results calculated with the submitted environmental domain conditions applied. | |
object Performance model configuration for a vessel, including speed range, environmental domains, performance curves, and metadata. |
{- "inputType": "MCR",
- "inputValue": 0,
- "currentSpeed": 1.5,
- "currentDirection": 45,
- "conditions": [
- {
- "axis": "WIND_SPEED",
- "value": 12.5
}
]
}{- "sicw": 15.2,
- "rpm": 0,
- "mcr": 0.25,
- "resultUnderCalmWater": {
- "sog": 14.8,
- "stw": 15.1,
- "fuelConsumption": {
- "perDay": 45.2,
- "perNm": 3.1
}, - "otherFuelConsumption": {
- "perDay": 8.5,
- "perNm": 0.6
}
}, - "resultsUnderSpecifiedConditions": {
- "sog": 13.2,
- "stw": 13.8,
- "cx": 0.85,
- "wx": 1.12,
- "fuelConsumption": {
- "perDay": 45.2,
- "perNm": 3.1
}, - "otherFuelConsumption": {
- "perDay": 8.5,
- "perNm": 0.6
}
}, - "performanceModel": {
- "sicw": {
- "min": 50,
- "max": 50,
- "step": 50
}, - "domains": [
- {
- "axis": "WIND_SPEED",
- "min": 0,
- "max": 60,
- "step": 10
}
], - "calmWaterPerformanceCurves": [
- {
- "fuelConsumption": 0,
- "mcr": 1,
- "rpm": 0
}
], - "otherFuelConsumption": [
- {
- "speedFrom": 10,
- "speedTo": 12,
- "otherFuel": 2.5
}
], - "metadata": {
- "vesselType": "DryBulkCarrier",
- "lengthOverall": 100,
- "beam": 20,
- "draft": {
- "fore": 10,
- "aft": 10
}, - "waspStatus": "Enabled",
- "imo": "8814275",
- "customerReferenceId": "ABC-123",
- "description": "Loaded condition model with WASP enabled - draft range 10-14m. Based on MARIN tank tests 2025.",
- "modelId": "1234567-12_50-E-4fc2c963f66afa6b7e2d3c4a5f8e9b0",
- "createdAt": "2026-01-15T10:00:00Z",
- "revision": 1,
- "updatedAt": "2026-02-20T15:30:00Z"
}
}
}