> This page is for version v1.5.0.
> For other versions, use one of these documentation indexes:
> - v1.5.1 (default): https://docs.nvidia.com/aerial/aodt/v-1-5-1/llms.txt
> - v1.5.0: https://docs.nvidia.com/aerial/aodt/v1.5.0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/aerial/aodt/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/aerial/aodt/_mcp/server.

# Results Schemas

AODT writes simulation outputs as Parquet files in S3. Use this page to
understand the column names and value types.

## Tables

#### ues

User equipment records, including per-batch waypoints, trajectories, sampled routes, and assigned antenna panels.

**`ID`** `uint32`

UE identifier.

---

**`is_manual`** `boolean`

Indicates whether the UE was generated manually or procedurally.

---

**`is_manual_mobility`** `boolean`

Indicates whether the manual UE has waypoints explicitly added by the user.

---

**`radiated_power`** `float32`

UE radiated power, in Watts.

---

**`height`** `float32`

UE height, in meters.

---

**`mech_tilt`** `float32`

UE antenna panel mechanical tilt, in degrees.

---

**`panel`** `list<uint32>`

Antenna panel indices assigned to this UE.

---

**`batch_indices`** `list<uint32>`

Batch indices for this UE.

---

**`waypoint_ids`** `list<list<uint32>>`

Per-batch waypoint identifiers, organized as \[batch, ids].

---

**`waypoint_points`** `list<list<tuple<float32, float32, float32>>>`

Per-batch waypoint positions as (x, y, z) tuples, organized as \[batch, waypoints]. Coordinates are in scene units, which correspond to the map's meters_per_unit. The z value is absolute stage height over the ellipsoid, not terrain-relative height; the terrain-over-ellipsoid offset is included.

---

**`waypoint_stops`** `list<list<float32>>`

Per-batch waypoint stop times, in seconds, organized as \[batch, stops].

---

**`waypoint_speeds`** `list<list<float32>>`

Per-batch waypoint speeds, in meters per second, organized as \[batch, speeds].

---

**`trajectory_ids`** `list<list<uint32>>`

Per-batch waypoint identifiers along the UE trajectory, organized as \[batch, ids].

---

**`trajectory_points`** `list<list<tuple<float32, float32, float32>>>`

Per-batch points along the UE trajectory as (x, y, z) tuples, organized as \[batch, points]. Coordinates are in scene units, which correspond to the map's meters_per_unit. The z value is absolute stage height over the ellipsoid, not terrain-relative height; the terrain-over-ellipsoid offset is included.

---

**`trajectory_stops`** `list<list<float32>>`

Per-batch stop times along the UE trajectory, in seconds, organized as \[batch, stops].

---

**`trajectory_speeds`** `list<list<float32>>`

Per-batch speeds at waypoints along the UE trajectory, in meters per second, organized as \[batch, speeds].

---

**`route_positions`** `list<list<tuple<float32, float32, float32>>>`

Per-batch positions along the sampled route as (x, y, z) tuples, organized as \[batch, points]. Coordinates are in scene units, which correspond to the map's meters_per_unit. The z value is absolute stage height over the ellipsoid, not terrain-relative height; the terrain-over-ellipsoid offset is included.

---

**`route_orientations`** `list<list<tuple<float32, float32, float32>>>`

Per-batch UE orientations along the sampled route as (x, y, z) tuples, organized as \[batch, orientations].

---

**`route_speeds`** `list<list<float32>>`

Per-batch speeds along the sampled route, in meters per second, organized as \[batch, speeds].

---

**`route_times`** `list<list<float32>>`

Per-batch times along the sampled route, in seconds, organized as \[batch, times].

---

**`bler_target`** `float32`

Target BLER for the UE.

---

**`is_indoor_mobility`** `boolean`

Whether the UE uses indoor mobility.

---

#### scatterers

Scatterer mobility records.

**`ID`** `uint32`

Scatterer ID automatically assigned by Urban Mobility.

---

**`is_indoor_mobility`** `boolean`

Indicates whether the scatterer is indoor or outdoor.

---

**`is_3d`** `boolean`

