From 630ec88dd4a096fa39ad95b54a7dbfa760a212d9 Mon Sep 17 00:00:00 2001 From: Henrik Brautaset Aronsen Date: Sun, 22 Jun 2014 16:41:44 +0200 Subject: [PATCH] Be more consistent in partial pressure naming MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Lets just use pO₂ instead of PO2, ppO2, ppO₂, PO₂. They all mean the same, but it's better to be consistent Signed-off-by: Henrik Brautaset Aronsen Signed-off-by: Dirk Hohndel --- Documentation/user-manual.txt | 6 +++--- Documentation/user-manual_es.txt | 4 ++-- ReleaseNotes.txt | 12 ++++++------ deco.c | 24 ++++++++++++------------ parse-xml.c | 2 +- planner.c | 4 ++-- pref.h | 2 +- profile.c | 10 +++++----- qt-ui/diveplanner.cpp | 8 ++++---- qt-ui/models.cpp | 6 +++--- qt-ui/plannerSettings.ui | 4 ++-- qt-ui/preferences.cpp | 6 +++--- qt-ui/preferences.ui | 4 ++-- qt-ui/profile/diveeventitem.cpp | 2 +- qt-ui/profile/diveplotdatamodel.cpp | 8 ++++---- save-html.c | 4 ++-- subsurfacestartup.c | 2 +- terms | 5 ++--- uemis.c | 6 +++--- 19 files changed, 59 insertions(+), 60 deletions(-) diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt index 697df1190..19d80ec35 100644 --- a/Documentation/user-manual.txt +++ b/Documentation/user-manual.txt @@ -911,7 +911,7 @@ data, one record per line. CSV files can be opened with a normal text editor. Following is a highly simplified and shortened example of a CSV file from an APD rebreather: - Dive Time (s) Depth (m) PPO2 - Setpoint (Bar) PPO2 - C1 Cell + Dive Time (s) Depth (m) pO₂ - Setpoint (Bar) pO₂ - C1 Cell 1 (Bar) Ambient temp. (Celsius) 0 0.0 0.70 0.81 13.1 0 1.2 0.70 0.71 13.1 @@ -949,7 +949,7 @@ instance for the above example: Time: column 1 Depth: column 2 Temperature: column 5 - ppO2: column 4 + pO₂: column 4 Armed with this information, importing the data into _Subsurface_ is straightforward. Select @@ -1965,7 +1965,7 @@ specified in the _Preferences_ panel of _Subsurface_. been activated on the left part of the *Dive Profile* panel. - Ensure that the appropriate button(s) for the display of the partial pressures of gases -(PO2, PN2, PHe) have been activated on the left part of the *Dive Profile* panel. +(pO₂, pN₂, pHe) have been activated on the left part of the *Dive Profile* panel. The dive profile is shown in conjunction with the relevant dive ceiling. The dive profile should not closely approach the calculated ceiling. The partial gas pressures selected for diff --git a/Documentation/user-manual_es.txt b/Documentation/user-manual_es.txt index b9c302b5b..f65d92d80 100644 --- a/Documentation/user-manual_es.txt +++ b/Documentation/user-manual_es.txt @@ -866,7 +866,7 @@ a un registro por línea. Los archivos CSV pueden abrirse con cualquier editor d texto. A continuación un ejemplo muy simplificado y acortado de un archivo CSV de un rebreather aPD: - Dive Time (s) Depth (m) PPO2 - Setpoint (Bar) PPO2 - C1 ... + Dive Time (s) Depth (m) pO₂ - Setpoint (Bar) pO₂ - C1 ... 0 0.0 0.70 0.81 13.1 0 1.2 0.70 0.71 13.1 0 0.0 0.70 0.71 13.1 @@ -900,7 +900,7 @@ ejemplo anterior: Time: columna 1 Depth: columna 2 Temperature: columna 5 - ppO2: columna 4 + pO₂: columna 4 Armado con esta información, importar en _Subsurface_ es muy fácil. Selecciona _Importar→Importar CSV_ en el menú principal. Aparecerá el siguiente dialogo: diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt index 00cd5faa8..e3bbb7528 100644 --- a/ReleaseNotes.txt +++ b/ReleaseNotes.txt @@ -66,7 +66,7 @@ New in version 4.1 (compared to Subsurface 4.0.3): Known issues: - (Windows specific) Many Windows fonts don't support specific characters, - specifically subscript "2" (eg in pO2). New installations of Subsurface + specifically subscript "2" (eg in pO₂). New installations of Subsurface will automatically pick a font that contains this character, but if you had Subsurface installed on a specific system before, it likely has saved the previous font in its settings. In that case the best solution @@ -192,16 +192,16 @@ New in version 3.1 (compared to Subsurface 3.0.2): New in version 3.0.2 (compared to Subsurface 3.0.1): ---------------------------------------------------- -This update was mainly triggered by a bug in the handling of pO2 +This update was mainly triggered by a bug in the handling of pO₂ values read from CCR / rebreather dive computers. This bug can lead to incorrect data being stored in the Subsurface XML file. Installing Subsurface 3.0.2 and re-downloading the dives will correct the incorrect data. In order to re-download the dives connect your dive computer (this should only affect people with certain tec dive -computers like the Shearwater Petrel or Predator that store pO2 values -read from a pO2 sensor in their dive log), open the download dialog, +computers like the Shearwater Petrel or Predator that store pO₂ values +read from a pO₂ sensor in their dive log), open the download dialog, check the box "Force download of all dives" and download your -dives. After you save your data file the correct pO2 data should be +dives. After you save your data file the correct pO₂ data should be stored in the samples. If you are using one of those dive computers, have saved data files @@ -268,7 +268,7 @@ New in version 3.0 (compared to Subsurface 2.1): - TriMix support - CCR support (fixed or variable setpoint, on dive computers that support this) - - Optional pO2, pN2 and pHe graphs + - Optional pO₂, pN₂ and pHe graphs - CNS tracking for supported divecomputers - Lots of bug fixes diff --git a/deco.c b/deco.c index a94deec3a..f5ffb8958 100644 --- a/deco.c +++ b/deco.c @@ -177,8 +177,8 @@ double add_segment(double pressure, const struct gasmix *gasmix, int period_in_s { int ci; int fo2 = get_o2(gasmix), fhe = get_he(gasmix); - double ppn2 = (pressure - WV_PRESSURE) * (1000 - fo2 - fhe) / 1000.0; - double pphe = (pressure - WV_PRESSURE) * fhe / 1000.0; + double pn2 = (pressure - WV_PRESSURE) * (1000 - fo2 - fhe) / 1000.0; + double phe = (pressure - WV_PRESSURE) * fhe / 1000.0; if (buehlmann_config.gf_low_at_maxdepth && pressure > gf_low_pressure_this_dive) gf_low_pressure_this_dive = pressure; @@ -188,24 +188,24 @@ double add_segment(double pressure, const struct gasmix *gasmix, int period_in_s rel_o2_amb = ccpo2 / pressure / 1000; f_dilutent = (1 - rel_o2_amb) / (1 - fo2 / 1000.0); if (f_dilutent < 0) { /* setpoint is higher than ambient pressure -> pure O2 */ - ppn2 = 0.0; - pphe = 0.0; + pn2 = 0.0; + phe = 0.0; } else if (f_dilutent < 1.0) { - ppn2 *= f_dilutent; - pphe *= f_dilutent; + pn2 *= f_dilutent; + phe *= f_dilutent; } } for (ci = 0; ci < 16; ci++) { - double ppn2_oversat = ppn2 - tissue_n2_sat[ci]; - double pphe_oversat = pphe - tissue_he_sat[ci]; + double pn2_oversat = pn2 - tissue_n2_sat[ci]; + double phe_oversat = phe - tissue_he_sat[ci]; double n2_f = n2_factor(period_in_seconds, ci); double he_f = he_factor(period_in_seconds, ci); - double n2_satmult = ppn2_oversat > 0 ? buehlmann_config.satmult : buehlmann_config.desatmult; - double he_satmult = pphe_oversat > 0 ? buehlmann_config.satmult : buehlmann_config.desatmult; + double n2_satmult = pn2_oversat > 0 ? buehlmann_config.satmult : buehlmann_config.desatmult; + double he_satmult = phe_oversat > 0 ? buehlmann_config.satmult : buehlmann_config.desatmult; - tissue_n2_sat[ci] += n2_satmult * ppn2_oversat * n2_f; - tissue_he_sat[ci] += he_satmult * pphe_oversat * he_f; + tissue_n2_sat[ci] += n2_satmult * pn2_oversat * n2_f; + tissue_he_sat[ci] += he_satmult * phe_oversat * he_f; } return tissue_tolerance_calc(dive); } diff --git a/parse-xml.c b/parse-xml.c index 6abb788e3..3fb013d23 100644 --- a/parse-xml.c +++ b/parse-xml.c @@ -1727,7 +1727,7 @@ extern int dm4_events(void *handle, int columns, char **data, char **column) cur_event.name = strdup("OLF"); break; case 12: - /* 12 High ppO2 */ + /* 12 High pO₂ */ cur_event.name = strdup("PO2"); break; case 13: diff --git a/planner.c b/planner.c index 25fd4908b..43cd09056 100644 --- a/planner.c +++ b/planner.c @@ -116,14 +116,14 @@ int get_gasidx(struct dive *dive, struct gasmix *mix) return -1; } -double interpolate_transition(struct dive *dive, int t0, int t1, int d0, int d1, const struct gasmix *gasmix, int ppo2) +double interpolate_transition(struct dive *dive, int t0, int t1, int d0, int d1, const struct gasmix *gasmix, int po2) { int j; double tissue_tolerance = 0.0; for (j = t0; j < t1; j++) { int depth = interpolate(d0, d1, j - t0, t1 - t0); - tissue_tolerance = add_segment(depth_to_mbar(depth, dive) / 1000.0, gasmix, 1, ppo2, dive); + tissue_tolerance = add_segment(depth_to_mbar(depth, dive) / 1000.0, gasmix, 1, po2, dive); } return tissue_tolerance; } diff --git a/pref.h b/pref.h index 7eb3f566c..811ca3366 100644 --- a/pref.h +++ b/pref.h @@ -23,7 +23,7 @@ struct preferences { double font_size; partial_pressure_graphs_t pp_graphs; short mod; - double modppO2; + double modpO2; short ead; short dcceiling; short redceiling; diff --git a/profile.c b/profile.c index b40ef628c..ef0cb795f 100644 --- a/profile.c +++ b/profile.c @@ -1141,7 +1141,7 @@ static void calculate_gas_information_new(struct dive *dive, struct plot_info *p fhe = get_he(&dive->cylinder[cylinderindex].gasmix); if (entry->po2) { - /* we have an O2 partial pressure in the sample - so this + /* we have an O₂ partial pressure in the sample - so this * is likely a CC dive... use that instead of the value * from the cylinder info */ if (entry->po2 >= amb_pressure || fo2 == 1000) { @@ -1160,10 +1160,10 @@ static void calculate_gas_information_new(struct dive *dive, struct plot_info *p /* Calculate MOD, EAD, END and EADD based on partial pressures calculated before * so there is no difference in calculating between OC and CC - * END takes O2 + N2 (air) into account ("Narcotic" for trimix dives) - * EAD just uses N2 ("Air" for nitrox dives) */ - pressure_t modppO2 = { .mbar = (int) (prefs.modppO2 * 1000) }; - entry->mod = (double) gas_mod(&dive->cylinder[cylinderindex].gasmix, modppO2).mm; + * END takes O₂ + N₂ (air) into account ("Narcotic" for trimix dives) + * EAD just uses N₂ ("Air" for nitrox dives) */ + pressure_t modpO2 = { .mbar = (int) (prefs.modpO2 * 1000) }; + entry->mod = (double) gas_mod(&dive->cylinder[cylinderindex].gasmix, modpO2).mm; entry->end = (entry->depth + 10000) * (1000 - fhe) / 1000.0 - 10000; entry->ead = (entry->depth + 10000) * (1000 - fo2 - fhe) / (double)N2_IN_AIR - 10000; entry->eadd = (entry->depth + 10000) * diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp index 654a58031..e8542da74 100644 --- a/qt-ui/diveplanner.cpp +++ b/qt-ui/diveplanner.cpp @@ -600,11 +600,11 @@ bool DivePlannerPointsModel::addGas(struct gasmix mix) if (cylinder_nodata(cyl)) { fill_default_cylinder(cyl); cyl->gasmix = mix; - /* The depth to change to that gas is given by the depth where its pO2 is 1.6 bar. + /* The depth to change to that gas is given by the depth where its pO₂ is 1.6 bar. * The user should be able to change this depth manually. */ - pressure_t modppO2; - modppO2.mbar = 1600; - cyl->depth = gas_mod(&mix, modppO2); + pressure_t modpO2; + modpO2.mbar = 1600; + cyl->depth = gas_mod(&mix, modpO2); CylindersModel::instance()->setDive(stagingDive); return true; } diff --git a/qt-ui/models.cpp b/qt-ui/models.cpp index 09b737179..167f54813 100644 --- a/qt-ui/models.cpp +++ b/qt-ui/models.cpp @@ -249,9 +249,9 @@ bool CylindersModel::setData(const QModelIndex &index, const QVariant &value, in case O2: if (CHANGED()) { cyl->gasmix.o2 = string_to_fraction(vString.toUtf8().data()); - pressure_t modppO2; - modppO2.mbar = 1600; - cyl->depth = gas_mod(&cyl->gasmix, modppO2); + pressure_t modpO2; + modpO2.mbar = 1600; + cyl->depth = gas_mod(&cyl->gasmix, modpO2); changed = true; } break; diff --git a/qt-ui/plannerSettings.ui b/qt-ui/plannerSettings.ui index 7cb0c3572..547bd8124 100644 --- a/qt-ui/plannerSettings.ui +++ b/qt-ui/plannerSettings.ui @@ -65,14 +65,14 @@ - bottom ppO2 + bottom pO₂ - deco ppO2 + deco pO₂ diff --git a/qt-ui/preferences.cpp b/qt-ui/preferences.cpp index 768275d26..034d1be6f 100644 --- a/qt-ui/preferences.cpp +++ b/qt-ui/preferences.cpp @@ -54,7 +54,7 @@ void PreferencesDialog::setUiFromPrefs() ui.pheThreshold->setValue(prefs.pp_graphs.phe_threshold); ui.po2Threshold->setValue(prefs.pp_graphs.po2_threshold); ui.pn2Threshold->setValue(prefs.pp_graphs.pn2_threshold); - ui.maxppo2->setValue(prefs.modppO2); + ui.maxpo2->setValue(prefs.modpO2); ui.red_ceiling->setChecked(prefs.redceiling); ui.units_group->setEnabled(ui.personalize->isChecked()); @@ -187,7 +187,7 @@ void PreferencesDialog::syncSettings() s.setValue("phethreshold", ui.pheThreshold->value()); s.setValue("po2threshold", ui.po2Threshold->value()); s.setValue("pn2threshold", ui.pn2Threshold->value()); - s.setValue("modppO2", ui.maxppo2->value()); + s.setValue("modpO2", ui.maxpo2->value()); SB("redceiling", ui.red_ceiling); s.setValue("gflow", ui.gflow->value()); s.setValue("gfhigh", ui.gfhigh->value()); @@ -280,7 +280,7 @@ void PreferencesDialog::loadSettings() GET_DOUBLE("pn2threshold", pp_graphs.pn2_threshold); GET_DOUBLE("phethreshold", pp_graphs.phe_threshold); GET_BOOL("mod", mod); - GET_DOUBLE("modppO2", modppO2); + GET_DOUBLE("modpO2", modpO2); GET_BOOL("ead", ead); GET_BOOL("redceiling", redceiling); GET_BOOL("dcceiling", dcceiling); diff --git a/qt-ui/preferences.ui b/qt-ui/preferences.ui index 485577d33..db99ff1fc 100644 --- a/qt-ui/preferences.ui +++ b/qt-ui/preferences.ui @@ -633,12 +633,12 @@ true - max ppO₂ when showing MOD + max pO₂ when showing MOD - + true diff --git a/qt-ui/profile/diveeventitem.cpp b/qt-ui/profile/diveeventitem.cpp index 0a468d084..fc65f8e79 100644 --- a/qt-ui/profile/diveeventitem.cpp +++ b/qt-ui/profile/diveeventitem.cpp @@ -92,7 +92,7 @@ void DiveEventItem::setupToolTipString() } } else if (type == SAMPLE_EVENT_PO2 && name == "SP change") { // this is a bad idea - we are abusing an existing event type that is supposed to - // warn of high or low PO2 and are turning it into a set point change event + // warn of high or low pO₂ and are turning it into a set point change event name += "\n" + tr("Bailing out to OC"); } else { name += internalEvent->flags == SAMPLE_FLAGS_BEGIN ? tr(" begin", "Starts with space!") : diff --git a/qt-ui/profile/diveplotdatamodel.cpp b/qt-ui/profile/diveplotdatamodel.cpp index 2fe636a4b..08bcf11bd 100644 --- a/qt-ui/profile/diveplotdatamodel.cpp +++ b/qt-ui/profile/diveplotdatamodel.cpp @@ -104,7 +104,7 @@ QVariant DivePlotDataModel::headerData(int section, Qt::Orientation orientation, case CYLINDERINDEX: return tr("Cylinder Index"); case SENSOR_PRESSURE: - return tr("Pressure S"); + return tr("Pressure S"); case INTERPOLATED_PRESSURE: return tr("Pressure I"); case CEILING: @@ -112,11 +112,11 @@ QVariant DivePlotDataModel::headerData(int section, Qt::Orientation orientation, case SAC: return tr("SAC"); case PN2: - return tr("PN2"); + return tr("pN₂"); case PHE: - return tr("PHE"); + return tr("pHe"); case PO2: - return tr("PO2"); + return tr("pO₂"); } if (role == Qt::DisplayRole && section >= TISSUE_1 && section <= TISSUE_16) { return QString("Ceiling: %1").arg(section - TISSUE_1); diff --git a/save-html.c b/save-html.c index e77f79a43..ab1302e3f 100644 --- a/save-html.c +++ b/save-html.c @@ -33,9 +33,9 @@ static void put_cylinder_HTML(struct membuffer *b, struct dive *dive) put_pressure(b, cylinder->end, "\"EPressure\":\"", " bar\","); if (cylinder->gasmix.o2.permille) { - put_format(b, "\"O2\":\"%u.%u%%\",", FRACTION(cylinder->gasmix.o2.permille, 10)); + put_format(b, "\"O₂\":\"%u.%u%%\",", FRACTION(cylinder->gasmix.o2.permille, 10)); } else { - write_attribute(b, "O2", "--"); + write_attribute(b, "O₂", "--"); } put_string(b, "},"); } diff --git a/subsurfacestartup.c b/subsurfacestartup.c index 8566d194c..da9fc2358 100644 --- a/subsurfacestartup.c +++ b/subsurfacestartup.c @@ -16,7 +16,7 @@ struct preferences default_prefs = { .phe_threshold = 13.0, }, .mod = false, - .modppO2 = 1.6, + .modpO2 = 1.6, .ead = false, .hrgraph = true, .dcceiling = true, diff --git a/terms b/terms index 8e63864cb..b3a68c38c 100644 --- a/terms +++ b/terms @@ -18,9 +18,8 @@ CNS Central Nervous System Oxygen Toxicity - a maxCNS the highest CNS value during a dive -PO2, PN2, PHe These are all partial pressures of the three -PO₂, PN₂ gases Oxygen (O2 or O₂), Nitrogen (N2 or N₂) - and Helium (He). +pO₂, pN₂, pHe These are all partial pressures of the three + gases Oxygen (O₂), Nitrogen (N₂) and Helium (He). O₂%, He% The fraction of Oxygen and Helium in a gas. The partial pressure is therefore the pressure diff --git a/uemis.c b/uemis.c index 59f7057e9..bdffde0d5 100644 --- a/uemis.c +++ b/uemis.c @@ -200,12 +200,12 @@ static void uemis_event(struct dive *dive, struct divecomputer *dc, struct sampl if (flags[1] & 0x06) /* both bits 1 and 2 are a warning */ add_event(dc, sample->time.seconds, 0, 0, 0, QT_TRANSLATE_NOOP("gettextFromC", "Speed Warning")); if (flags[1] & 0x10) - add_event(dc, sample->time.seconds, 0, 0, 0, QT_TRANSLATE_NOOP("gettextFromC", "PO2 Green Warning")); + add_event(dc, sample->time.seconds, 0, 0, 0, QT_TRANSLATE_NOOP("gettextFromC", "pO₂ Green Warning")); #endif if (flags[1] & 0x20) - add_event(dc, sample->time.seconds, 0, 0, 0, QT_TRANSLATE_NOOP("gettextFromC", "PO2 Ascend Warning")); + add_event(dc, sample->time.seconds, 0, 0, 0, QT_TRANSLATE_NOOP("gettextFromC", "pO₂ Ascend Warning")); if (flags[1] & 0x40) - add_event(dc, sample->time.seconds, 0, 0, 0, QT_TRANSLATE_NOOP("gettextFromC", "PO2 Ascend Alarm")); + add_event(dc, sample->time.seconds, 0, 0, 0, QT_TRANSLATE_NOOP("gettextFromC", "pO₂ Ascend Alarm")); /* flags[2] reflects the deco / time bar * flags[3] reflects more display details on deco and pO2 */ if (flags[4] & 0x01)