[PATCH] Planner: simplify enough_gas comparison
Rick Walsh
rickmwalsh at gmail.com
Sun Oct 11 23:23:23 PDT 2015
The enough_gas function is used in recreational mode to determine that the
reserve gas is kept in reserve. A simple comparison of end pressure => reserve
pressure should suffice.
The existing/previous comparison includes deco_gas_used, double-counting the gas
used in the ascent/safety stop.
Signed-off-by: Rick Walsh <rickmwalsh at gmail.com>
---
As an example to check this, plan a dive to 15 m with EAN32 in a 12 l tank with working pressure 232 bar. Set reserve gas to 50 bar. SAC of 20 l/min. NDL is ~135 minutes with GF 60/80, so gas consumption will govern. Bottom time is 38 min, giving a total dive of 43 min including a 3 minute safety stop and ascent at 9 m/min. End cylinder pressure is 63 bar. 2033 l is used (169 bar), including 149 l (12 bar) on ascent.
With this simple patch, for this example the bottom time is extended an extra 3 minutes, and the ending pressure is 50 bar. 2183 l (182 bar) is used, including 149 l (12 bar) on ascent.
Robert, can you please check I'm not overlooking something?
planner.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/planner.c b/planner.c
index 05fd26e..26a6c44 100644
--- a/planner.c
+++ b/planner.c
@@ -946,7 +946,7 @@ bool enough_gas(int current_cylinder)
if (!cyl->start.mbar)
return true;
if (cyl->type.size.mliter)
- return (float) (cyl->end.mbar - prefs.reserve_gas) * cyl->type.size.mliter / 1000.0 > (float) cyl->deco_gas_used.mliter;
+ return cyl->end.mbar >= prefs.reserve_gas;
else
return true;
}
--
2.4.3
More information about the subsurface
mailing list