Whether the scatterer uses 3D movement.

---

**`is_manual`** `boolean`

Whether the scatterer was manually configured.

---

**`batch_indices`** `list<uint32>`

Batch indices with route data.

---

**`route_positions`** `list<list<tuple<float32, float32, float32>>>`

Sampled route positions grouped by batch.

---

**`route_orientations`** `list<list<tuple<float32, float32, float32>>>`

Per-batch scatterer rotations along the sampled route, in degrees.

---

**`route_speeds`** `list<list<float32>>`

Per-batch speeds along the sampled route, in meters per second.

---

**`route_times`** `list<list<float32>>`

Per-batch times along the sampled route, in seconds.

---

#### rus

Radio unit records.

**`ID`** `uint32`

RU identifier.

---

**`subcarrier_spacing`** `float32`

Subcarrier spacing, in Hertz.

---

**`fft_size`** `uint32`

Number of frequency samples used in wideband CFR calculation.

---

**`radiated_power`** `float32`

RU radiated power, in Watts.

---

**`height`** `float32`

RU height, in meters.

---

**`mech_azimuth`** `float32`

Mechanical azimuth rotation angle of the RU, in degrees.

---

**`mech_tilt`** `float32`

Mechanical tilt angle of the RU, in degrees.

---

**`panel`** `list<uint32>`

Antenna panel indices assigned to this RU.

---

**`position`** `list<float32>`

Position of the RU in the stage as three values, x, y, and z.

---

**`du_id`** `uint32`

DU index associated with this RU.

---

**`du_manual_assign`** `boolean`

Whether this RU is manually assigned to the DU indicated by du_id.

---

#### dus

Distributed unit records.

**`ID`** `uint32`

DU identifier.

---

**`subcarrier_spacing`** `float32`

Subcarrier spacing, in Hertz.

---

**`fft_size`** `uint32`

Number of frequency samples used in wideband CFR calculation.

---

**`num_antennas`** `uint32`

Number of antennas for the DU.

---

**`reference_freq`** `float32`

Center/reference frequency, in MHz.

---

**`max_channel_bandwidth`** `float32`

Maximum channel bandwidth supported by the DU, in MHz.

---

**`position`** `list<float32>`

DU position as x, y, and z coordinates, in the same unit as the USD map.

---

#### panels

Antenna panel records.

**`panel_id`** `uint32`

Index of the panel.

---

**`panel_name`** `string`

Panel name.

---

**`antenna_names`** `list<string>`

Names of the antenna elements in the panel.

---

**`antenna_pattern_indices`** `list<uint32>`

Pattern indices used by the antenna elements in the panel.

---

**`frequencies`** `list<float32>`

Frequencies for the radiation patterns of the antenna elements, in Hertz.

---

**`thetas`** `list<float32>`

Elevation angles of the radiation pattern of the antenna elements, in radians.

---

**`phis`** `list<float32>`

Azimuth angles of the radiation pattern of the antenna elements, in radians.

---

**`reference_freq`** `float32`

Center frequency of the panel.

---

**`dual_polarized`** `uint8`

Indicates whether the panel is dual-polarized. 1 means dual polarization; 0 means single polarization.

---

**`num_loc_antenna_horz`** `uint32`

Number of columns in the planar array.

---

**`num_loc_antenna_vert`** `uint32`

Number of rows in the planar array.

---

**`antenna_spacing_horz`** `float32`

Horizontal spacing of antenna elements, in centimeters.

---

**`antenna_spacing_vert`** `float32`

Vertical spacing of antenna elements, in centimeters.

---

**`antenna_roll_angle_first_polz`** `float32`

Rotation of the antenna element corresponding to the first polarization, in radians.

---

**`antenna_roll_angle_second_polz`** `float32`

Rotation of the antenna element corresponding to the second polarization, in radians. Used for dual-polarized elements.

---

#### patterns

Antenna pattern records.

**`pattern_id`** `uint32`

Index of the pattern.

---

**`pattern_type`** `uint32`

