CoolFace
Datasetpublic

josiecerrell/can-it-ford-speed-surface

Can It Ford: a (vehicle speed x flow velocity) load surface Hydrodynamic load on a passenger-car hull in a flooded roadway, measured as a function of two speeds kept as separate axes: the vehicle's speed over the ground, and the flow speed across the roadway. Status: PROVISIONAL, and deliberately not frozen This is a snapshot of an ensemble that is still being generated. A larger batch is running on the cluster at the time of writing and will add seeds and at… See the full description on the dataset page: https://huggingface.co/datasets/josiecerrell/can-it-ford-speed-surface.

sourceHugging Facecc-by-4.0updated 3d agoView on Hugging Face
0likes41downloads
Dataset Card

<!-- The configs block above is load-bearing, do not delete it. Without it the Hub auto-loader globs all four CSVs into ONE config, they have different schemas (35, 10, 7 and 4 columns), and the build fails with DatasetGenerationCastError: "All the data files must have the same columns, but at some point there are 35 new columns". The viewer then goes dark and the PREVIEW silently falls back to the smallest file, so a reader sees a 5-row summary table where the 368-row surface should be. Declaring one config per file is the fix. -->

Can It Ford: a (vehicle speed x flow velocity) load surface

Hydrodynamic load on a passenger-car hull in a flooded roadway, measured as a function of two speeds kept as separate axes: the vehicle's speed over the ground, and the flow speed across the roadway.

Status: PROVISIONAL, and deliberately not frozen

This is a snapshot of an ensemble that is still being generated. A larger batch is running on the cluster at the time of writing and will add seeds and at least one finer grid. Every figure below is reproducible from the pinned source recorded at the bottom of this card, and the counts will grow.

Nothing here is a placeholder: the numbers are measured, not estimated. But if you are comparing against a later version of this dataset and the ensemble sizes differ, the later one is the better one.

Read this before you read a number

The vehicle is PRESCRIBED, not free. It is a rigid signed-distance-field collider moved along a path. It cannot slide, tip, float or be swept away, because those degrees of freedom are exactly what the scene removes.

No FORD or NO-FORD verdict is derivable from this dataset. It reports a LOAD. Whether that load moves a real vehicle depends on tyre-road friction, suspension and wheel state, none of which are in this scene. See Limitations.

Torque in the source is about the collider centre, not the centre of gravity, and is not carried into this table for that reason.

Why this dataset exists

A 105-paper literature search commissioned for this question found that vehicle-wading studies "reduce stability to failure thresholds (e.g., depth or depth x velocity), not a continuous safe-speed surface resolving vehicle speed independently from current velocity". This dataset is that surface.

That characterisation of the literature is a secondary-source claim. The papers were not read for this card, and the sentence above is quoted from the search's own summary.

The result, in one comparison

If a single relative speed determined the load, then two runs sharing v_rel_mag_ms would carry the same force. They do not.

lower relative speedhigher relative speed
vcar, vwater (m/s)2.2, 3.04.5, 0.5
\v_rel\(m/s)3.7204.528
settled window, 5 seeds5177 +/- 4.0 N5675 +/- 13.0 N

Across nine ways of splitting one fixed relative speed, the load spans S = (max - min) / mean of 0.76 to 1.28, and S grows with speed: 1 m/s -> S=0.76, 2 m/s -> S=0.97, 3 m/s -> S=1.07, 4.5 m/s -> S=1.12, 6 m/s -> S=1.28.

Three spreads, and they are not the same size

Conflating them is the easiest way to misread this dataset.

spreadwhat variessizeis it an error bar?
seed5 seeds, one cell0.066 to 0.338 % (median 0.210)yes, and it is tiny
splithow one \v_rel\divides into vcar and vwater76 to 128 %no, this is the result
windowmeasurement window f20-60 vs f250-400-68.9 to +83.9 %no, it means the load is still changing

Error bars drawn from seed scatter would be invisible and would imply the other two spreads do not exist.

A ratio quoted without its window is not weak, it is unfalsifiable

An earlier version of the source write-up reported this pair as 2.3x from the transient window f20-60. That figure has since been WITHDRAWN by its own author and marked in place rather than deleted, so the error stays visible.

The pair recomputed in every arm that holds both cells:

armgridframes/discardwindowseedslower \v_rel\higher \v_rel\ratio
c3fullg6460/20transient18621.4 N3811.1 N2.2622
L2fullg64400/250settled15028.4 N5534.7 N0.9085
M1s*g64400/250settled55176.5 N5675.3 N0.9121
M2s*g96400/250settled25315.9 N6246.4 N0.8510

The transient arm discards 20 frames. This project's own settle audit found all 25 local runs need more than 8 discarded, minimum 29, median 48, so a 20-frame discard leaves a window that is still transient by the project's own criterion. The settled arms are the defensible ones.

The inversion is not one arm's opinion. It holds at 0.909 with one seed, 0.912 with five seeds at a different boundary-condition rate, and 0.851 on a finer grid, so it survives a change of seed, of BC rate, and of resolution. Per-cell seed spread is under 0.34 percent.

What this does NOT touch. The non-interchangeability result never rested on this pair, and the pair was always the weakest way to state it: the two cells differ in both variables and in \|vrel\|. The iso-\|vrel\| arcs hold relative speed exactly fixed and vary only the split, and that is where the result actually lives.

