To start with: for a regular shooter what follows is perfectly useless. You have been warned.

Who may be interested then? – People who write their own ballistic calculators, or people who want to have an idea of how a particular bullet, according to manufacturer’s data, behaves in transonic.

It’s a Web application: https://bc.geladen.ch/getcdmach/getcdmach.html

Free, libre, and open source, as usual.

It takes the distance/velocity table in alt. 0 standard international atmosphere conditions as input, and produces a custom Cd/Mach curve corresponding to the projectile, along the lines of what the magnificent Lapua publish.

With this Cd/Mach curve it becomes possible to calculate trajectory in any atmosphere, and see how the bullet’s drag behaves in transonic region (if, of course, the source velocity data is available for this segment).

I have put it together for two reasons:

1. I got hold of a fairly large batch of RUAG .338LM Swiss P Ball 251gr ammo for a very good price. The ammo is great, practical short-range precision from a Sako TRG42 stays within 0.8 MOA average. But there is a problem: whatever BC data RUAG publishes is complete rubbish. Total garbage. Nothing to do with reality. Not even close.

I could, however, get hold of distance/velocity table (standard atmo conditions) from RUAG, presumably coming from Doppler radar measurements, and going all the way down to 1600m, which is not only enough to calculate the BC, but is particularly interesting for trans- and subsonic ranges, where standard models no longer work so well.

2. Our local Lapua dealer is out of 6.5 139gr Scenars, which is my go-to bullet for 6.5 CM (totally unsurprising, amazingly regular stuff, with perfectly predictable ballistics). After 6 month on pre-order, I started looking for alternatives. One alternative was Hornady. But there is a problem. Two problems.

2.1. From my experience, they can get rather "creative" with their BC values, especially for flagship long-range bullets.

2.2. Even though they measure their stuff with a Doppler radar, they do not publish the Cd curves – it’s all hidden in their "4DOF" calculator. WTF? Why would I need to use a separate proprietary ballistic setup for one specific bullet manufacturer? Why compilation of range cards for new ammo suddenly becomes a pain? And – last, but not least – WTF I need to "register" if I want to have reliable ballistic data for a product I have paid for? (With all this rant of mine, they are still doing much better than RUAG in this respect.)

Yet, the Hornady "4DOF" calculator’s results appear to be pretty accurate, without too much conflict with reality, and that was the last straw – I decided to invest a rainy day’s time into coding subj.

What the app does:

It calculates, by iteratively running a ballistic engine, the average drag over a segment with known start and end speeds, and produces a table of drag coefficients. Then the results are interpolated using least squares 2nd order polynomial regression over the neighbouring points, to even out rounding errors, and the final Cd/Mach table is established, ready to be visualised or integrated into a ballistic calculator.

Caution: don’t try to get too granular. A trajectory table with 50m/50yd step is perfectly enough. 100m is a bit too coarse, but works too. Don’t get lower than 25-30, since, especially at lower speeds, rounding errors result in drag underestimation.

For this same reason of rounding errors, below Mach 0.825-0.800, the drag is underestimated by 2-5%, but the resulting effect on the drop stays negligible. Below Mach 0.6-0.7or so, the values diverge, the resulting table gets totally wrong, and one should not trust the results (this said, I’d love to to speak to the person who has successfully shot through transonic down to Mach 0.6)