Antenna element type. Built-in values include isotropic, infinitesimal dipole, halfwave dipole, rectangular microstrip, 3GPP 38.901, and polarized isotropic; custom patterns use values greater than or equal to 100.

---

**`e_theta_re`** `list<list<float32>>`

Real part of the antenna radiated field along the theta direction. Each inner vector stores amplitudes for one frequency. Present for custom patterns.

---

**`e_theta_im`** `list<list<float32>>`

Imaginary part of the antenna radiated field along the theta direction. Each inner vector stores amplitudes for one frequency. Present for custom patterns.

---

**`e_phi_re`** `list<list<float32>>`

Real part of the antenna radiated field along the phi direction. Each inner vector stores amplitudes for one frequency. Present for custom patterns.

---

**`e_phi_im`** `list<list<float32>>`

Imaginary part of the antenna radiated field along the phi direction. Each inner vector stores amplitudes for one frequency. Present for custom patterns.

---

#### time_info

Mapping between time, batch, slot, and symbol indices.

**`time_idx`** `uint32`

Time index of the simulation.

---

**`batch_idx`** `uint32`

Batch index of the simulation.

---

**`slot_idx`** `uint32`

Slot index of the simulation.

---

**`symbol_idx`** `uint32`

Symbol index of the simulation.

---

#### cfrs

Channel frequency response records for RU/UE antenna pairs.

**`time_idx`** `uint32`

Time index of the simulation.

---

**`ru_id`** `uint32`

RU identifier.

---

**`ue_id`** `uint32`

UE identifier.

---

**`ru_ant_el`** `tuple<uint32, uint32, uint32>`

Tuple of antenna element indices for the RU antenna panel as (h, v, p), where h is the horizontal index, v is the vertical index, and p is the polarization index.

---

**`ue_ant_el`** `tuple<uint32, uint32, uint32>`

Tuple of antenna element indices for the UE antenna panel as (h, v, p), where h is the horizontal index, v is the vertical index, and p is the polarization index.

---

**`cfr_re`** `list<float32>`

Real part of the channel frequency response.

---

**`cfr_im`** `list<float32>`

Imaginary part of the channel frequency response.

---

#### cirs

Channel impulse response records for RU/UE antenna pairs.

**`time_idx`** `uint32`

Time index of the simulation.

---

**`ru_id`** `uint32`

RU identifier.

---

**`ue_id`** `uint32`

UE identifier.

---

**`ru_ant_el`** `tuple<uint32, uint32, uint32>`

Tuple of antenna element indices for the RU antenna panel as (h, v, p), where h is the horizontal index, v is the vertical index, and p is the polarization index.

---

**`ue_ant_el`** `tuple<uint32, uint32, uint32>`

Tuple of antenna element indices for the UE antenna panel as (h, v, p), where h is the horizontal index, v is the vertical index, and p is the polarization index.

---

**`cir_re`** `list<float32>`

Real part of the channel impulse response.

---

**`cir_im`** `list<float32>`

Imaginary part of the channel impulse response.

---

**`cir_delay`** `list<float32>`

Propagation delay in seconds.

---

#### raypaths

Ray path records for RU/UE antenna pairs.

**`time_idx`** `uint32`

Time index of the simulation.

---

**`ru_id`** `uint32`

RU identifier.

---

**`ue_id`** `uint32`

UE identifier.

---

**`ru_ant_el`** `tuple<uint32, uint32>`

Tuple of RU antenna element indices as horizontal index and vertical index.

---

**`ue_ant_el`** `tuple<uint32, uint32>`

Tuple of UE antenna element indices as horizontal index and vertical index.

---

**`interaction_types`** `list<string>`

Type of interactions, such as emission, reflection, diffraction, diffuse, reception, and transmission.

---

**`points`** `list<tuple<float32, float32, float32>>`

Coordinates of interaction points as x, y, and z tuples.

---

**`normals`** `list<tuple<float32, float32, float32>>`

Normals at the interaction points as x, y, and z tuples.

---

**`ampl_re`** `list<float32>`

Real parts of the ray path channel tap amplitude for UE/RU polarization combinations.

---

**`ampl_im`** `list<float32>`