Reproducibility record

The same literature search reports that the field does not supply particle/grid counts, GPU model, wall time per simulated second, multi-GPU scaling or a runnable case in one place. So they are in one place here.

n_grid = 64n_grid = 96
water particles41,636 to 41,674164,351 to 164,382
cell size dx0.147215 m0.098143 m
water depth in cells2.0383.057
simulated time per run14.545 s13.333 s
mean wall clock per run6.07 s29.50 s
wall clock per simulated second0.417 s/s2.213 s/s
GPU memory usedabout 630 MiB(g128 is about 3 GB)
runs measured15620

Particle counts, dx and depth-in-cells are measured from the shipped table itself. The timings are from the source write-up.

Peak observed GPU memory across the whole session was 4,069 MiB of 97,871 MiB. Memory was never the binding constraint, and it is more useful to say so than to imply the card is reporting a limit that was approached.

  • GPU: NVIDIA GH200 120GB, driver 590.48.01, 97,871 MiB, TACC Vista, partition gh. ONE card. Single GPU, not multi-GPU.
  • Engine: warpmpm on NVIDIA Warp 1.15.0. NOT Genesis.
  • Rigid body: Yaris hull as an SDF collider at --sdf-res 32.

Two qualifications, both from the source write-up: the water particle count varies with the seed (41,636 to 41,649), and every timing was measured with up to four concurrent jobs sharing the one card, so each is an upper bound rather than a dedicated-card benchmark.

Limitations, without which the data overstates itself

  1. 1.Prescribed body. Stated above. This is the big one.
  2. 2.No wheels, no suspension, no rolling degree of freedom. The hull is a solidified particle cloud. Converting a load into a movement verdict needs a tyre-road coefficient that this scene does not contain, and the published values span a wide range across different conditions that must not be merged:
conditioncoefficientsource
free-rolling rolling resistance, handbrake disengagedmu_R = 0.0242 to 0.0250Nihei et al 2025
locked-wheel static, sand and gravel worst casemu_s ~ 0.30Smith, Modra and Felder 2019
locked-wheel static, wet AND dry concrete~0.78Smith, Modra and Felder 2019

Nihei et al 2025, "Full-scale experimental assessment of passenger vehicle stability in flooding flow", 10.1016/j.rineng.2025.107189. Title and standing checked against the Crossref record rather than assumed from a resolving link. It carries an erratum, 10.1016/j.rineng.2025.107527 (2025-10-01), which has not been read for this card; the figures above are from the original article. Not retracted. The same paper reports CD = 1.38 +/- 0.18 and that muR decays to about 40 percent of its initial maximum, so a criterion built on peak mu_R is unconservative.

Sliding friction and rolling resistance are different physical quantities; the span from 0.0242 to 0.78 is a factor of 32 across conditions, not a disagreement about one number. This project's own register records that quoting 0.30 as "the wet-road value" is refuted, and that Nihei's muR decays to about 40 percent of its initial maximum, so a criterion built on peak muR is unconservative.

  1. 1.Three hulls appear in the source table and they are not interchangeable. The canonical Yaris hull carries 327,212 vertices (655,308 faces), against Silverado meshes of 2,108 and 48,706 vertices, a ratio of 155x. The hull column separates them. Note the naming is misleading: the file called "yaris_coarse" has far more vertices than the mesh called Silverado "fine".
  2. 2.Resolution is characterised, not converged. An ngrid=96 surface (2 seeds per cell) differs from the five-seed ngrid=64 surface by -19.5 to +40.6 percent across 20 cells (median 5.0). The g96 seed spread is 0.026 to 0.515 percent, so the grid effect is far larger than the seed noise at either resolution. No grid-converged claim should be read off this dataset: two grids cannot establish convergence, and this project's own record shows the displacement measure is non-monotone under refinement.
  3. 3.`fz_settle_over_analytic_diagnostic` is a diagnostic, not a validation. It sits near 2.05 for the Yaris rows. Do not read it as a buoyancy check.
  4. 4.Depth is fixed at 0.3 m in every row. This is a two-speed surface, not a three-parameter one.

Files

  • load_surface.csv, 368 records, one per run.
  • surface_cells.csv, the 20-cell settled surface with per-cell mean, standard deviation and seed count.
  • iso_vrel_arcs.csv, the split spread at each measured \|v_rel\|.
  • window_comparison.csv, the same cells in both measurement windows.

Column notes

v_car_ms is the vehicle's speed over the ground along its own long axis. v_water_ms is the flow speed across the roadway, broadside to the vehicle. Both are ground-frame. v_rel_angle_deg_from_broadside is 0 when the relative velocity is purely broadside. force_horiz_mag_N is the magnitude of the time-mean horizontal reaction force, and equals hypot(force_mean_x_N, force_mean_y_N) to machine precision (verified on all 368 rows, worst relative mismatch 2.1e-16). family and family_role identify which experiment a row belongs to; do not pool families without reading family_note.

Provenance

Built from git blob 7eee079a7085c98e140ca61ea708ebb70003d71e (data/r9_speed_surface.tsv at commit 159bf7d in the development repository), pinned by content so it can be re-resolved.

No image, texture, HDRI or mesh is included: asset licence provenance for this project is unresolved, and the build refuses those paths rather than warning.