Input validation for coordinate arrays and edge case handling
This module provides comprehensive validation for coordinate data to prevent silent failures and ensure robust plotting across all backends. Addresses Issue #436 - single point plotting failures.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | is_valid | = | .false. | ||
| logical, | public | :: | is_single_point | = | .false. | ||
| logical, | public | :: | is_empty | = | .false. | ||
| logical, | public | :: | has_precision_issues | = | .false. | ||
| logical, | public | :: | has_large_values | = | .false. | ||
| logical, | public | :: | should_use_markers | = | .false. | ||
| character(len=256), | public | :: | message | = | "" | ||
| character(len=32), | public | :: | suggested_marker | = | "" | 
Comprehensive validation of coordinate arrays for plotting Returns validation result with detailed information about the data
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | x(:) | |||
| real(kind=wp), | intent(in) | :: | y(:) | |||
| character(len=*), | intent(in), | optional | :: | context | 
Validate that coordinate values are finite and reasonable
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | x(:) | |||
| real(kind=wp), | intent(in) | :: | y(:) | |||
| type(coordinate_validation_result_t), | intent(inout) | :: | validation | 
Check if coordinates are too close together for reliable rendering
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | x(:) | |||
| real(kind=wp), | intent(in) | :: | y(:) | 
Check if arrays represent a valid single point
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | x(:) | |||
| real(kind=wp), | intent(in) | :: | y(:) | 
Check if arrays are empty
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | x(:) | |||
| real(kind=wp), | intent(in) | :: | y(:) | 
Suggest appropriate marker type for single point based on backend
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | backend_type |