Annex E — Ports & Logistics
Sector annex to Morocco UNS Standard v0.1. Covers Moroccan port and inland-logistics operations: gate, yard, quay, reefer, customs, rail/road interchange. Strategic anchor: Tanger Med is Africa’s leading container port (top-5 globally on container performance) and the operational benchmark for the continent. Casablanca, Jorf Lasfar, Safi, Agadir, Nador West Med complete the network.
E.1 Scope
Covers terminal operations at maritime ports and connected inland logistics zones. Excludes vessel-side operations and customs policy; includes customs signals exchanged at the terminal.
E.2 Enterprise & Site archetypes
E.2.1 Enterprises
| Enterprise segment | Notes |
|---|---|
tanger-med | Tanger Med Port Authority |
apm-terminals | APM Terminals MedPort Tangier (TC1, TC4) |
eurogate / marsa-maroc | Container terminals |
marsa-maroc | Casablanca, Mohammedia, Agadir, Jorf, Safi |
somaport | Casablanca |
nador-west-med | Nador West Med (under construction) |
For inland dry ports and 3PL: use the operating company slug.
E.2.2 Sites
| Site segment | Region | Notes |
|---|---|---|
tanger-med-port | ma-01 | Main port complex (TM1, TM2) |
tanger-med-passenger | ma-01 | TMSA passenger port |
casablanca-port | ma-06 | |
jorf-lasfar-port | ma-06 | OCP-adjacent; coordinate with Annex A — Phosphate & Mining for OCP-loaded vessels |
safi-port | ma-07 | OCP + general cargo |
agadir-port | ma-09 | |
nador-port | ma-02 | Existing |
nador-west-med | ma-02 | Greenfield |
laayoune-port | ma-11 | Phosphate, fisheries |
dakhla-port | ma-12 | New deep-water port |
E.3 Area inventory
| Area segment | Description |
|---|---|
gate | Truck gate, OCR portal, weigh-in-motion |
yard | Container stack yard |
yard-reefer | Refrigerated container plug area |
quay-<n> | Quay/berth (numbered) |
rail | On-dock rail terminal |
customs | Scanner, x-ray, declaration touchpoint |
tos | Terminal Operating System interface (virtual area for TOS-derived signals) |
vts | Vessel Traffic Service interface |
power-substation | Shore-side substation, including cold-ironing where deployed |
E.4 Equipment archetypes
| Equipment segment | Examples | Common signals |
|---|---|---|
sts-crane-<n> | sts-crane-04 | twin-lift-count, single-lift-count, energy-kwh, state, cycle-time-s |
rtg-<n> | rtg-12 | container-moves-count, energy-kwh, state |
rmg-<n> | rmg-03 | container-moves-count, state |
reach-stacker-<n> | reach-stacker-rs07 | container-moves-count, fuel-flow-lh, state |
terminal-tractor-<n> | tt-22 | route-id, fuel-flow-lh, state |
agv-<n> | agv-12 | battery-pct, state |
gate-lane-<n> | gate-lane-04 | truck-count, ocr-read-count, dwell-time-s |
weigh-bridge-<n> | weigh-bridge-01 | weight-t, vehicle-id |
scanner-<n> | scanner-x01 | scan-count, anomaly-count |
reefer-plug-<n> | reefer-plug-r247 | container-id, set-temperature-c, actual-temperature-c, energy-kwh, alarm-state |
shore-power-<n> | shore-power-sp01 | export-kw, vessel-imo |
E.5 Mandatory signals
Per Site, the terminal operating system MUST publish (via a virtual tos/site-summary Equipment if no PLC owns these):
vessel-arrival-count,vessel-departure-countcontainers-loaded-count,containers-discharged-countgate-truck-count(in / out)dwell-time-h-p50,dwell-time-h-p95crane-productivity-moves-h
Reefer area MUST publish per-plug temperature alignment to the booking set-point with cndp_class: none but the booking ID MAY be personal if it carries shipper PII.
E.6 Code alignments
Where a value is defined in an external code system, the standard requires alignment, not invention:
| Field | External code system |
|---|---|
| Vessel ID | IMO number (string, 7 digits) |
| Vessel destination | ISO 3166-1 alpha-2 |
| Container ID | ISO 6346 (BIC code) |
| Cargo type | UN/EDIFACT 7085 |
| Hazardous class | IMDG class |
| Customs declaration | Moroccan ADII reference |
This makes the UNS interoperable with the Port Community System (PortNet) without translation.
E.7 CBAM exposure
For phosphate, fertilizer, and (future) cement/steel/aluminum exports, the port-loading signals are the apportionment hinge for CBAM declarations. Specifically:
containers-loaded-countand bulktotal-loaded-tper vesselvessel-destination-iso2(only EU destinations are CBAM-relevant)- Time-correlation back to upstream production signals via
batch-id
The port is therefore not just a logistics consumer of upstream UNS data; it is the closing boundary of the CBAM perimeter. Annex E flags all port-loading signals as cbam_relevant: true when the upstream Enterprise is itself CBAM-exposed.
E.8 Worked path examples
ma/ma-01/apm-terminals/tanger-med-port/quay-3/sts-crane-04/twin-lift-count
ma/ma-01/apm-terminals/tanger-med-port/yard-reefer/reefer-plug-r247/actual-temperature-c
ma/ma-06/marsa-maroc/casablanca-port/gate/gate-lane-04/dwell-time-s
ma/ma-06/marsa-maroc/jorf-lasfar-port/quay-2/sts-crane-01/total-loaded-t
ma/ma-01/tanger-med/tanger-med-port/tos/site-summary/crane-productivity-moves-h
E.9 Strategic notes
- Tanger Med’s existing TOS (Navis N4) and PCS (PortNet) already centralize most of these signals; the UNS layer makes them broker-published and interoperable with upstream enterprise UNS deployments. This is the architectural argument for a port-side adoption pilot.
- For CBAM, the port is the ledger boundary. An OCP–Tanger Med joint UNS deployment closes the loop from phosphate extraction to EU-bound vessel.
- Cold-ironing (shore power) signals are the highest-leverage sustainability addition; each MW of shore power displaces ~50 kg/h of vessel diesel emissions in port.