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 |