Imaginary parts of the ray path channel tap amplitude for UE/RU polarization combinations.

---

**`prim_ids`** `list<int32>`

Primitive IDs in the USD map for the interaction points.

---

**`object_ids`** `list<int32>`

Object IDs in the USD map for the interaction points.

---

**`vegetation_depths`** `list<float32>`

Vegetation depths along the ray path.

---

#### telemetry

RAN telemetry records emitted per batch and slot.

**`batch_id`** `uint32`

Batch index of the simulation.

---

**`slot_id`** `uint32`

Slot index within the batch.

---

**`link`** `string`

Indicates whether the telemetry result is for downlink ("DL") or uplink ("UL").

---

**`ru_id`** `uint32`

RU ID.

---

**`ue_id`** `uint32`

UE ID.

---

**`startPrb`** `uint32`

Starting PRB assigned to this UE by the scheduler.

---

**`nPrb`** `uint32`

Number of PRBs assigned to this UE by the scheduler.

---

**`mcs`** `uint8`

MCS index assigned to this UE by the scheduler.

---

**`layers`** `uint8`

Number of transmission layers used by this UE.

---

**`tbs`** `uint32`

Transport block (TB) size scheduled for this UE, in bytes.

---

**`rv`** `uint8`

Redundancy version used for this transmission.

---

**`outcome`** `uint32`

Whether the transport block was successfully decoded. 1 means decoded; 0 means not decoded.

---

**`scs`** `float32`

Subcarrier spacing, in Hertz.

---

**`preEqSinr`** `float32`

Pre-equalization SINR.

---

**`postEqSinr`** `float32`

Post-equalization SINR.

---

#### ran_config

RAN configuration records.

**`tdd_pattern`** `string`

TDD pattern.

---

**`srs_slots`** `list<uint32>`

List of slot numbers within a frame where SRS transmission occurs.

---

**`pusch_slots`** `list<uint32>`

List of slot numbers within a frame where PUSCH transmission occurs.

---

**`dl_harq_enabled`** `uint8`

Indicates whether downlink HARQ is enabled.

---

**`ul_harq_enabled`** `uint8`

Indicates whether uplink HARQ is enabled.

---

**`beamforming_csi`** `string`

Source of beamforming CSI, such as CFR or SRS.

---

**`mac_csi`** `string`

Source of MAC scheduling CSI, such as CFR or SRS.

---

**`pusch_channel_estimation`** `string`

Method used for PUSCH channel estimation.

---

**`scheduler_mode`** `string`

PRB scheduling algorithm, such as proportional fair (PF) or round robin (RR).

---

**`mu_mimo_enabled`** `uint8`

Indicates whether MU-MIMO is enabled.

---

**`dl_srs_snr_thr`** `float32`

SRS SNR threshold for downlink MU-MIMO feasibility.

---

**`ul_srs_snr_thr`** `float32`

SRS SNR threshold for uplink MU-MIMO feasibility.

---

**`dl_chan_corr_thr`** `float32`

Channel correlation threshold for downlink MU-MIMO grouping decisions.

---

**`ul_chan_corr_thr`** `float32`

Channel correlation threshold for uplink MU-MIMO grouping decisions.

---

**`beamforming_enabled`** `uint8`

Indicates whether beamforming is enabled.

---

**`beamforming_scheme`** `string`

Beamforming scheme, such as subcarrier-level, PRBG-level, or UEG-level zero-forcing beamforming.

---

**`srs_channel_estimation`** `string`

Method used for SRS channel estimation, such as MMSE or RKHS.

---

## Takeaway

Use these schemas to interpret exported result files after a simulation run.
For complete context, pair these file schemas with the workflow that produced
the results and the simulation configuration used for the run.
See `client/examples/example_query_tables.py` for the query-table example.
Its `describe` subcommand shows how to inspect a table schema for a result
table in your own catalog.

## Cleanup

To clean up a result database after a test run, remove both the catalog metadata
and the S3 Parquet data. See `client/examples/example_drop_database.py` for an
example script that can preview the deletion plan and execute the cleanup.