Skip to content

Commit

Permalink
[uss_qualifier] NetRID: migrate some severities to documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
Shastick committed Feb 6, 2025
1 parent 0aae2f8 commit b73344e
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 34 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -362,21 +362,18 @@ def _evaluate_timestamp(
check.record_failed(
f"Timestamp not present",
details=f"The timestamp must be specified.",
severity=Severity.High,
)

try:
t_obs = StringBasedDateTime(timestamp_obs)
if t_obs.datetime.utcoffset().seconds != 0:
check.record_failed(
f"Timestamp must be relative to UTC: {t_obs}",
severity=Severity.Medium,
)
except ParserError as e:
check.record_failed(
f"Unable to parse timestamp: {timestamp_obs}",
details=f"Reason: {e}",
severity=Severity.Medium,
)

if timestamp_obs:
Expand All @@ -388,7 +385,6 @@ def _evaluate_timestamp(
check.record_failed(
"Observed timestamp inconsistent with injected one",
details=f"Injected timestamp: {timestamp_inj} - Observed one: {timestamp_obs}",
severity=Severity.Medium,
)
else:
self._test_scenario.record_note(
Expand Down Expand Up @@ -442,7 +438,6 @@ def _evaluate_speed(
check.record_failed(
f"Speed not present",
details=f"The speed must be specified.",
severity=Severity.High,
)

if not (
Expand All @@ -451,7 +446,6 @@ def _evaluate_speed(
check.record_failed(
f"Invalid speed: {speed_obs}",
details=f"The speed shall be greater than 0 and less than {MaxSpeed}. The Special Value {SpecialSpeed} is allowed.",
severity=Severity.Medium,
)

if speed_obs is not None:
Expand All @@ -463,7 +457,6 @@ def _evaluate_speed(
check.record_failed(
"Observed speed different from injected speed",
details=f"Injected speed was {speed_inj} - observed speed is {speed_obs}",
severity=Severity.Medium,
)
else:
self._test_scenario.record_note(
Expand All @@ -482,7 +475,6 @@ def _evaluate_track(
check.record_failed(
f"Track direction not present",
details=f"The track direction must be specified.",
severity=Severity.High,
)

if not (
Expand All @@ -492,7 +484,6 @@ def _evaluate_track(
check.record_failed(
f"Invalid track direction: {track_obs}",
details=f"The track direction shall be greater than -360 and less than {MaxSpeed}. The Special Value {SpecialSpeed} is allowed.",
severity=Severity.Medium,
)

if track_obs is not None:
Expand All @@ -507,7 +498,6 @@ def _evaluate_track(
check.record_failed(
"Observed track direction different from injected one",
details=f"Inject track was {track_inj} - observed one is {track_obs}",
severity=Severity.Medium,
)

else:
Expand All @@ -533,7 +523,6 @@ def _evaluate_position(
check.record_failed(
"Current Position contains an invalid latitude",
details=f"Invalid latitude: {lat}",
severity=Severity.Medium,
)
lng = position_obs.lng
try:
Expand All @@ -542,7 +531,6 @@ def _evaluate_position(
check.record_failed(
"Current Position contains an invalid longitude",
details=f"Invalid longitude: {lng}",
severity=Severity.Medium,
)
with self._test_scenario.check(
"Observed Position is consistent with injected one", participants
Expand All @@ -555,7 +543,6 @@ def _evaluate_position(
check.record_failed(
"Observed position inconsistent with injected one",
details=f"Injected Position: {position_inj} - Observed Position: {position_obs}",
severity=Severity.Medium,
)
else:
self._test_scenario.record_note(
Expand Down Expand Up @@ -583,7 +570,6 @@ def _evaluate_height(
check.record_failed(
f"Invalid height type: {height_obs.reference}",
details=f"The height type reference shall be either {observation_api.RIDHeightReference.TakeoffLocation} or {observation_api.RIDHeightReference.GroundLevel}",
severity=Severity.Medium,
)

with self._test_scenario.check(
Expand All @@ -595,7 +581,6 @@ def _evaluate_height(
check.record_failed(
"Observed Height is inconsistent with injected one",
details=f"Observed height: {height_obs} - injected: {height_inj}",
severity=Severity.Medium,
)

with self._test_scenario.check(
Expand All @@ -610,7 +595,6 @@ def _evaluate_height(
check.record_failed(
f"Invalid height type: {height_obs.reference}",
details=f"The height type reference shall be either {observation_api.RIDHeightReference.TakeoffLocation} or {observation_api.RIDHeightReference.GroundLevel}",
severity=Severity.Medium,
)

with self._test_scenario.check(
Expand All @@ -620,7 +604,6 @@ def _evaluate_height(
check.record_failed(
"Observed Height type is inconsistent with injected one",
details=f"Observed height: {height_obs} - injected: {height_inj}",
severity=Severity.Medium,
)
else:
self._test_scenario.record_note(
Expand Down Expand Up @@ -768,7 +751,6 @@ def _evaluate_operational_status(
check.record_failed(
"Operational Status is invalid",
details=f"Invalid Operational Status: {value_obs}",
severity=Severity.Medium,
)
# We only check if an injected value: when SP values are evaluated we don't compare with the injected
# value, for example.
Expand All @@ -780,7 +762,6 @@ def _evaluate_operational_status(
if not value_obs == value_inj:
check.record_failed(
"Observed operational status inconsistent with injected one",
severity=Severity.Medium,
details=f"Injected operational status: {value_inj} - Observed {value_obs}",
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,55 +93,55 @@ If the Vertical Speed value exposed by the observer API is inconsistent with the
**[astm.f3411.v22a.NET0450](../../../../requirements/astm/f3411/v22a.md)** because the DP fails to provide accurate data;
**[astm.f3411.v22a.NET0470,Table1,21](../../../../requirements/astm/f3411/v22a.md)** because the DP fails to expose data consistent with the valid injected value.

## Timestamp consistency with Common Dictionary check
## ⚠️ Timestamp consistency with Common Dictionary check

**[astm.f3411.v22a.NET0470](../../../../requirements/astm/f3411/v22a.md)** requires that Net-RID Display Provider shall provide access to required and optional fields to Remote ID Display Applications according to the Common Dictionary. This check validates that timestamps are relative to UTC. (**[astm.f3411.v22a.NET0470,Table1,5](../../../../requirements/astm/f3411/v22a.md)**)

## Observed timestamp is consistent with injected one check
## ⚠️ Observed timestamp is consistent with injected one check

If the timestamp reported for an observation does not correspond to the injected one, the DP is not providing timely and accurate data and is thus in breach of **[astm.f3411.v22a.NET0450](../../../../requirements/astm/f3411/v22a.md)**

## Operational Status consistency with Common Dictionary check
## ⚠️ Operational Status consistency with Common Dictionary check

**[astm.f3411.v22a.NET0470](../../../../requirements/astm/f3411/v22a.md)** requires that Net-RID Display Provider shall provide access to required and optional fields to Remote ID Display Applications according to the Common Dictionary. This check validates that the Operational Status, if present, is valid. (**[astm.f3411.v22a.NET0470,Table1,7](../../../../requirements/astm/f3411/v22a.md)**)

## Current Position consistency with Common Dictionary check
## ⚠️ Current Position consistency with Common Dictionary check

**[astm.f3411.v22a.NET0470](../../../../requirements/astm/f3411/v22a.md)** requires that Net-RID Display Provider shall provide access to required and optional fields to Remote ID Display Applications according to the Common Dictionary. This check validates that the Current Position provided is valid. (**[astm.f3411.v22a.NET0470,Table1,10](../../../../requirements/astm/f3411/v22a.md)** and **[astm.f3411.v22a.NET0470,Table1,11](../../../../requirements/astm/f3411/v22a.md)**). If the observed Current Position do not contain valid latitude and longitude, this check will fail.
TODO: If the resolution is greater than 7 number digits, this check will fail.

## Observed Position is consistent with injected one check
## ⚠️ Observed Position is consistent with injected one check

If the Position reported for an observation does not correspond to the injected one, the DP is not providing timely and accurate data and is thus in breach of **[astm.f3411.v22a.NET0450](../../../../requirements/astm/f3411/v22a.md)**

## Height consistency with Common Dictionary check
## ⚠️ Height consistency with Common Dictionary check

**[astm.f3411.v22a.NET0470](../../../../requirements/astm/f3411/v22a.md)** requires that Net-RID Display Provider shall provide access to required and optional fields to Remote ID Display Applications according to the Common Dictionary. This check validates that the Height (**[astm.f3411.v22a.NET0470,Table1,14](../../../../requirements/astm/f3411/v22a.md)**), if present, is valid.

## Height is consistent with injected one check
## ⚠️ Height is consistent with injected one check

If the Height reported for an observation does not correspond to the injected one, the DP is not providing timely and accurate data and is thus in breach of **[astm.f3411.v22a.NET0450](../../../../requirements/astm/f3411/v22a.md)**

## Height Type consistency with Common Dictionary check
## ⚠️ Height Type consistency with Common Dictionary check

**[astm.f3411.v22a.NET0470](../../../../requirements/astm/f3411/v22a.md)** requires that Net-RID Display Provider shall provide access to required and optional fields to Remote ID Display Applications according to the Common Dictionary. This check validates that the Height Type (**[astm.f3411.v22a.NET0470,Table1,15](../../../../requirements/astm/f3411/v22a.md)**), if present, is valid. If the observed Height Type indicates a value different than Takeoff Location or Ground Level, this check will fail.

## Height Type is consistent with injected one check
## ⚠️ Height Type is consistent with injected one check

If the Height Type reported for an observation does not correspond to the injected one, the DP is not providing timely and accurate data and is thus in breach of **[astm.f3411.v22a.NET0450](../../../../requirements/astm/f3411/v22a.md)**

## Track Direction consistency with Common Dictionary check
## ⚠️ Track Direction consistency with Common Dictionary check

**[astm.f3411.v22a.NET0470](../../../../requirements/astm/f3411/v22a.md)** requires that Net-RID Display Provider shall provide access to required and optional fields to Remote ID Display Applications according to the Common Dictionary. This check validates that the Track Direction (**[astm.f3411.v22a.NET0470,Table1,19](../../../../requirements/astm/f3411/v22a.md)**) is valid. If the observed Track Direction is less than -359 or is greater than 359, except for the special value 361, this check will fail.

## Observed track is consistent with injected one check
## ⚠️ Observed track is consistent with injected one check

If the track reported for an observation does not correspond to the injected one, the DP is not providing timely and accurate data and is thus in breach of **[astm.f3411.v22a.NET0450](../../../../requirements/astm/f3411/v22a.md)**

## Speed consistency with Common Dictionary check
## ⚠️ Speed consistency with Common Dictionary check

**[astm.f3411.v22a.NET0470](../../../../requirements/astm/f3411/v22a.md)** requires that Net-RID Display Provider shall provide access to required and optional fields to Remote ID Display Applications according to the Common Dictionary. This check validates that the Speed (**[astm.f3411.v22a.NET0470,Table1,20](../../../../requirements/astm/f3411/v22a.md)**) is valid. If the observed Speed is negative or greater than 254.25, except for the special value 255, this check will fail.

## Observed speed is consistent with injected one check
## ⚠️ Observed speed is consistent with injected one check

If the speed reported for an observation does not correspond to the injected one, the DP is not providing timely and accurate data and is thus in breach of **[astm.f3411.v22a.NET0450](../../../../requirements/astm/f3411/v22a.md)**
Original file line number Diff line number Diff line change
Expand Up @@ -95,10 +95,10 @@ If the Vertical Speed value exposed by the SP API is inconsistent with the injec

**[astm.f3411.v22a.NET0260,Table1,14](../../../../requirements/astm/f3411/v22a.md)** requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. The reported height of the flight is unrealistic or otherwise not consistent with the injected data.

## Operational Status consistency with Common Dictionary check
## ⚠️ Operational Status consistency with Common Dictionary check

NET0260 requires that relevant Remote ID data, consistent with the common data dictionary, be reported by the Service Provider. This check validates that the Operational Status, if present, is valid. (**[astm.f3411.v22a.NET0260,Table1,7](../../../../requirements/astm/f3411/v22a.md)**)

## Operational Status is consistent with injected one check
## ⚠️ Operational Status is consistent with injected one check

If the Operational status reported for an observation does not correspond to the injected one, the DP is not providing timely and accurate data and is thus in breach of **[astm.f3411.v22a.NET0450](../../../../requirements/astm/f3411/v22a.md)**

0 comments on commit b73344e

Please sign in to comment.