An illustrative example: using the app I reverse-engineered the velocity table produced by Hornady’s "4DOF" calculator for the Hornady 6.5mm ELD-M 147gr bullet, and integrated the resulting Cd/Mach curve into my calculator (https://bc.geladen.ch/plan33/plan33.html – caution: not for the metric-impared).

As the result, the outputs of plan33 and Hornady’s "4DOF", with 820 m/s muzzle velocity, all the way down to 2000m (roughly 2.2Kyd) concord to 2 m/s residual velocity, and 0.01 mrad (1/10th of a click) drop.

Incidentally, I also learned that this specific projectile is perhaps not the best fit for trans- and subsonic distances, due to a particularly prominent spike of drag around the wall of sound.

Now I know how RUAG .338 Swiss P Ball flies in transonic, now I can use Hornady bullets without bothering with their proprietary calculators. If anyone has a similar itch to scratch – you’re welcome.

Also, I feel like I must say that: Hornady, if you read me, not publishing drag curves when you have them is stupid, and now – useless.

The next step would be to find out what exactly Hornady do to the Cd curves with their "axial form factor" truing adjustments (which, contrary to muzzle velocity "truing", actually does work).

Rejoice, geek brothers, fun is ahead.

Who may be interested then? – People who write their own ballistic calculators, or people who want to have an idea of how a particular bullet, according to manufacturer’s data, behaves in transonic.

It’s a Web application: https://bc.geladen.ch/getcdmach/getcdmach.html

Free, libre, and open source, as usual.

**EDIT**: it all runs in your browser, there are no server-side components, F12 reveals the full source. For those who care, the full archive of the latest code release is here: https://bc.geladen.ch/source/getcdmach-latest.zipIt takes the distance/velocity table in alt. 0 standard international atmosphere conditions as input, and produces a custom Cd/Mach curve corresponding to the projectile, along the lines of what the magnificent Lapua publish.

With this Cd/Mach curve it becomes possible to calculate trajectory in any atmosphere, and see how the bullet’s drag behaves in transonic region (if, of course, the source velocity data is available for this segment).

I have put it together for two reasons:

1. I got hold of a fairly large batch of RUAG .338LM Swiss P Ball 251gr ammo for a very good price. The ammo is great, practical short-range precision from a Sako TRG42 stays within 0.8 MOA average. But there is a problem: whatever BC data RUAG publishes is complete rubbish. Total garbage. Nothing to do with reality. Not even close.

I could, however, get hold of distance/velocity table (standard atmo conditions) from RUAG, presumably coming from Doppler radar measurements, and going all the way down to 1600m, which is not only enough to calculate the BC, but is particularly interesting for trans- and subsonic ranges, where standard models no longer work so well.

2. Our local Lapua dealer is out of 6.5 139gr Scenars, which is my go-to bullet for 6.5 CM (totally unsurprising, amazingly regular stuff, with perfectly predictable ballistics). After 6 month on pre-order, I started looking for alternatives. One alternative was Hornady. But there is a problem. Two problems.

2.1. From my experience, they can get rather "creative" with their BC values, especially for flagship long-range bullets.

2.2. Even though they measure their stuff with a Doppler radar, they do not publish the Cd curves – it’s all hidden in their "4DOF" calculator. WTF? Why would I need to use a separate proprietary ballistic setup for one specific bullet manufacturer? Why compilation of range cards for new ammo suddenly becomes a pain? And – last, but not least – WTF I need to "register" if I want to have reliable ballistic data for a product I have paid for? (With all this rant of mine, they are still doing much better than RUAG in this respect.)

Yet, the Hornady "4DOF" calculator’s results appear to be pretty accurate, without too much conflict with reality, and that was the last straw – I decided to invest a rainy day’s time into coding subj.

What the app does:

It calculates, by iteratively running a ballistic engine, the average drag over a segment with known start and end speeds, and produces a table of drag coefficients. Then the results are interpolated using least squares 2nd order polynomial regression over the neighbouring points, to even out rounding errors, and the final Cd/Mach table is established, ready to be visualised or integrated into a ballistic calculator.

Caution: don’t try to get too granular. A trajectory table with 50m/50yd step is perfectly enough. 100m is a bit too coarse, but works too. Don’t get lower than 25-30, since, especially at lower speeds, rounding errors result in drag underestimation.

For this same reason of rounding errors, below Mach 0.825-0.800, the drag is underestimated by 2-5%, but the resulting effect on the drop stays negligible. Below Mach 0.6-0.7or so, the values diverge, the resulting table gets totally wrong, and one should not trust the results (this said, I’d love to to speak to the person who has successfully shot through transonic down to Mach 0.6)

An illustrative example: using the app I reverse-engineered the velocity table produced by Hornady’s "4DOF" calculator for the Hornady 6.5mm ELD-M 147gr bullet, and integrated the resulting Cd/Mach curve into my calculator (https://bc.geladen.ch/plan33/plan33.html – caution: not for the metric-impared).

As the result, the outputs of plan33 and Hornady’s "4DOF", with 820 m/s muzzle velocity, all the way down to 2000m (roughly 2.2Kyd) concord to 2 m/s residual velocity, and 0.01 mrad (1/10th of a click) drop.

Incidentally, I also learned that this specific projectile is perhaps not the best fit for trans- and subsonic distances, due to a particularly prominent spike of drag around the wall of sound.

Now I know how RUAG .338 Swiss P Ball flies in transonic, now I can use Hornady bullets without bothering with their proprietary calculators. If anyone has a similar itch to scratch – you’re welcome.

Also, I feel like I must say that: Hornady, if you read me, not publishing drag curves when you have them is stupid, and now – useless.

The next step would be to find out what exactly Hornady do to the Cd curves with their "axial form factor" truing adjustments (which, contrary to muzzle velocity "truing", actually does work).

Rejoice, geek brothers, fun is ahead.

Last edited: