Matplotlib-inspired streamplot implementation.
The overall algorithm is based on matplotlib streamplot.py, but this is not a line-for-line port. Small, intentional deviations exist (for example the minimum accepted streamline point count and fixed-size integration buffers).
Matplotlib-compatible streamplot implementation Based on matplotlib streamplot.py (not a line-for-line port)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | x(:) | |||
| real(kind=wp), | intent(in) | :: | y(:) | |||
| real(kind=wp), | intent(in) | :: | u(:,:) | |||
| real(kind=wp), | intent(in) | :: | v(:,:) | |||
| real(kind=wp), | intent(in), | optional | :: | density | ||
| real(kind=wp), | intent(out), | allocatable | :: | trajectories(:,:,:) | ||
| integer, | intent(out) | :: | n_trajectories | |||
| integer, | intent(out), | allocatable | :: | trajectory_lengths(:) | ||
| real(kind=wp), | intent(in), | optional | :: | rtol | ||
| real(kind=wp), | intent(in), | optional | :: | atol | ||
| real(kind=wp), | intent(in), | optional | :: | max_time |